Merge pull request #4991 from neilLasrado/develop
Fixed Production Planning Tool
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
index c628cb5..9bfc5be 100755
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -120,103 +120,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "address_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_mobile",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mobile No",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_email",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Email",
- "length": 0,
- "no_copy": 0,
- "options": "Email",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
"fieldname": "column_break1",
"fieldtype": "Column Break",
"hidden": 0,
@@ -428,6 +331,254 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
+ "fieldname": "section_addresses",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address and Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Select Supplier Address",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_person",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Contact Person",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Contact",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "address_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_mobile",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mobile No",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_email",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Email",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break_address",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "shipping_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Select Shipping Address",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "shipping_address_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Shipping Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
"fieldname": "currency_and_price_list",
"fieldtype": "Section Break",
"hidden": 0,
@@ -1825,106 +1976,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
- "depends_on": "supplier",
- "fieldname": "contact_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Details",
- "length": 0,
- "no_copy": 0,
- "options": "icon-bullhorn",
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier_address",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier Address",
- "length": 0,
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "col_break23",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
- "width": "50%"
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_person",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Person",
- "length": 0,
- "no_copy": 0,
- "options": "Contact",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
"fieldname": "printing_settings",
"fieldtype": "Section Break",
"hidden": 0,
@@ -2641,7 +2692,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2016-03-14 19:01:39.694265",
+ "modified": "2016-03-16 15:02:51.511069",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Invoice",
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index 2946184..89af721 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -383,7 +383,7 @@
//--------------------------
cur_frm.fields_dict['project'].get_query = function(doc, cdt, cdn) {
return{
- query: "erpnext.controllers.queries.get_project",
+ query: "erpnext.controllers.queries.get_project_name",
filters: {'customer': doc.customer}
}
}
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
index f833ff3..69c88ed 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
@@ -31,16 +31,11 @@
{% for(var i=0, l=data.length; i<l; i++) { %}
<tr>
{% if(__(report.report_name) == "Accounts Receivable" || __(report.report_name) == "Accounts Payable") { %}
- {% if(data[i][__("Posting Date")]) { %}
+ {% if(data[i][__("Customer")] || data[i][__("Supplier")]) { %}
<td>{%= dateutil.str_to_user(data[i][__("Posting Date")]) %}</td>
<td>{%= data[i][__("Voucher Type")] %}
<br>{%= data[i][__("Voucher No")] %}</td>
<td>{%= data[i][__("Customer Name")] || data[i][__("Customer")] || data[i][__("Supplier Name")] || data[i][__("Supplier")] %}
- {% if(__(report.report_name) == "Accounts Receivable") { %}
- <br>{%= __("Territory") %}: {%= data[i][__("Territory")] %}
- {% } else { %}
- <br>{%= __("Supplier Type") %}: {%= data[i][__("Supplier Type")] %}
- {% } %}
<br>{%= __("Remarks") %}: {%= data[i][__("Remarks")] %}</td>
<td style="text-align: right">{%= format_currency(data[i][__("Invoiced Amount")]) %}</td>
<td style="text-align: right">{%= format_currency(data[i][__("Paid Amount")]) %}</td>
@@ -48,23 +43,22 @@
{% } else { %}
<td></td>
<td></td>
- <td><b>{%= data[i][__("Customer")] || data[i][__("Supplier")] || " " %}</b></td>
+ <td><b>{%= __("Total") %}</b></td>
<td style="text-align: right">
- {%= data[i][__("Account")] && format_currency(data[i][__("Invoiced Amount")]) %}</td>
+ {%= format_currency(data[i][__("Invoiced Amount")]) %}</td>
<td style="text-align: right">
- {%= data[i][__("Account")] && format_currency(data[i][__("Paid Amount")]) %}</td>
+ {%= format_currency(data[i][__("Paid Amount")]) %}</td>
<td style="text-align: right">
- {%= data[i][__("Account")] && format_currency(data[i][__("Outstanding Amount")]) %}</td>
+ {%= format_currency(data[i][__("Outstanding Amount")]) %}</td>
{% } %}
{% } else { %}
{% if(data[i][__("Customer")] || data[i][__("Supplier")]|| " ") { %}
- <td>{%= data[i][__("Customer")] || data[i][__("Supplier")] %}
- {% if(__(report.report_name) == "Accounts Receivable Summary") { %}
- <br>{%= __("Territory") %}: {%= data[i][__("Territory")] %}
- {% } else { %}
- <br>{%= __("Supplier Type") %}: {%= data[i][__("Supplier Type")] %}
- {% } %}
+ {% if((data[i][__("Customer")] || data[i][__("Supplier")]) != __("'Total'")) { %}
+ <td>{%= data[i][__("Customer")] || data[i][__("Supplier")] %}
<br>{%= __("Remarks") %}: {%= data[i][__("Remarks")] %}</td>
+ {% } else { %}
+ <td><b>{%= __("Total") %}</b></td>
+ {% } %}
<td style="text-align: right">{%= format_currency(data[i][__("Total Invoiced Amt")]) %}</td>
<td style="text-align: right">{%= format_currency(data[i][__("Total Paid Amt")]) %}</td>
<td style="text-align: right">{%= format_currency(data[i][__("Total Outstanding Amt")]) %}</td>
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index 213dba4..26b4221 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -170,6 +170,38 @@
this.frm.add_custom_button(__("Product Bundle"), function() {
erpnext.buying.get_items_from_product_bundle(me.frm);
}, __("Get items from"));
+ },
+
+ company: function() {
+ var me = this;
+ if (!this.frm.doc.shipping_address) {
+ erpnext.utils.get_shipping_address(this.frm)
+ }
+ },
+
+ shipping_address: function(){
+ var me = this;
+
+ this.frm.set_query("shipping_address", function(){
+ if(me.frm.doc.customer){
+ return{
+ filters:{
+ "customer": me.frm.doc.customer
+ }
+ }
+ }
+ else{
+ return{
+ filters:{
+ "is_your_company_address": 1,
+ "company": me.frm.doc.company
+ }
+ }
+ }
+ });
+
+ erpnext.utils.get_address_display(this.frm, "shipping_address",
+ "shipping_address_display", is_your_company_address=true)
}
});
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
index cf2aecc..617beff 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.js
@@ -43,11 +43,8 @@
if(flt(doc.per_billed, 2) < 100 || doc.per_received < 100) {
cur_frm.add_custom_button(__('Close'), this.close_purchase_order, __("Status"));
}
-
-
}
-
if(is_drop_ship && doc.status!="Delivered"){
cur_frm.add_custom_button(__('Delivered'),
this.delivered_by_supplier, __("Status"));
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index d7136d2..6c2fc79 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -195,104 +195,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "depends_on": "",
- "fieldname": "address_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_mobile",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mobile No",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_email",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Email",
- "length": 0,
- "no_copy": 0,
- "options": "Email",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
"fieldname": "column_break1",
"fieldtype": "Column Break",
"hidden": 0,
@@ -504,33 +406,6 @@
"bold": 0,
"collapsible": 0,
"depends_on": "",
- "fieldname": "customer_address",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Customer Address",
- "length": 0,
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
"fieldname": "customer_contact_person",
"fieldtype": "Link",
"hidden": 0,
@@ -557,31 +432,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "customer_address_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Customer Address Display",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
"fieldname": "customer_contact_display",
"fieldtype": "Small Text",
"hidden": 1,
@@ -658,6 +508,254 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
+ "fieldname": "section_addresses",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address and Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Select Supplier Address",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_person",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Contact Person",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Contact",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "address_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_mobile",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mobile No",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_email",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Email",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break_address",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "shipping_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Select Shipping Address",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "shipping_address_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Shipping Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
"fieldname": "currency_and_price_list",
"fieldtype": "Section Break",
"hidden": 0,
@@ -1849,105 +1947,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
- "depends_on": "supplier",
- "fieldname": "contact_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Details",
- "length": 0,
- "no_copy": 0,
- "options": "icon-bullhorn",
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier_address",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Supplier Address",
- "length": 0,
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "cb_contact",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_person",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Contact Person",
- "length": 0,
- "no_copy": 0,
- "options": "Contact",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
"fieldname": "more_info",
"fieldtype": "Section Break",
"hidden": 0,
@@ -2694,7 +2693,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2016-03-14 19:00:26.271371",
+ "modified": "2016-03-16 15:35:21.382861",
"modified_by": "Administrator",
"module": "Buying",
"name": "Purchase Order",
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
index 7ad1c89..6466643 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
@@ -143,103 +143,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "address_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_mobile",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mobile No",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_email",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Email",
- "length": 0,
- "no_copy": 0,
- "options": "Email",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
"fieldname": "column_break1",
"fieldtype": "Column Break",
"hidden": 0,
@@ -347,6 +250,178 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
+ "fieldname": "address_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address and Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Supplier Address",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_person",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Contact Person",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Contact",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "address_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_mobile",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mobile No",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_email",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Email",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Email",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
"fieldname": "currency_and_price_list",
"fieldtype": "Section Break",
"hidden": 0,
@@ -1491,82 +1566,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
- "depends_on": "supplier",
- "fieldname": "contact_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Details",
- "length": 0,
- "no_copy": 0,
- "options": "icon-bullhorn",
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier_address",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Supplier Address",
- "length": 0,
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_person",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Contact Person",
- "length": 0,
- "no_copy": 0,
- "options": "Contact",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
"fieldname": "printing_settings",
"fieldtype": "Section Break",
"hidden": 0,
@@ -1781,7 +1780,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2016-03-04 00:56:36.066372",
+ "modified": "2016-03-16 15:36:05.481917",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier Quotation",
diff --git a/erpnext/buying/print_format/drop_shipping_format/drop_shipping_format.json b/erpnext/buying/print_format/drop_shipping_format/drop_shipping_format.json
index cd2e826..0c7cad6 100644
--- a/erpnext/buying/print_format/drop_shipping_format/drop_shipping_format.json
+++ b/erpnext/buying/print_format/drop_shipping_format/drop_shipping_format.json
@@ -6,9 +6,9 @@
"docstatus": 0,
"doctype": "Print Format",
"font": "Default",
- "html": "<div class=\"page-break\">\n <div class=\"print-heading\">\n\t\t<h2>Purchase Order<br>\n\t <small>{{doc.name}}</small>\n </h2>\n </div>\n <div class=\"row section-break\">\n <div class=\"col-xs-6 column-break\">\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Supplier Name</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.supplier_name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{% if doc.address_display %}\n\t <div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t\t<label>Address</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t\t{{doc.address_display}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t{%- endif -%}\n\t\t\t\t{% if doc.contact_display %}\n\t <div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t\t<label>Contact</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t\t{{doc.contact_display}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t{%- endif -%}\n\t\t\t\t{% if doc.contact_mobile %}\n\t <div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t\t<label>Mobile No</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t\t{{doc.contact_mobile}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t{%- endif -%}\n </div>\n \n <div class=\"col-xs-6 column-break\">\n <div class=\"row\">\n\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t<label>Date</label>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t{{doc.transaction_date}}\n\t\t\t\t</div>\n\t\t\t</div>\n <div class=\"row\">\n\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t<label>Customer Name</label>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t{{doc.customer_name}}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{% if doc.customer_address_display %}\n\t <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Customer Address</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.customer_address_display}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t{%- endif -%}\n\t\t\t{% if doc.customer_contact_display %}\n\t <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Customer Contact</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.customer_contact_display}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t{%- endif -%}\n\t\t\t{% if doc.customer_contact_mobile %}\n\t <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Customer Mobile No</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.customer_contact_mobile}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t{%- endif -%}\n </div>\n </div>\n\t<table class=\"table table-bordered\">\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<th>Sr</th>\n\t\t\t\t<th>Item Name</th>\n\t\t\t\t<th>Description</th>\n\t\t\t\t<th class=\"text-right\">Qty</th>\n\t\t\t\t<th class=\"text-right\">Rate</th>\n\t\t\t\t<th class=\"text-right\">Amount</th>\n\t\t\t</tr>\n\t\t\t{%- for row in doc.items -%}\n\t\t\t<tr>\n\t\t\t\t<td style=\"width: 3%;\">{{ row.idx }}</td>\n\t\t\t\t<td style=\"width: 20%;\">\n\t\t\t\t\t{{ row.item_name }}\n\t\t\t\t\t{% if row.item_code != row.item_name -%}\n\t\t\t\t\t<br>Item Code: {{ row.item_code}}\n\t\t\t\t\t{%- endif %}\n\t\t\t\t</td>\n\t\t\t\t<td style=\"width: 37%;\">\n\t\t\t\t\t<div style=\"border: 0px;\">{{ row.description }}</div></td>\n\t\t\t\t<td style=\"width: 10%; text-align: right;\">{{ row.qty }} {{ row.uom or row.stock_uom }}</td>\n\t\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n\t\t\t\t\trow.get_formatted(\"rate\", doc) }}</td>\n\t\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n\t\t\t\t\trow.get_formatted(\"amount\", doc) }}</td>\n\t\t\t</tr>\n\t\t\t{%- endfor -%}\n\t\t</tbody>\n\t</table>\n <div class=\"row section-break\">\n <div class=\"col-xs-6 column-break\">\n </div>\n <div class=\"col-xs-6 column-break\">\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Total</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 text-right value\">\n\t\t\t\t\t\t{{doc.total}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Grand Total</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 text-right value\">\n\t\t\t\t\t\t{{doc.grand_total}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>In Words</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 text-right value\">\n\t\t\t\t\t\t{{doc.in_words}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n </div>\n </div>\n</div>",
+ "html": "<div class=\"page-break\">\n <div class=\"print-heading\">\n\t\t<h2>Purchase Order<br>\n\t <small>{{doc.name}}</small>\n </h2>\n </div>\n <div class=\"row section-break\">\n <div class=\"col-xs-6 column-break\">\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Supplier Name</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.supplier_name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{% if doc.address_display %}\n\t <div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t\t<label>Address</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t\t{{doc.address_display}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t{%- endif -%}\n\t\t\t\t{% if doc.contact_display %}\n\t <div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t\t<label>Contact</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t\t{{doc.contact_display}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t{%- endif -%}\n\t\t\t\t{% if doc.contact_mobile %}\n\t <div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t\t<label>Mobile No</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t\t{{doc.contact_mobile}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t{%- endif -%}\n </div>\n \n <div class=\"col-xs-6 column-break\">\n <div class=\"row\">\n\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t<label>Date</label>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t{{doc.transaction_date}}\n\t\t\t\t</div>\n\t\t\t</div>\n <div class=\"row\">\n\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t<label>Customer Name</label>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t{{doc.customer_name}}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{% if doc.shipping_address_display %}\n\t <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Customer Address</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.shipping_address_display}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t{%- endif -%}\n\t\t\t{% if doc.customer_contact_display %}\n\t <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Customer Contact</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.customer_contact_display}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t{%- endif -%}\n\t\t\t{% if doc.customer_contact_mobile %}\n\t <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Customer Mobile No</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 value\">\n\t\t\t\t\t\t{{doc.customer_contact_mobile}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t{%- endif -%}\n </div>\n </div>\n\t<table class=\"table table-bordered\">\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<th>Sr</th>\n\t\t\t\t<th>Item Name</th>\n\t\t\t\t<th>Description</th>\n\t\t\t\t<th class=\"text-right\">Qty</th>\n\t\t\t\t<th class=\"text-right\">Rate</th>\n\t\t\t\t<th class=\"text-right\">Amount</th>\n\t\t\t</tr>\n\t\t\t{%- for row in doc.items -%}\n\t\t\t<tr>\n\t\t\t\t<td style=\"width: 3%;\">{{ row.idx }}</td>\n\t\t\t\t<td style=\"width: 20%;\">\n\t\t\t\t\t{{ row.item_name }}\n\t\t\t\t\t{% if row.item_code != row.item_name -%}\n\t\t\t\t\t<br>Item Code: {{ row.item_code}}\n\t\t\t\t\t{%- endif %}\n\t\t\t\t</td>\n\t\t\t\t<td style=\"width: 37%;\">\n\t\t\t\t\t<div style=\"border: 0px;\">{{ row.description }}</div></td>\n\t\t\t\t<td style=\"width: 10%; text-align: right;\">{{ row.qty }} {{ row.uom or row.stock_uom }}</td>\n\t\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n\t\t\t\t\trow.get_formatted(\"rate\", doc) }}</td>\n\t\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n\t\t\t\t\trow.get_formatted(\"amount\", doc) }}</td>\n\t\t\t</tr>\n\t\t\t{%- endfor -%}\n\t\t</tbody>\n\t</table>\n <div class=\"row section-break\">\n <div class=\"col-xs-6 column-break\">\n </div>\n <div class=\"col-xs-6 column-break\">\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Total</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 text-right value\">\n\t\t\t\t\t\t{{doc.total}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>Grand Total</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 text-right value\">\n\t\t\t\t\t\t{{doc.grand_total}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n <div class=\"row\">\n\t\t\t\t\t<div class=\"col-xs-5 text-right\">\n\t\t\t\t\t\t<label>In Words</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-xs-7 text-right value\">\n\t\t\t\t\t\t{{doc.in_words}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n </div>\n </div>\n</div>",
"idx": 0,
- "modified": "2015-12-04 13:47:55.157482",
+ "modified": "2016-03-07 20:49:39.443328",
"modified_by": "Administrator",
"name": "Drop Shipping Format",
"owner": "Administrator",
diff --git a/erpnext/config/accounts.py b/erpnext/config/accounts.py
index e243cf1..bbc8671 100644
--- a/erpnext/config/accounts.py
+++ b/erpnext/config/accounts.py
@@ -4,16 +4,10 @@
def get_data():
return [
{
- "label": _("Documents"),
- "icon": "icon-star",
+ "label": _("Billing"),
"items": [
{
"type": "doctype",
- "name": "Journal Entry",
- "description": _("Accounting journal entries.")
- },
- {
- "type": "doctype",
"name": "Sales Invoice",
"description": _("Bills raised to Customers.")
},
@@ -24,6 +18,59 @@
},
{
"type": "doctype",
+ "name": "Payment Request",
+ "description": _("Payment Request")
+ },
+ {
+ "type": "report",
+ "name": "Accounts Receivable",
+ "doctype": "Sales Invoice",
+ "is_query_report": True
+ },
+ {
+ "type": "report",
+ "name": "Accounts Payable",
+ "doctype": "Purchase Invoice",
+ "is_query_report": True
+ },
+ ]
+
+ },
+ {
+ "label": _("Company and Accounts"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Company",
+ "description": _("Company (not Customer or Supplier) master.")
+ },
+ {
+ "type": "doctype",
+ "name": "Journal Entry",
+ "description": _("Accounting journal entries.")
+ },
+ {
+ "type": "page",
+ "name": "Accounts Browser",
+ "icon": "icon-sitemap",
+ "label": _("Chart of Accounts"),
+ "route": "Accounts Browser/Account",
+ "description": _("Tree of financial accounts."),
+ "doctype": "Account",
+ },
+ {
+ "type": "report",
+ "name":"General Ledger",
+ "doctype": "GL Entry",
+ "is_query_report": True,
+ },
+ ]
+ },
+ {
+ "label": _("Masters"),
+ "items": [
+ {
+ "type": "doctype",
"name": "Customer",
"description": _("Customer database.")
},
@@ -34,95 +81,78 @@
},
{
"type": "doctype",
- "name": "Payment Request",
- "description": _("Payment Request")
- },
- {
- "type": "page",
- "name": "Accounts Browser",
- "icon": "icon-sitemap",
- "label": _("Chart of Accounts"),
- "route": "Accounts Browser/Account",
- "description": _("Tree of financial accounts."),
- "doctype": "Account",
+ "name": "Item",
},
]
},
{
- "label": _("Tools"),
- "icon": "icon-wrench",
+ "label": _("Accounting Statements"),
"items": [
{
- "type": "doctype",
- "name": "Bank Reconciliation",
- "description": _("Update bank payment dates with journals.")
+ "type": "report",
+ "name": "Trial Balance",
+ "doctype": "GL Entry",
+ "is_query_report": True,
},
{
- "type": "doctype",
- "name": "Payment Reconciliation",
- "description": _("Match non-linked Invoices and Payments.")
+ "type": "report",
+ "name": "Balance Sheet",
+ "doctype": "GL Entry",
+ "is_query_report": True
},
{
- "type": "doctype",
- "name": "Period Closing Voucher",
- "description": _("Close Balance Sheet and book Profit or Loss.")
+ "type": "report",
+ "name": "Cash Flow",
+ "doctype": "GL Entry",
+ "is_query_report": True
},
{
+ "type": "report",
+ "name": "Profit and Loss Statement",
+ "doctype": "GL Entry",
+ "is_query_report": True
+ },
+ ]
+ },
+ {
+ "label": _("Banking and Payments"),
+ "items": [
+ {
"type": "doctype",
"name": "Payment Tool",
"description": _("Create Payment Entries against Orders or Invoices.")
},
+ {
+ "type": "doctype",
+ "label": _("Update Bank Transaction Dates"),
+ "name": "Bank Reconciliation",
+ "description": _("Update bank payment dates with journals.")
+ },
+ {
+ "type": "doctype",
+ "label": _("Match Payments with Invoices"),
+ "name": "Payment Reconciliation",
+ "description": _("Match non-linked Invoices and Payments.")
+ },
+ {
+ "type": "report",
+ "name": "Bank Reconciliation Statement",
+ "is_query_report": True,
+ "doctype": "Journal Entry"
+ },
+ {
+ "type": "report",
+ "name": "Bank Clearance Summary",
+ "is_query_report": True,
+ "doctype": "Journal Entry"
+ },
]
},
{
- "label": _("Setup"),
- "icon": "icon-cog",
+ "label": _("Taxes"),
"items": [
{
"type": "doctype",
- "name": "Company",
- "description": _("Company (not Customer or Supplier) master.")
- },
- {
- "type": "doctype",
- "name": "Fiscal Year",
- "description": _("Financial / accounting year.")
- },
- {
- "type": "doctype",
- "name": "Payment Gateway Account",
- "description": _("Setup Gateway accounts.")
- },
- {
- "type": "page",
- "name": "Accounts Browser",
- "icon": "icon-sitemap",
- "label": _("Chart of Accounts"),
- "route": "Accounts Browser/Account",
- "description": _("Tree of financial accounts."),
- "doctype": "Account",
- },
- {
- "type": "page",
- "name": "Accounts Browser",
- "icon": "icon-sitemap",
- "label": _("Chart of Cost Centers"),
- "route": "Accounts Browser/Cost Center",
- "description": _("Tree of financial Cost Centers."),
- "doctype": "Cost Center",
- },
- {
- "type": "doctype",
- "name": "Accounts Settings",
- "description": _("Default settings for accounting transactions.")
- },
- {
- "type": "doctype",
- "name": "Tax Rule",
- "description": _("Tax Rule for transactions.")
- },
- {
- "type": "doctype",
"name": "Sales Taxes and Charges Template",
"description": _("Tax template for selling transactions.")
},
@@ -133,19 +163,71 @@
},
{
"type": "doctype",
- "name": "POS Profile",
- "label": _("Point-of-Sale Profile"),
- "description": _("Rules to calculate shipping amount for a sale")
+ "name": "Tax Rule",
+ "description": _("Tax Rule for transactions.")
+ },
+ {
+ "type": "report",
+ "name": "Sales Register",
+ "doctype": "Sales Invoice",
+ "is_query_report": True
+ },
+ {
+ "type": "report",
+ "name": "Purchase Register",
+ "doctype": "Purchase Invoice",
+ "is_query_report": True
+ },
+ ]
+ },
+ {
+ "label": _("Budget and Cost Center"),
+ "items": [
+ {
+ "type": "page",
+ "name": "Accounts Browser",
+ "icon": "icon-sitemap",
+ "label": _("Chart of Cost Centers"),
+ "route": "Accounts Browser/Cost Center",
+ "description": _("Tree of financial Cost Centers."),
+ "doctype": "Cost Center",
+ },
+ {
+ "type": "report",
+ "name": "Budget Variance Report",
+ "is_query_report": True,
+ "doctype": "Cost Center"
+ },
+ {
+ "type":"doctype",
+ "name": "Monthly Distribution",
+ "description": _("Seasonality for setting budgets, targets etc.")
+ },
+ ]
+ },
+ {
+ "label": _("Tools"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Period Closing Voucher",
+ "description": _("Close Balance Sheet and book Profit or Loss.")
+ },
+ ]
+ },
+ {
+ "label": _("Setup"),
+ "icon": "icon-cog",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Accounts Settings",
+ "description": _("Default settings for accounting transactions.")
},
{
"type": "doctype",
- "name": "Shipping Rule",
- "description": _("Rules for adding shipping costs.")
- },
- {
- "type": "doctype",
- "name": "Pricing Rule",
- "description": _("Rules for applying pricing and discount.")
+ "name": "Fiscal Year",
+ "description": _("Financial / accounting year.")
},
{
"type": "doctype",
@@ -158,9 +240,15 @@
"description": _("Currency exchange rate master.")
},
{
- "type":"doctype",
- "name": "Monthly Distribution",
- "description": _("Seasonality for setting budgets, targets etc.")
+ "type": "doctype",
+ "name": "Payment Gateway Account",
+ "description": _("Setup Gateway accounts.")
+ },
+ {
+ "type": "doctype",
+ "name": "POS Profile",
+ "label": _("Point-of-Sale Profile"),
+ "description": _("Rules to calculate shipping amount for a sale")
},
{
"type": "doctype",
@@ -182,95 +270,10 @@
]
},
{
- "label": _("Main Reports"),
- "icon": "icon-table",
+ "label": _("To Bill"),
"items": [
{
"type": "report",
- "name":"General Ledger",
- "doctype": "GL Entry",
- "is_query_report": True,
- },
- {
- "type": "report",
- "name": "Trial Balance",
- "doctype": "GL Entry",
- "is_query_report": True,
- },
- {
- "type": "report",
- "name": "Trial Balance for Party",
- "doctype": "GL Entry",
- "is_query_report": True,
- },
- {
- "type": "report",
- "name": "Gross Profit",
- "doctype": "Sales Invoice",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Accounts Receivable",
- "doctype": "Sales Invoice",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Accounts Payable",
- "doctype": "Purchase Invoice",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Sales Register",
- "doctype": "Sales Invoice",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Purchase Register",
- "doctype": "Purchase Invoice",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Balance Sheet",
- "doctype": "GL Entry",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Cash Flow",
- "doctype": "GL Entry",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Profit and Loss Statement",
- "doctype": "GL Entry",
- "is_query_report": True
- },
- {
- "type": "page",
- "name": "financial-analytics",
- "label": _("Financial Analytics"),
- "icon": "icon-bar-chart",
- }
- ]
- },
- {
- "label": _("Standard Reports"),
- "icon": "icon-list",
- "items": [
- {
- "type": "report",
- "name": "Bank Reconciliation Statement",
- "is_query_report": True,
- "doctype": "Journal Entry"
- },
- {
- "type": "report",
"name": "Ordered Items To Be Billed",
"is_query_report": True,
"doctype": "Sales Invoice"
@@ -293,11 +296,47 @@
"is_query_report": True,
"doctype": "Purchase Invoice"
},
+ ]
+
+ },
+ {
+ "label": _("Analytics"),
+ "items": [
+ {
+ "type": "page",
+ "name": "financial-analytics",
+ "label": _("Financial Analytics"),
+ "icon": "icon-bar-chart",
+ },
{
"type": "report",
- "name": "Bank Clearance Summary",
+ "name": "Gross Profit",
+ "doctype": "Sales Invoice",
+ "is_query_report": True
+ },
+ {
+ "type": "report",
+ "name": "Purchase Invoice Trends",
"is_query_report": True,
- "doctype": "Journal Entry"
+ "doctype": "Purchase Invoice"
+ },
+ {
+ "type": "report",
+ "name": "Sales Invoice Trends",
+ "is_query_report": True,
+ "doctype": "Sales Invoice"
+ },
+ ]
+ },
+ {
+ "label": _("Other Reports"),
+ "icon": "icon-table",
+ "items": [
+ {
+ "type": "report",
+ "name": "Trial Balance for Party",
+ "doctype": "GL Entry",
+ "is_query_report": True,
},
{
"type": "report",
@@ -325,24 +364,6 @@
},
{
"type": "report",
- "name": "Budget Variance Report",
- "is_query_report": True,
- "doctype": "Cost Center"
- },
- {
- "type": "report",
- "name": "Purchase Invoice Trends",
- "is_query_report": True,
- "doctype": "Purchase Invoice"
- },
- {
- "type": "report",
- "name": "Sales Invoice Trends",
- "is_query_report": True,
- "doctype": "Sales Invoice"
- },
- {
- "type": "report",
"name": "Accounts Receivable Summary",
"doctype": "Sales Invoice",
"is_query_report": True
diff --git a/erpnext/config/buying.py b/erpnext/config/buying.py
index 79de835..c259f06 100644
--- a/erpnext/config/buying.py
+++ b/erpnext/config/buying.py
@@ -4,16 +4,11 @@
def get_data():
return [
{
- "label": _("Documents"),
+ "label": _("Purchasing"),
"icon": "icon-star",
"items": [
{
"type": "doctype",
- "name": "Supplier",
- "description": _("Supplier database."),
- },
- {
- "type": "doctype",
"name": "Material Request",
"description": _("Request for purchase."),
},
@@ -27,6 +22,21 @@
"name": "Purchase Order",
"description": _("Purchase Orders given to Suppliers."),
},
+ ]
+ },
+ {
+ "label": _("Supplier"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Supplier",
+ "description": _("Supplier database."),
+ },
+ {
+ "type": "doctype",
+ "name": "Supplier Type",
+ "description": _("Supplier Type master.")
+ },
{
"type": "doctype",
"name": "Contact",
@@ -37,11 +47,7 @@
"name": "Address",
"description": _("All Addresses."),
},
- {
- "type": "doctype",
- "name": "Item",
- "description": _("All Products or Services."),
- },
+
]
},
{
@@ -55,20 +61,6 @@
},
{
"type": "doctype",
- "name": "Supplier Type",
- "description": _("Supplier Type master.")
- },
- {
- "type": "page",
- "name": "Sales Browser",
- "icon": "icon-sitemap",
- "label": _("Item Group Tree"),
- "link": "Sales Browser/Item Group",
- "description": _("Tree of Item Groups."),
- "doctype": "Item Group",
- },
- {
- "type": "doctype",
"name":"Terms and Conditions",
"label": _("Terms and Conditions Template"),
"description": _("Template of terms or contract.")
@@ -78,12 +70,36 @@
"name": "Purchase Taxes and Charges Template",
"description": _("Tax template for buying transactions.")
},
+ ]
+ },
+ {
+ "label": _("Items and Pricing"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Item",
+ "description": _("All Products or Services."),
+ },
+ {
+ "type": "doctype",
+ "name": "Product Bundle",
+ "description": _("Bundle items at time of sale."),
+ },
{
"type": "doctype",
"name": "Price List",
"description": _("Price List master.")
},
{
+ "type": "page",
+ "name": "Sales Browser",
+ "icon": "icon-sitemap",
+ "label": _("Item Group"),
+ "link": "Sales Browser/Item Group",
+ "description": _("Tree of Item Groups."),
+ "doctype": "Item Group",
+ },
+ {
"type": "doctype",
"name": "Item Price",
"description": _("Multiple Item prices."),
@@ -94,10 +110,11 @@
"name": "Pricing Rule",
"description": _("Rules for applying pricing and discount.")
},
+
]
},
{
- "label": _("Main Reports"),
+ "label": _("Analytics"),
"icon": "icon-table",
"items": [
{
@@ -106,10 +123,22 @@
"label": _("Purchase Analytics"),
"icon": "icon-bar-chart",
},
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Supplier-Wise Sales Analytics",
+ "doctype": "Stock Ledger Entry"
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Purchase Order Trends",
+ "doctype": "Purchase Order"
+ },
]
},
{
- "label": _("Standard Reports"),
+ "label": _("Other Reports"),
"icon": "icon-list",
"items": [
{
@@ -139,21 +168,9 @@
{
"type": "report",
"is_query_report": True,
- "name": "Purchase Order Trends",
- "doctype": "Purchase Order"
- },
- {
- "type": "report",
- "is_query_report": True,
"name": "Supplier Addresses and Contacts",
"doctype": "Supplier"
},
- {
- "type": "report",
- "is_query_report": True,
- "name": "Supplier-Wise Sales Analytics",
- "doctype": "Stock Ledger Entry"
- }
]
},
{
diff --git a/erpnext/config/crm.py b/erpnext/config/crm.py
index b92bf22..26e9e03 100644
--- a/erpnext/config/crm.py
+++ b/erpnext/config/crm.py
@@ -3,7 +3,7 @@
def get_data():
return [
{
- "label": _("Documents"),
+ "label": _("Sales Pipeline"),
"icon": "icon-star",
"items": [
{
@@ -13,19 +13,55 @@
},
{
"type": "doctype",
- "name": "Customer",
- "description": _("Customer database."),
+ "name": "Opportunity",
+ "description": _("Potential opportunities for selling."),
},
{
"type": "doctype",
- "name": "Opportunity",
- "description": _("Potential opportunities for selling."),
+ "name": "Customer",
+ "description": _("Customer database."),
},
{
"type": "doctype",
"name": "Contact",
"description": _("All Contacts."),
},
+ ]
+ },
+ {
+ "label": _("Reports"),
+ "icon": "icon-list",
+ "items": [
+ {
+ "type": "page",
+ "name": "sales-funnel",
+ "label": _("Sales Funnel"),
+ "icon": "icon-bar-chart",
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Lead Details",
+ "doctype": "Lead"
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Customer Addresses and Contacts",
+ "doctype": "Contact"
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Inactive Customers",
+ "doctype": "Sales Order"
+ },
+ ]
+ },
+ {
+ "label": _("Communication"),
+ "icon": "icon-star",
+ "items": [
{
"type": "doctype",
"name": "Newsletter",
@@ -39,22 +75,6 @@
]
},
{
- "label": _("Tools"),
- "icon": "icon-wrench",
- "items": [
- {
- "type": "doctype",
- "name": "SMS Center",
- "description":_("Send mass SMS to your contacts"),
- },
- {
- "type": "doctype",
- "name": "SMS Log",
- "description":_("Logs for maintaining sms delivery status"),
- }
- ]
- },
- {
"label": _("Setup"),
"icon": "icon-cog",
"items": [
@@ -95,47 +115,27 @@
"name": "Newsletter List",
"description": _("Newsletter Mailing List"),
},
+ ]
+ },
+ {
+ "label": _("SMS"),
+ "icon": "icon-wrench",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "SMS Center",
+ "description":_("Send mass SMS to your contacts"),
+ },
+ {
+ "type": "doctype",
+ "name": "SMS Log",
+ "description":_("Logs for maintaining sms delivery status"),
+ },
{
"type": "doctype",
"name": "SMS Settings",
"description": _("Setup SMS gateway settings")
- },
- ]
- },
- {
- "label": _("Main Reports"),
- "icon": "icon-table",
- "items": [
- {
- "type": "page",
- "name": "sales-funnel",
- "label": _("Sales Funnel"),
- "icon": "icon-bar-chart",
- },
- ]
- },
- {
- "label": _("Standard Reports"),
- "icon": "icon-list",
- "items": [
- {
- "type": "report",
- "is_query_report": True,
- "name": "Lead Details",
- "doctype": "Lead"
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Customer Addresses and Contacts",
- "doctype": "Contact"
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Customers Not Buying Since Long Time",
- "doctype": "Sales Order"
- },
+ }
]
},
{
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index 863ad6d..e15f2b6 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -10,6 +10,13 @@
"type": "module"
},
{
+ "module_name": "Stock",
+ "color": "#f39c12",
+ "icon": "icon-truck",
+ "icon": "octicon octicon-package",
+ "type": "module"
+ },
+ {
"module_name": "CRM",
"color": "#EF4DB6",
"icon": "octicon octicon-broadcast",
@@ -61,13 +68,6 @@
"type": "module"
},
{
- "module_name": "Stock",
- "color": "#f39c12",
- "icon": "icon-truck",
- "icon": "octicon octicon-package",
- "type": "module"
- },
- {
"module_name": "Support",
"color": "#2c3e50",
"icon": "icon-phone",
diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py
index e147112..eea65b8 100644
--- a/erpnext/config/hr.py
+++ b/erpnext/config/hr.py
@@ -4,8 +4,7 @@
def get_data():
return [
{
- "label": _("Documents"),
- "icon": "icon-star",
+ "label": _("Employee and Attendance"),
"items": [
{
"type": "doctype",
@@ -14,13 +13,10 @@
},
{
"type": "doctype",
- "name": "Leave Application",
- "description": _("Applications for leave."),
- },
- {
- "type": "doctype",
- "name": "Expense Claim",
- "description": _("Claims for company expense."),
+ "name": "Employee Attendance Tool",
+ "label": _("Employee Attendance Tool"),
+ "description":_("Mark Employee Attendance in Bulk"),
+ "hide_count": True
},
{
"type": "doctype",
@@ -29,14 +25,15 @@
},
{
"type": "doctype",
- "name": "Salary Slip",
- "description": _("Monthly salary statement."),
+ "name": "Upload Attendance",
+ "description":_("Upload attendance from a .csv file"),
+ "hide_count": True
},
- {
- "type": "doctype",
- "name": "Appraisal",
- "description": _("Performance appraisal."),
- },
+ ]
+ },
+ {
+ "label": _("Recruitment"),
+ "items": [
{
"type": "doctype",
"name": "Job Applicant",
@@ -55,21 +52,50 @@
]
},
{
- "label": _("Tools"),
- "icon": "icon-wrench",
+ "label": _("Leaves and Holiday"),
"items": [
{
"type": "doctype",
- "name": "Employee Attendance Tool",
- "label": _("Employee Attendance Tool"),
- "description":_("Mark Employee Attendance in Bulk"),
+ "name": "Leave Application",
+ "description": _("Applications for leave."),
+ },
+ {
+ "type": "doctype",
+ "name":"Leave Type",
+ "description": _("Type of leaves like casual, sick etc."),
+ },
+ {
+ "type": "doctype",
+ "name": "Holiday List",
+ "description": _("Holiday master.")
+ },
+ {
+ "type": "doctype",
+ "name": "Leave Allocation",
+ "description": _("Allocate leaves for a period.")
+ },
+ {
+ "type": "doctype",
+ "name": "Leave Control Panel",
+ "label": _("Leave Allocation Tool"),
+ "description":_("Allocate leaves for the year."),
"hide_count": True
},
{
"type": "doctype",
- "name": "Upload Attendance",
- "description":_("Upload attendance from a .csv file"),
- "hide_count": True
+ "name": "Leave Block List",
+ "description": _("Block leave applications by department.")
+ },
+
+ ]
+ },
+ {
+ "label": _("Payroll"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Salary Slip",
+ "description": _("Monthly salary statement."),
},
{
"type": "doctype",
@@ -78,14 +104,60 @@
"description":_("Generate Salary Slips"),
"hide_count": True
},
-
{
"type": "doctype",
- "name": "Leave Control Panel",
- "label": _("Leave Allocation Tool"),
- "description":_("Allocate leaves for the year."),
- "hide_count": True
+ "name": "Salary Structure",
+ "description": _("Salary template master.")
},
+ {
+ "type": "doctype",
+ "name": "Earning Type",
+ "description": _("Salary components.")
+ },
+ {
+ "type": "doctype",
+ "name": "Deduction Type",
+ "description": _("Tax and other salary deductions.")
+ },
+
+ ]
+ },
+ {
+ "label": _("Expense Claims"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Expense Claim",
+ "description": _("Claims for company expense."),
+ },
+ {
+ "type": "doctype",
+ "name": "Expense Claim Type",
+ "description": _("Types of Expense Claim.")
+ },
+ ]
+ },
+ {
+ "label": _("Appraisals"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Appraisal",
+ "description": _("Performance appraisal."),
+ },
+ {
+ "type": "doctype",
+ "name": "Appraisal Template",
+ "description": _("Template for performance appraisals.")
+ },
+ ]
+ },
+
+ {
+ "label": _("Tools"),
+ "icon": "icon-wrench",
+ "items": [
+
]
},
{
@@ -117,60 +189,10 @@
"name": "Designation",
"description": _("Employee designation (e.g. CEO, Director etc.).")
},
- {
- "type": "doctype",
- "name": "Salary Structure",
- "description": _("Salary template master.")
- },
- {
- "type": "doctype",
- "name": "Earning Type",
- "description": _("Salary components.")
- },
- {
- "type": "doctype",
- "name": "Deduction Type",
- "description": _("Tax and other salary deductions.")
- },
- {
- "type": "doctype",
- "name": "Leave Allocation",
- "description": _("Allocate leaves for a period.")
- },
- {
- "type": "doctype",
- "name":"Leave Type",
- "description": _("Type of leaves like casual, sick etc."),
- },
- {
- "type": "doctype",
- "name": "Holiday List",
- "description": _("Holiday master.")
- },
- {
- "type": "doctype",
- "name": "Leave Block List",
- "description": _("Block leave applications by department.")
- },
- {
- "type": "doctype",
- "name": "Appraisal Template",
- "description": _("Template for performance appraisals.")
- },
- {
- "type": "doctype",
- "name": "Expense Claim Type",
- "description": _("Types of Expense Claim.")
- },
- {
- "type": "doctype",
- "name": "Email Account",
- "description": _("Setup incoming server for jobs email id. (e.g. jobs@example.com)")
- },
]
},
{
- "label": _("Standard Reports"),
+ "label": _("Reports"),
"icon": "icon-list",
"items": [
{
diff --git a/erpnext/config/manufacturing.py b/erpnext/config/manufacturing.py
index 1db7945..2ae49fe 100644
--- a/erpnext/config/manufacturing.py
+++ b/erpnext/config/manufacturing.py
@@ -4,25 +4,48 @@
def get_data():
return [
{
- "label": _("Documents"),
+ "label": _("Production"),
"icon": "icon-star",
"items": [
{
"type": "doctype",
- "name": "BOM",
- "description": _("Bill of Materials (BOM)"),
- "label": _("Bill of Material")
- },
- {
- "type": "doctype",
"name": "Production Order",
"description": _("Orders released for production."),
},
{
"type": "doctype",
+ "name": "Production Planning Tool",
+ "description": _("Generate Material Requests (MRP) and Production Orders."),
+ },
+ {
+ "type": "doctype",
+ "name": "Stock Entry",
+ },
+ {
+ "type": "doctype",
"name": "Time Log",
"description": _("Time Logs for manufacturing."),
},
+
+ ]
+ },
+ {
+ "label": _("Bill of Materials"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "BOM",
+ "description": _("Bill of Materials (BOM)"),
+ "label": _("Bill of Materials")
+ },
+ {
+ "type": "page",
+ "name": "bom-browser",
+ "icon": "icon-sitemap",
+ "label": _("BOM Browser"),
+ "description": _("Tree of Bill of Materials"),
+ "doctype": "BOM"
+ },
{
"type": "doctype",
"name": "Item",
@@ -47,22 +70,9 @@
"items": [
{
"type": "doctype",
- "name": "Production Planning Tool",
- "description": _("Generate Material Requests (MRP) and Production Orders."),
- },
- {
- "type": "doctype",
"name": "BOM Replace Tool",
"description": _("Replace Item / BOM in all BOMs"),
},
- {
- "type": "page",
- "name": "bom-browser",
- "icon": "icon-sitemap",
- "label": _("BOM Browser"),
- "description": _("Tree of Bill of Materials"),
- "doctype": "BOM"
- }
]
},
{
@@ -76,7 +86,7 @@
]
},
{
- "label": _("Standard Reports"),
+ "label": _("Reports"),
"icon": "icon-list",
"items": [
{
diff --git a/erpnext/config/projects.py b/erpnext/config/projects.py
index 78a78ac..3deaeba 100644
--- a/erpnext/config/projects.py
+++ b/erpnext/config/projects.py
@@ -4,19 +4,31 @@
def get_data():
return [
{
- "label": _("Documents"),
+ "label": _("Projects"),
"icon": "icon-star",
"items": [
{
"type": "doctype",
+ "name": "Project",
+ "description": _("Project master."),
+ },
+ {
+ "type": "doctype",
"name": "Task",
"description": _("Project activity / task."),
},
{
- "type": "doctype",
- "name": "Project",
- "description": _("Project master."),
+ "type": "report",
+ "route": "Gantt/Task",
+ "doctype": "Task",
+ "name": "Gantt Chart",
+ "description": _("Gantt chart of all tasks.")
},
+ ]
+ },
+ {
+ "label": _("Time Tracking"),
+ "items": [
{
"type": "doctype",
"name": "Time Log",
@@ -40,20 +52,7 @@
]
},
{
- "label": _("Tools"),
- "icon": "icon-wrench",
- "items": [
- {
- "type": "report",
- "route": "Gantt/Task",
- "doctype": "Task",
- "name": "Gantt Chart",
- "description": _("Gantt chart of all tasks.")
- },
- ]
- },
- {
- "label": _("Standard Reports"),
+ "label": _("Reports"),
"icon": "icon-list",
"items": [
{
diff --git a/erpnext/config/selling.py b/erpnext/config/selling.py
index ba1210e..771a0d7 100644
--- a/erpnext/config/selling.py
+++ b/erpnext/config/selling.py
@@ -4,16 +4,11 @@
def get_data():
return [
{
- "label": _("Documents"),
+ "label": _("Sales"),
"icon": "icon-star",
"items": [
{
"type": "doctype",
- "name": "Customer",
- "description": _("Customer database."),
- },
- {
- "type": "doctype",
"name": "Quotation",
"description": _("Quotes to Leads or Customers."),
},
@@ -22,6 +17,25 @@
"name": "Sales Order",
"description": _("Confirmed orders from Customers."),
},
+ ]
+ },
+ {
+ "label": _("Customers"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Customer",
+ "description": _("Customer database."),
+ },
+ {
+ "type": "page",
+ "label": _("Customer Group"),
+ "name": "Sales Browser",
+ "icon": "icon-sitemap",
+ "link": "Sales Browser/Customer Group",
+ "description": _("Manage Customer Group Tree."),
+ "doctype": "Customer Group",
+ },
{
"type": "doctype",
"name": "Contact",
@@ -32,58 +46,59 @@
"name": "Address",
"description": _("All Addresses."),
},
+
+ ]
+ },
+ {
+ "label": _("Items and Pricing"),
+ "items": [
{
"type": "doctype",
"name": "Item",
"description": _("All Products or Services."),
},
- ]
- },
- {
- "label": _("Tools"),
- "icon": "icon-wrench",
- "items": [
{
"type": "doctype",
- "name": "SMS Center",
- "description":_("Send mass SMS to your contacts"),
+ "name": "Product Bundle",
+ "description": _("Bundle items at time of sale."),
},
{
"type": "doctype",
- "name": "SMS Log",
- "description":_("Logs for maintaining sms delivery status"),
- },
- {
- "type": "doctype",
- "name": "Newsletter",
- "description": _("Newsletters to contacts, leads."),
- },
- ]
- },
- {
- "label": _("Setup"),
- "icon": "icon-cog",
- "items": [
- {
- "type": "doctype",
- "name": "Selling Settings",
- "description": _("Default settings for selling transactions.")
- },
- {
- "type": "doctype",
- "name": "Campaign",
- "description": _("Sales campaigns."),
+ "name": "Price List",
+ "description": _("Price List master.")
},
{
"type": "page",
- "label": _("Customer Group"),
"name": "Sales Browser",
"icon": "icon-sitemap",
- "link": "Sales Browser/Customer Group",
- "description": _("Manage Customer Group Tree."),
- "doctype": "Customer Group",
+ "label": _("Item Group"),
+ "link": "Sales Browser/Item Group",
+ "description": _("Tree of Item Groups."),
+ "doctype": "Item Group",
},
{
+ "type": "doctype",
+ "name": "Item Price",
+ "description": _("Multiple Item prices."),
+ "route": "Report/Item Price"
+ },
+ {
+ "type": "doctype",
+ "name": "Shipping Rule",
+ "description": _("Rules for adding shipping costs.")
+ },
+ {
+ "type": "doctype",
+ "name": "Pricing Rule",
+ "description": _("Rules for applying pricing and discount.")
+ },
+
+ ]
+ },
+ {
+ "label": _("Sales Partners and Territory"),
+ "items": [
+ {
"type": "page",
"label": _("Territory"),
"name": "Sales Browser",
@@ -107,13 +122,34 @@
"doctype": "Sales Person",
},
{
- "type": "page",
- "name": "Sales Browser",
- "icon": "icon-sitemap",
- "label": _("Item Group Tree"),
- "link": "Sales Browser/Item Group",
- "description": _("Tree of Item Groups."),
- "doctype": "Item Group",
+ "type": "report",
+ "is_query_report": True,
+ "name": "Territory Target Variance (Item Group-Wise)",
+ "route": "query-report/Territory Target Variance Item Group-Wise",
+ "doctype": "Territory"
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Sales Person Target Variance (Item Group-Wise)",
+ "route": "query-report/Sales Person Target Variance Item Group-Wise",
+ "doctype": "Sales Person",
+ },
+ ]
+ },
+ {
+ "label": _("Setup"),
+ "icon": "icon-cog",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Selling Settings",
+ "description": _("Default settings for selling transactions.")
+ },
+ {
+ "type": "doctype",
+ "name": "Campaign",
+ "description": _("Sales campaigns."),
},
{
"type": "doctype",
@@ -128,49 +164,13 @@
},
{
"type": "doctype",
- "name": "Shipping Rule",
- "description": _("Rules for adding shipping costs.")
- },
- {
- "type": "doctype",
- "name": "Price List",
- "description": _("Price List master.")
- },
- {
- "type": "doctype",
- "name": "Item Price",
- "description": _("Multiple Item prices."),
- "route": "Report/Item Price"
- },
- {
- "type": "doctype",
- "name": "Pricing Rule",
- "description": _("Rules for applying pricing and discount.")
- },
- {
- "type": "doctype",
- "name": "Product Bundle",
- "description": _("Bundle items at time of sale."),
- },
- {
- "type": "doctype",
- "name": "Email Account",
- "description": _("Setup incoming server for sales email id. (e.g. sales@example.com)")
- },
- {
- "type": "doctype",
"name": "Industry Type",
"description": _("Track Leads by Industry Type.")
},
- {
- "type": "doctype",
- "name": "SMS Settings",
- "description": _("Setup SMS gateway settings")
- },
]
},
{
- "label": _("Main Reports"),
+ "label": _("Analytics"),
"icon": "icon-table",
"items": [
{
@@ -192,10 +192,22 @@
"doctype": "Customer",
"icon": "icon-bar-chart",
},
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Quotation Trends",
+ "doctype": "Quotation"
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Sales Order Trends",
+ "doctype": "Sales Order"
+ },
]
},
{
- "label": _("Standard Reports"),
+ "label": _("Other Reports"),
"icon": "icon-list",
"items": [
{
@@ -231,39 +243,13 @@
{
"type": "report",
"is_query_report": True,
- "name": "Territory Target Variance (Item Group-Wise)",
- "route": "query-report/Territory Target Variance Item Group-Wise",
- "doctype": "Territory"
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Sales Person Target Variance (Item Group-Wise)",
- "route": "query-report/Sales Person Target Variance Item Group-Wise",
- "doctype": "Sales Person",
- },
- {
- "type": "report",
- "is_query_report": True,
"name": "BOM Search",
"doctype": "BOM"
},
{
"type": "report",
"is_query_report": True,
- "name": "Customers Not Buying Since Long Time",
- "doctype": "Sales Order"
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Quotation Trends",
- "doctype": "Quotation"
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Sales Order Trends",
+ "name": "Inactive Customers",
"doctype": "Sales Order"
},
{
@@ -287,6 +273,27 @@
]
},
{
+ "label": _("SMS"),
+ "icon": "icon-wrench",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "SMS Center",
+ "description":_("Send mass SMS to your contacts"),
+ },
+ {
+ "type": "doctype",
+ "name": "SMS Log",
+ "description":_("Logs for maintaining sms delivery status"),
+ },
+ {
+ "type": "doctype",
+ "name": "SMS Settings",
+ "description": _("Setup SMS gateway settings")
+ },
+ ]
+ },
+ {
"label": _("Help"),
"items": [
{
diff --git a/erpnext/config/stock.py b/erpnext/config/stock.py
index 9b47e58..cf3a7ba 100644
--- a/erpnext/config/stock.py
+++ b/erpnext/config/stock.py
@@ -4,21 +4,10 @@
def get_data():
return [
{
- "label": _("Documents"),
- "icon": "icon-star",
+ "label": _("Stock Transactions"),
"items": [
{
"type": "doctype",
- "name": "Item",
- "description": _("All Products or Services."),
- },
- {
- "type": "doctype",
- "name": "Material Request",
- "description": _("Requests for items."),
- },
- {
- "type": "doctype",
"name": "Stock Entry",
"description": _("Record item movement."),
},
@@ -34,16 +23,92 @@
},
{
"type": "doctype",
- "name": "Installation Note",
- "description": _("Installation record for a Serial No.")
+ "name": "Material Request",
+ "description": _("Requests for items."),
+ },
+ ]
+ },
+ {
+ "label": _("Stock Reports"),
+ "items": [
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Stock Ledger",
+ "doctype": "Stock Ledger Entry",
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Stock Balance",
+ "doctype": "Stock Ledger Entry"
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Stock Projected Qty",
+ "doctype": "Item",
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Stock Ageing",
+ "doctype": "Item",
+ },
+
+ ]
+ },
+ {
+ "label": _("Items and Pricing"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Item",
+ "description": _("All Products or Services."),
},
{
"type": "doctype",
- "name": "Warehouse",
- "description": _("Where items are stored."),
+ "name": "Product Bundle",
+ "description": _("Bundle items at time of sale."),
},
{
"type": "doctype",
+ "name": "Price List",
+ "description": _("Price List master.")
+ },
+ {
+ "type": "page",
+ "name": "Sales Browser",
+ "icon": "icon-sitemap",
+ "label": _("Item Group"),
+ "link": "Sales Browser/Item Group",
+ "description": _("Tree of Item Groups."),
+ "doctype": "Item Group",
+ },
+ {
+ "type": "doctype",
+ "name": "Item Price",
+ "description": _("Multiple Item prices."),
+ "route": "Report/Item Price"
+ },
+ {
+ "type": "doctype",
+ "name": "Shipping Rule",
+ "description": _("Rules for adding shipping costs.")
+ },
+ {
+ "type": "doctype",
+ "name": "Pricing Rule",
+ "description": _("Rules for applying pricing and discount.")
+ },
+
+ ]
+ },
+ {
+ "label": _("Serial No and Batch"),
+ "items": [
+ {
+ "type": "doctype",
"name": "Serial No",
"description": _("Single unit of an Item."),
},
@@ -52,6 +117,26 @@
"name": "Batch",
"description": _("Batch (lot) of an Item."),
},
+ {
+ "type": "doctype",
+ "name": "Installation Note",
+ "description": _("Installation record for a Serial No.")
+ },
+ {
+ "type": "report",
+ "name": "Serial No Service Contract Expiry",
+ "doctype": "Serial No"
+ },
+ {
+ "type": "report",
+ "name": "Serial No Status",
+ "doctype": "Serial No"
+ },
+ {
+ "type": "report",
+ "name": "Serial No Warranty Expiry",
+ "doctype": "Serial No"
+ },
]
},
{
@@ -90,13 +175,9 @@
"description": _("Default settings for stock transactions.")
},
{
- "type": "page",
- "name": "Sales Browser",
- "icon": "icon-sitemap",
- "label": _("Item Group Tree"),
- "link": "Sales Browser/Item Group",
- "description": _("Tree of Item Groups."),
- "doctype": "Item Group",
+ "type": "doctype",
+ "name": "Warehouse",
+ "description": _("Where items are stored."),
},
{
"type": "doctype",
@@ -106,62 +187,22 @@
},
{
"type": "doctype",
- "name": "Warehouse",
- "description": _("Warehouses.")
+ "name": "Item Attribute",
+ "description": _("Attributes for Item Variants. e.g Size, Color etc."),
},
{
"type": "doctype",
"name": "Brand",
"description": _("Brand master.")
},
- {
- "type": "doctype",
- "name": "Price List",
- "description": _("Price List master.")
- },
- {
- "type": "doctype",
- "name": "Item Price",
- "description": _("Multiple Item prices."),
- "route": "Report/Item Price"
- },
- {
- "type": "doctype",
- "name": "Item Attribute",
- "description": _("Attributes for Item Variants. e.g Size, Color etc."),
- },
]
},
{
- "label": _("Main Reports"),
+ "label": _("Analytics"),
"icon": "icon-table",
"items": [
{
"type": "report",
- "is_query_report": True,
- "name": "Stock Ledger",
- "doctype": "Stock Ledger Entry",
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Stock Balance",
- "doctype": "Stock Ledger Entry"
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Stock Projected Qty",
- "doctype": "Item",
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Stock Ageing",
- "doctype": "Item",
- },
- {
- "type": "report",
"is_query_report": False,
"name": "Item-wise Price List Rate",
"doctype": "Item Price",
@@ -171,11 +212,24 @@
"name": "stock-analytics",
"label": _("Stock Analytics"),
"icon": "icon-bar-chart"
- }
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Delivery Note Trends",
+ "doctype": "Delivery Note"
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Purchase Receipt Trends",
+ "doctype": "Purchase Receipt"
+ },
+
]
},
{
- "label": _("Standard Reports"),
+ "label": _("Reports"),
"icon": "icon-list",
"items": [
{
@@ -198,21 +252,6 @@
},
{
"type": "report",
- "name": "Serial No Service Contract Expiry",
- "doctype": "Serial No"
- },
- {
- "type": "report",
- "name": "Serial No Status",
- "doctype": "Serial No"
- },
- {
- "type": "report",
- "name": "Serial No Warranty Expiry",
- "doctype": "Serial No"
- },
- {
- "type": "report",
"is_query_report": True,
"name": "Requested Items To Be Transferred",
"doctype": "Material Request"
@@ -235,18 +274,6 @@
"name": "Itemwise Recommended Reorder Level",
"doctype": "Item"
},
- {
- "type": "report",
- "is_query_report": True,
- "name": "Delivery Note Trends",
- "doctype": "Delivery Note"
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Purchase Receipt Trends",
- "doctype": "Purchase Receipt"
- },
]
},
{
diff --git a/erpnext/config/support.py b/erpnext/config/support.py
index a3b6917..ca97164 100644
--- a/erpnext/config/support.py
+++ b/erpnext/config/support.py
@@ -4,8 +4,7 @@
def get_data():
return [
{
- "label": _("Documents"),
- "icon": "icon-star",
+ "label": _("Issues"),
"items": [
{
"type": "doctype",
@@ -14,9 +13,14 @@
},
{
"type": "doctype",
- "name": "Warranty Claim",
- "description": _("Warranty Claim against Serial No."),
+ "name": "Communication",
+ "description": _("Communication log."),
},
+ ]
+ },
+ {
+ "label": _("Maintenance"),
+ "items": [
{
"type": "doctype",
"name": "Maintenance Schedule",
@@ -28,14 +32,20 @@
"description": _("Visit report for maintenance call."),
},
{
- "type": "doctype",
- "name": "Newsletter",
- "description": _("Newsletters to contacts, leads."),
+ "type": "report",
+ "name": "Maintenance Schedules",
+ "is_query_report": True,
+ "doctype": "Maintenance Schedule"
},
+ ]
+ },
+ {
+ "label": _("Warranty"),
+ "items": [
{
"type": "doctype",
- "name": "Communication",
- "description": _("Communication log."),
+ "name": "Warranty Claim",
+ "description": _("Warranty Claim against Serial No."),
},
{
"type": "doctype",
@@ -45,18 +55,7 @@
]
},
{
- "label": _("Setup"),
- "icon": "icon-cog",
- "items": [
- {
- "type": "doctype",
- "name": "Email Account",
- "description": _("Setup incoming server for support email id. (e.g. support@example.com)")
- },
- ]
- },
- {
- "label": _("Standard Reports"),
+ "label": _("Reports"),
"icon": "icon-list",
"items": [
{
@@ -65,12 +64,6 @@
"label": _("Support Analytics"),
"icon": "icon-bar-chart"
},
- {
- "type": "report",
- "name": "Maintenance Schedules",
- "is_query_report": True,
- "doctype": "Maintenance Schedule"
- },
]
},
]
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index d50c115..eff5f53 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -201,17 +201,20 @@
from tabBOM
where tabBOM.docstatus=1
and tabBOM.is_active=1
- and tabBOM.%(key)s like "%(txt)s"
- %(fcond)s %(mcond)s
- order_by
+ and tabBOM.`{key}` like %(txt)s
+ {fcond} {mcond}
+ order by
if(locate(%(_txt)s, name), locate(%(_txt)s, name), 99999),
idx desc, name
- limit %(start)s, %(page_len)s """ % {
- 'key': searchfield,
+ limit %(start)s, %(page_len)s """.format(
+ fcond=get_filters_cond(doctype, filters, conditions),
+ mcond=get_match_cond(doctype),
+ key=frappe.db.escape(searchfield)),
+ {
'txt': "%%%s%%" % frappe.db.escape(txt),
'_txt': txt.replace("%", ""),
- 'fcond': get_filters_cond(doctype, filters, conditions),
- 'mcond':get_match_cond(doctype), 'start': start, 'page_len': page_len
+ 'start': start,
+ 'page_len': page_len
})
def get_project_name(doctype, txt, searchfield, start, page_len, filters):
diff --git a/erpnext/manufacturing/page/bom_browser/bom_browser.js b/erpnext/manufacturing/page/bom_browser/bom_browser.js
index 453d8c5..3c13905 100644
--- a/erpnext/manufacturing/page/bom_browser/bom_browser.js
+++ b/erpnext/manufacturing/page/bom_browser/bom_browser.js
@@ -60,7 +60,6 @@
frappe.boot.user.in_create.indexOf("BOM") !== -1;
me.can_write = frappe.model.can_write("BOM");
me.can_delete = frappe.model.can_delete("BOM");
-
this.tree = new frappe.ui.Tree({
parent: $(parent),
label: me.bom,
@@ -74,15 +73,15 @@
return node.expandable;
},
click: function(node) {
- frappe.set_route("Form", "BOM", node.data.parent);
+ frappe.set_route("Form", "BOM", node.data.value);
}
}
],
get_label: function(node) {
if(node.data.qty) {
- return node.data.qty + " x " + node.data.value;
+ return node.data.qty + " x " + node.data.item_code;
} else {
- return node.data.value;
+ return node.data.item_code || node.data.value;
}
}
});
diff --git a/erpnext/manufacturing/page/bom_browser/bom_browser.py b/erpnext/manufacturing/page/bom_browser/bom_browser.py
index 8051e69..8099389 100644
--- a/erpnext/manufacturing/page/bom_browser/bom_browser.py
+++ b/erpnext/manufacturing/page/bom_browser/bom_browser.py
@@ -6,8 +6,8 @@
@frappe.whitelist()
def get_children(parent):
- return frappe.db.sql("""select item_code as value,
- bom_no as parent, qty,
+ return frappe.db.sql("""select item_code,
+ bom_no as value, qty,
if(ifnull(bom_no, "")!="", 1, 0) as expandable
from `tabBOM Item`
where parent=%s
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 8872ca9..43ec83d 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -256,3 +256,4 @@
erpnext.patches.v6_20x.set_compact_print
execute:frappe.delete_doc_if_exists("Web Form", "contact") #2016-03-10
erpnext.patches.v6_20x.remove_fiscal_year_from_holiday_list
+erpnext.patches.v6_24.map_customer_address_to_shipping_address_on_po
\ No newline at end of file
diff --git a/erpnext/patches/v6_24/map_customer_address_to_shipping_address_on_po.py b/erpnext/patches/v6_24/map_customer_address_to_shipping_address_on_po.py
new file mode 100644
index 0000000..1dd8083
--- /dev/null
+++ b/erpnext/patches/v6_24/map_customer_address_to_shipping_address_on_po.py
@@ -0,0 +1,19 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ frappe.reload_doctype("Purchase Order")
+
+ if not frappe.db.has_column("Purchase Order", "shipping_address"):
+ return
+
+ if not frappe.db.has_column("Purchase Order", "customer_address"):
+ return
+
+ frappe.db.sql("""update `tabPurchase Order` set shipping_address=customer_address,
+ shipping_address_display=customer_address_display""")
+
+ frappe.db.commit()
\ No newline at end of file
diff --git a/erpnext/public/js/utils/party.js b/erpnext/public/js/utils/party.js
index 93301fc..1896f88 100644
--- a/erpnext/public/js/utils/party.js
+++ b/erpnext/public/js/utils/party.js
@@ -20,18 +20,18 @@
price_list: frm.doc.buying_price_list
};
}
-
+
if (args) {
args.posting_date = frm.doc.posting_date || frm.doc.transaction_date;
}
}
if(!args) return;
-
+
if(frappe.meta.get_docfield(frm.doc.doctype, "taxes")) {
- if(!erpnext.utils.validate_mandatory(frm, "Posting/Transaction Date",
+ if(!erpnext.utils.validate_mandatory(frm, "Posting/Transaction Date",
args.posting_date, args.party_type=="Customer" ? "customer": "supplier")) return;
}
-
+
args.currency = frm.doc.currency;
args.company = frm.doc.company;
args.doctype = frm.doc.doctype;
@@ -49,9 +49,9 @@
});
}
-erpnext.utils.get_address_display = function(frm, address_field, display_field) {
+erpnext.utils.get_address_display = function(frm, address_field, display_field, is_your_company_address) {
if(frm.updating_party_details) return;
-
+
if(!address_field) {
if(frm.doctype != "Purchase Order" && frm.doc.customer) {
address_field = "customer_address";
@@ -59,25 +59,25 @@
address_field = "supplier_address";
} else return;
}
-
+
if(!display_field) display_field = "address_display";
if(frm.doc[address_field]) {
frappe.call({
method: "erpnext.utilities.doctype.address.address.get_address_display",
args: {"address_dict": frm.doc[address_field] },
callback: function(r) {
- if(r.message){
+ if(r.message) {
frm.set_value(display_field, r.message)
}
- if(frappe.meta.get_docfield(frm.doc.doctype, "taxes")) {
- if(!erpnext.utils.validate_mandatory(frm, "Customer/Supplier",
+ if(frappe.meta.get_docfield(frm.doc.doctype, "taxes") && !is_your_company_address) {
+ if(!erpnext.utils.validate_mandatory(frm, "Customer/Supplier",
frm.doc.customer || frm.doc.supplier, address_field)) return;
-
- if(!erpnext.utils.validate_mandatory(frm, "Posting/Transaction Date",
+
+ if(!erpnext.utils.validate_mandatory(frm, "Posting/Transaction Date",
frm.doc.posting_date || frm.doc.transaction_date, address_field)) return;
} else return;
-
+
frappe.call({
method: "erpnext.accounts.party.set_taxes",
args: {
@@ -96,7 +96,10 @@
});
}
})
+ } else {
+ frm.set_value(display_field, null);
}
+
}
erpnext.utils.get_contact_details = function(frm) {
@@ -122,4 +125,17 @@
return false;
}
return true;
-}
\ No newline at end of file
+}
+
+erpnext.utils.get_shipping_address = function(frm){
+ frappe.call({
+ method: "erpnext.utilities.doctype.address.address.get_shipping_address",
+ args: {company: frm.doc.company},
+ callback: function(r){
+ if(r.message){
+ frm.set_value("shipping_address", r.message[0]) //Address title or name
+ frm.set_value("shipping_address_display", r.message[1]) //Address to be displayed on the page
+ }
+ }
+ });
+}
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 560cdc8..16c98b9 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -221,7 +221,7 @@
cur_frm.fields_dict['project'].get_query = function(doc, cdt, cdn) {
return {
- query: "erpnext.controllers.queries.get_project",
+ query: "erpnext.controllers.queries.get_project_name",
filters: {
'customer': doc.customer
}
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 5cd7f73..2aff7c5 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -546,11 +546,11 @@
if any( item.delivered_by_supplier==1 for item in source.items):
if source.shipping_address_name:
- target.customer_address = source.shipping_address_name
- target.customer_address_display = source.shipping_address
+ target.shipping_address = source.shipping_address_name
+ target.shipping_address_display = source.shipping_address
else:
- target.customer_address = source.customer_address
- target.customer_address_display = source.address_display
+ target.shipping_address = source.customer_address
+ target.shipping_address_display = source.address_display
target.customer_contact_person = source.contact_person
target.customer_contact_display = source.contact_display
diff --git a/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.json b/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.json
deleted file mode 100644
index fe53574..0000000
--- a/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "apply_user_permissions": 1,
- "creation": "2013-06-07 12:27:07",
- "docstatus": 0,
- "doctype": "Report",
- "idx": 1,
- "is_standard": "Yes",
- "modified": "2014-06-03 07:18:17.013590",
- "modified_by": "Administrator",
- "module": "Selling",
- "name": "Customers Not Buying Since Long Time",
- "owner": "Administrator",
- "ref_doctype": "Sales Order",
- "report_name": "Customers Not Buying Since Long Time ",
- "report_type": "Script Report"
-}
\ No newline at end of file
diff --git a/erpnext/selling/report/customers_not_buying_since_long_time/__init__.py b/erpnext/selling/report/inactive_customers/__init__.py
similarity index 100%
rename from erpnext/selling/report/customers_not_buying_since_long_time/__init__.py
rename to erpnext/selling/report/inactive_customers/__init__.py
diff --git a/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js b/erpnext/selling/report/inactive_customers/inactive_customers.js
similarity index 62%
rename from erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js
rename to erpnext/selling/report/inactive_customers/inactive_customers.js
index 6d00b82..804d17e 100644
--- a/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js
+++ b/erpnext/selling/report/inactive_customers/inactive_customers.js
@@ -1,7 +1,7 @@
-// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
+// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
-frappe.query_reports["Customers Not Buying Since Long Time"] = {
+frappe.query_reports["Inactive Customers"] = {
"filters": [
{
"fieldname":"days_since_last_order",
@@ -17,4 +17,4 @@
"options": "Sales Order\nSales Invoice"
}
]
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/report/inactive_customers/inactive_customers.json b/erpnext/selling/report/inactive_customers/inactive_customers.json
new file mode 100644
index 0000000..cfbeb90
--- /dev/null
+++ b/erpnext/selling/report/inactive_customers/inactive_customers.json
@@ -0,0 +1,18 @@
+{
+ "add_total_row": 0,
+ "apply_user_permissions": 1,
+ "creation": "2016-03-08 04:05:02.846556",
+ "disabled": 0,
+ "docstatus": 0,
+ "doctype": "Report",
+ "idx": 0,
+ "is_standard": "Yes",
+ "modified": "2016-03-08 04:05:02.846556",
+ "modified_by": "Administrator",
+ "module": "Selling",
+ "name": "Inactive Customers",
+ "owner": "Administrator",
+ "ref_doctype": "Sales Order",
+ "report_name": "Inactive Customers",
+ "report_type": "Script Report"
+}
\ No newline at end of file
diff --git a/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py b/erpnext/selling/report/inactive_customers/inactive_customers.py
similarity index 93%
rename from erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py
rename to erpnext/selling/report/inactive_customers/inactive_customers.py
index 86186aa..e7aff36 100644
--- a/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py
+++ b/erpnext/selling/report/inactive_customers/inactive_customers.py
@@ -1,5 +1,5 @@
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
+# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
@@ -11,7 +11,7 @@
days_since_last_order = filters.get("days_since_last_order")
doctype = filters.get("doctype")
-
+
if cint(days_since_last_order) <= 0:
frappe.throw(_("'Days Since Last Order' must be greater than or equal to zero"))
@@ -35,7 +35,7 @@
so.base_net_total)) as 'total_order_considered',
max(so.transaction_date) as 'last_order_date',
DATEDIFF(CURDATE(), max(so.transaction_date)) as 'days_since_last_order'"""
-
+
return frappe.db.sql("""select
cust.name,
cust.customer_name,
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index c14bb9d..f1d11b2 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -144,7 +144,7 @@
// ***************** Get project name *****************
cur_frm.fields_dict['project'].get_query = function(doc, cdt, cdn) {
return {
- query: "erpnext.controllers.queries.get_project",
+ query: "erpnext.controllers.queries.get_project_name",
filters: {
'customer': doc.customer
}
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
index cd40c40..b14a700 100755
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
@@ -172,103 +172,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "address_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_mobile",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mobile No",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_email",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Email",
- "length": 0,
- "no_copy": 0,
- "options": "Email",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
"fieldname": "column_break1",
"fieldtype": "Column Break",
"hidden": 0,
@@ -352,6 +255,36 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "description": "",
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Company",
+ "length": 0,
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "print_width": "150px",
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0,
+ "width": "150px"
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
"fieldname": "is_return",
"fieldtype": "Check",
"hidden": 0,
@@ -404,6 +337,254 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
+ "fieldname": "section_addresses",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address and Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Select Supplier Address",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_person",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Contact Person",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Contact",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "address_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_mobile",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mobile No",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_email",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Email",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break_address",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "shipping_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Select Shipping Address",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "shipping_address_display",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Shipping Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
"fieldname": "currency_and_price_list",
"fieldtype": "Section Break",
"hidden": 0,
@@ -1581,105 +1762,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
- "depends_on": "supplier",
- "fieldname": "contact_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Details",
- "length": 0,
- "no_copy": 0,
- "options": "icon-bullhorn",
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier_address",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier Address",
- "length": 0,
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_57",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_person",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Person",
- "length": 0,
- "no_copy": 0,
- "options": "Contact",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
"collapsible_depends_on": "supplied_items",
"description": "",
"fieldname": "raw_material_details",
@@ -2035,36 +2117,6 @@
{
"allow_on_submit": 0,
"bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Company",
- "length": 0,
- "no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "print_width": "150px",
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
- "unique": 0,
- "width": "150px"
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
"collapsible": 1,
"fieldname": "printing_settings",
"fieldtype": "Section Break",
@@ -2364,7 +2416,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2016-03-04 04:13:59.425031",
+ "modified": "2016-03-16 15:52:17.581445",
"modified_by": "Administrator",
"module": "Stock",
"name": "Purchase Receipt",
diff --git a/erpnext/stock/report/item_prices/item_prices.py b/erpnext/stock/report/item_prices/item_prices.py
index ffd128d..ca01d19 100644
--- a/erpnext/stock/report/item_prices/item_prices.py
+++ b/erpnext/stock/report/item_prices/item_prices.py
@@ -20,7 +20,7 @@
precision = get_currency_precision() or 2
data = []
for item in sorted(item_map):
- data.append([item, item_map[item]["item_name"],
+ data.append([item, item_map[item]["item_name"],item_map[item]["item_group"],
item_map[item]["description"], item_map[item]["stock_uom"],
flt(last_purchase_rate.get(item, 0), precision),
flt(val_rate_map.get(item, 0), precision),
@@ -34,9 +34,9 @@
def get_columns(filters):
"""return columns based on filters"""
- columns = [_("Item") + ":Link/Item:100", _("Item Name") + "::150", _("Description") + "::150", _("UOM") + ":Link/UOM:80",
- _("Last Purchase Rate") + ":Currency:90", _("Valuation Rate") + ":Currency:80", _("Sales Price List") + "::80",
- _("Purchase Price List") + "::80", _("BOM Rate") + ":Currency:90"]
+ columns = [_("Item") + ":Link/Item:100", _("Item Name") + "::150",_("Item Group") + ":Link/Item Group:125", _("Description") + "::150", _("UOM") + ":Link/UOM:80",
+ _("Last Purchase Rate") + ":Currency:90", _("Valuation Rate") + ":Currency:80", _("Sales Price List") + "::180",
+ _("Purchase Price List") + "::180", _("BOM Rate") + ":Currency:90"]
return columns
@@ -45,9 +45,9 @@
item_map = {}
- for i in frappe.db.sql("select name, item_name, description, \
+ for i in frappe.db.sql("select name, item_group, item_name, description, \
stock_uom from tabItem \
- order by item_code", as_dict=1):
+ order by item_code, item_group", as_dict=1):
item_map.setdefault(i.name, i)
return item_map
@@ -58,9 +58,9 @@
rate = {}
price_list = frappe.db.sql("""select ip.item_code, ip.buying, ip.selling,
- concat(ip.price_list, " - ", ip.currency, " ", ip.price_list_rate) as price
- from `tabItem Price` ip, `tabPrice List` pl
- where ip.price_list=pl.name and pl.enabled=1""", as_dict=1)
+ concat(ifnull(cu.symbol,ip.currency), " ", round(ip.price_list_rate,2), " - ", ip.price_list) as price
+ from `tabItem Price` ip, `tabPrice List` pl, `tabCurrency` cu
+ where ip.price_list=pl.name and pl.currency=cu.name and pl.enabled=1""", as_dict=1)
for j in price_list:
if j.price:
diff --git a/erpnext/utilities/doctype/address/address.json b/erpnext/utilities/doctype/address/address.json
index 0a1356e..313f643 100644
--- a/erpnext/utilities/doctype/address/address.json
+++ b/erpnext/utilities/doctype/address/address.json
@@ -16,6 +16,7 @@
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "",
@@ -24,6 +25,7 @@
"options": "icon-map-marker",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -40,6 +42,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Address Title",
@@ -47,6 +50,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -62,6 +66,7 @@
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "Address Type",
@@ -70,6 +75,7 @@
"options": "Billing\nShipping\nOffice\nPersonal\nPlant\nPostal\nShop\nSubsidiary\nWarehouse\nOther",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -85,6 +91,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Address Line 1",
@@ -92,6 +99,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -107,6 +115,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Address Line 2",
@@ -114,6 +123,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -129,6 +139,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "City/Town",
@@ -136,6 +147,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -151,6 +163,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "State",
@@ -158,6 +171,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -173,6 +187,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Postal Code",
@@ -180,6 +195,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -195,6 +211,7 @@
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Country",
@@ -203,6 +220,7 @@
"options": "Country",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -218,12 +236,14 @@
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -240,6 +260,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Email Id",
@@ -247,6 +268,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -262,6 +284,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Phone",
@@ -269,6 +292,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -284,6 +308,7 @@
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Fax",
@@ -291,6 +316,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -308,6 +334,7 @@
"fieldtype": "Check",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Preferred Billing Address",
@@ -315,6 +342,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -332,6 +360,7 @@
"fieldtype": "Check",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Preferred Shipping Address",
@@ -339,6 +368,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -354,6 +384,7 @@
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Reference",
@@ -362,6 +393,7 @@
"options": "icon-pushpin",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -373,10 +405,65 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "default": "0",
+ "fieldname": "is_your_company_address",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Your Company Address",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_your_company_address",
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Company",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Company",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:!doc.is_your_company_address",
"fieldname": "customer",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Customer",
@@ -385,6 +472,7 @@
"options": "Customer",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -396,10 +484,12 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "eval:!doc.is_your_company_address",
"fieldname": "customer_name",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Customer Name",
@@ -407,6 +497,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -418,10 +509,12 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "eval:!doc.is_your_company_address",
"fieldname": "supplier",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Supplier",
@@ -430,6 +523,7 @@
"options": "Supplier",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -441,10 +535,12 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "eval:!doc.is_your_company_address",
"fieldname": "supplier_name",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Supplier Name",
@@ -452,6 +548,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -463,10 +560,12 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "eval: !doc.is_your_company_address",
"fieldname": "sales_partner",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Sales Partner",
@@ -475,6 +574,7 @@
"options": "Sales Partner",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -486,32 +586,12 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "column_break_22",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:!doc.supplier && !doc.sales_partner",
+ "depends_on": "eval:!doc.supplier && !doc.sales_partner && !doc.is_your_company_address",
"fieldname": "lead",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Lead",
@@ -520,6 +600,7 @@
"options": "Lead",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -531,11 +612,12 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "depends_on": "eval:!doc.supplier && !doc.sales_partner",
+ "depends_on": "eval:!doc.supplier && !doc.sales_partner && !doc.is_your_company_address",
"fieldname": "lead_name",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Lead Name",
@@ -543,6 +625,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -561,7 +644,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2015-11-16 06:29:41.719278",
+ "modified": "2016-03-16 16:10:26.435426",
"modified_by": "Administrator",
"module": "Utilities",
"name": "Address",
diff --git a/erpnext/utilities/doctype/address/address.py b/erpnext/utilities/doctype/address/address.py
index 7f47731..a94bd56 100644
--- a/erpnext/utilities/doctype/address/address.py
+++ b/erpnext/utilities/doctype/address/address.py
@@ -29,6 +29,7 @@
self.link_address()
self.validate_primary_address()
self.validate_shipping_address()
+ self.validate_reference()
def validate_primary_address(self):
"""Validate that there can only be one primary address for particular customer, supplier"""
@@ -49,7 +50,7 @@
if not self.flags.linked:
self.check_if_linked()
- if not self.flags.linked:
+ if not self.flags.linked and not self.is_your_company_address:
contact = frappe.db.get_value("Contact", {"email_id": self.owner},
("name", "customer", "supplier"), as_dict = True)
if contact:
@@ -68,6 +69,13 @@
"""Validate that there can only be one shipping address for particular customer, supplier"""
if self.is_shipping_address == 1:
self._unset_other("is_shipping_address")
+
+ def validate_reference(self):
+ if self.is_your_company_address:
+ if not self.company:
+ frappe.throw(_("Company is mandatory, as it is your company address"))
+ if self.customer or self.supplier or self.sales_partner or self.lead:
+ frappe.throw(_("Remove reference of customer, supplier, sales partner and lead, as it is your company address"))
def _unset_other(self, is_address_type):
for fieldname in ["customer", "supplier", "sales_partner", "lead"]:
@@ -83,20 +91,12 @@
def get_address_display(address_dict):
if not address_dict:
return
+
if not isinstance(address_dict, dict):
address_dict = frappe.db.get_value("Address", address_dict, "*", as_dict=True) or {}
- data = frappe.db.get_value("Address Template", \
- {"country": address_dict.get("country")}, ["name", "template"])
- if not data:
- data = frappe.db.get_value("Address Template", \
- {"is_default": 1}, ["name", "template"])
-
- if not data:
- frappe.throw(_("No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template."))
-
- name, template = data
-
+ name, template = get_address_templates(address_dict)
+
try:
return frappe.render_template(template, address_dict)
except TemplateSyntaxError:
@@ -138,3 +138,27 @@
return doc.lead == lead
return False
+
+def get_address_templates(address):
+ result = frappe.db.get_value("Address Template", \
+ {"country": address.get("country")}, ["name", "template"])
+
+ if not result:
+ result = frappe.db.get_value("Address Template", \
+ {"is_default": 1}, ["name", "template"])
+
+ if not result:
+ frappe.throw(_("No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template."))
+ else:
+ return result
+
+@frappe.whitelist()
+def get_shipping_address(company):
+ filters = {"company": company, "is_your_company_address":1}
+ fieldname = ["name", "address_line1", "address_line2", "city", "state", "country"]
+
+ address_as_dict = frappe.db.get_value("Address", filters=filters, fieldname=fieldname, as_dict=True)
+
+ if address_as_dict:
+ name, address_template = get_address_templates(address_as_dict)
+ return address_as_dict.get("name"), frappe.render_template(address_template, address_as_dict)