From 177ca8dbbd96349b5e490cb3d1d58aa71d92340d Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 1 Mar 2012 10:54:34 +0530 Subject: [PATCH 1/4] Description changed --- erpnext/selling/doctype/customer/customer.txt | 447 +++++++++--------- 1 file changed, 211 insertions(+), 236 deletions(-) diff --git a/erpnext/selling/doctype/customer/customer.txt b/erpnext/selling/doctype/customer/customer.txt index 24271ee688..346b4d1029 100644 --- a/erpnext/selling/doctype/customer/customer.txt +++ b/erpnext/selling/doctype/customer/customer.txt @@ -5,47 +5,48 @@ { 'creation': '2010-08-08 17:08:56', 'docstatus': 0, - 'modified': '2011-07-20 10:42:05', - 'modified_by': 'Administrator', - 'owner': 'Administrator' + 'modified': '2012-02-29 13:24:31', + 'modified_by': u'Administrator', + 'owner': u'Administrator' }, # These values are common for all DocType { - '_last_update': '1309508837', + '_last_update': u'1330501485', 'allow_print': 0, 'allow_trash': 1, - 'colour': 'White:FFF', + 'colour': u'White:FFF', + 'default_print_format': u'Standard', 'doctype': 'DocType', - 'document_type': 'Master', - 'module': 'Selling', + 'document_type': u'Master', + 'module': u'Selling', 'name': '__common__', - 'search_fields': 'customer_name,customer_group,country,territory', - 'section_style': 'Tabbed', - 'server_code_error': ' ', + 'search_fields': u'customer_name,customer_group,country,territory', + 'section_style': u'Tabbed', + 'server_code_error': u' ', 'show_in_menu': 0, - 'subject': "eval:'%(customer_name)s'=='%(name)s' ? ' ' : '%(customer_name)s'", - 'tag_fields': 'customer_group,customer_type', - 'version': 433 + 'subject': u'eval:"%(customer_name)s"=="%(name)s" ? "" : "%(customer_name)s"', + 'tag_fields': u'customer_group,customer_type', + 'version': 434 }, # These values are common for all DocField { - 'doctype': 'DocField', + 'doctype': u'DocField', 'name': '__common__', - 'parent': 'Customer', - 'parentfield': 'fields', - 'parenttype': 'DocType' + 'parent': u'Customer', + 'parentfield': u'fields', + 'parenttype': u'DocType' }, # These values are common for all DocPerm { 'amend': 0, - 'doctype': 'DocPerm', + 'doctype': u'DocPerm', 'name': '__common__', - 'parent': 'Customer', - 'parentfield': 'permissions', - 'parenttype': 'DocType', + 'parent': u'Customer', + 'parentfield': u'permissions', + 'parenttype': u'DocType', 'read': 1, 'submit': 0 }, @@ -53,17 +54,16 @@ # DocType, Customer { 'doctype': 'DocType', - 'name': 'Customer' + 'name': u'Customer' }, # DocPerm { 'cancel': 0, 'create': 0, - 'doctype': 'DocPerm', - 'idx': 1, + 'doctype': u'DocPerm', 'permlevel': 1, - 'role': 'Sales Manager', + 'role': u'Sales Manager', 'write': 0 }, @@ -71,10 +71,9 @@ { 'cancel': 0, 'create': 0, - 'doctype': 'DocPerm', - 'idx': 2, + 'doctype': u'DocPerm', 'permlevel': 0, - 'role': 'Sales Manager', + 'role': u'Sales Manager', 'write': 0 }, @@ -82,10 +81,9 @@ { 'cancel': 0, 'create': 0, - 'doctype': 'DocPerm', - 'idx': 3, + 'doctype': u'DocPerm', 'permlevel': 1, - 'role': 'Sales User', + 'role': u'Sales User', 'write': 0 }, @@ -93,10 +91,9 @@ { 'cancel': 0, 'create': 0, - 'doctype': 'DocPerm', - 'idx': 4, + 'doctype': u'DocPerm', 'permlevel': 0, - 'role': 'Sales User', + 'role': u'Sales User', 'write': 0 }, @@ -104,10 +101,9 @@ { 'cancel': 1, 'create': 1, - 'doctype': 'DocPerm', - 'idx': 5, + 'doctype': u'DocPerm', 'permlevel': 0, - 'role': 'Sales Master Manager', + 'role': u'Sales Master Manager', 'write': 1 }, @@ -115,38 +111,35 @@ { 'cancel': 0, 'create': 0, - 'doctype': 'DocPerm', - 'idx': 6, + 'doctype': u'DocPerm', 'permlevel': 1, - 'role': 'Sales Master Manager', + 'role': u'Sales Master Manager', 'write': 0 }, # DocField { - 'colour': 'White:FFF', - 'description': 'Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts', - 'doctype': 'DocField', - 'fieldtype': 'Section Break', - 'idx': 1, - 'label': 'Basic Info', - 'oldfieldtype': 'Section Break', + 'colour': u'White:FFF', + 'description': u'Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts', + 'doctype': u'DocField', + 'fieldtype': u'Section Break', + 'label': u'Basic Info', + 'oldfieldtype': u'Section Break', 'permlevel': 0, 'reqd': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'customer_name', - 'fieldtype': 'Data', + 'doctype': u'DocField', + 'fieldname': u'customer_name', + 'fieldtype': u'Data', 'hidden': 0, - 'idx': 2, 'in_filter': 1, - 'label': 'Customer Name', + 'label': u'Customer Name', 'no_copy': 1, - 'oldfieldname': 'customer_name', - 'oldfieldtype': 'Data', + 'oldfieldname': u'customer_name', + 'oldfieldtype': u'Data', 'permlevel': 0, 'print_hide': 0, 'report_hide': 0, @@ -156,330 +149,312 @@ # DocField { - 'doctype': 'DocField', - 'fieldname': 'customer_type', - 'fieldtype': 'Select', - 'idx': 3, - 'label': 'Customer Type', - 'oldfieldname': 'customer_type', - 'oldfieldtype': 'Select', - 'options': '\nCompany\nIndividual', + 'doctype': u'DocField', + 'fieldname': u'customer_type', + 'fieldtype': u'Select', + 'label': u'Customer Type', + 'oldfieldname': u'customer_type', + 'oldfieldtype': u'Select', + 'options': u'\nCompany\nIndividual', 'permlevel': 0, 'reqd': 1 }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'naming_series', - 'fieldtype': 'Select', - 'idx': 4, - 'label': 'Series', + 'doctype': u'DocField', + 'fieldname': u'naming_series', + 'fieldtype': u'Select', + 'label': u'Series', 'no_copy': 1, - 'options': '\nCUST\nCUSTMUM\nCUSTOM', + 'options': u'\nCUST\nCUSTMUM', 'permlevel': 0, 'print_hide': 0 }, # DocField { - 'colour': 'White:FFF', - 'description': 'Fetch lead which will be converted into customer.', - 'doctype': 'DocField', - 'fieldname': 'lead_name', - 'fieldtype': 'Link', + 'colour': u'White:FFF', + 'description': u'Fetch lead which will be converted into customer.', + 'doctype': u'DocField', + 'fieldname': u'lead_name', + 'fieldtype': u'Link', 'hidden': 0, - 'idx': 5, 'in_filter': 1, - 'label': 'Lead Ref', + 'label': u'Lead Ref', 'no_copy': 1, - 'oldfieldname': 'lead_name', - 'oldfieldtype': 'Link', - 'options': 'Lead', + 'oldfieldname': u'lead_name', + 'oldfieldtype': u'Link', + 'options': u'Lead', 'permlevel': 0, 'print_hide': 1, 'report_hide': 1, - 'trigger': 'Client' + 'trigger': u'Client' }, # DocField { - 'doctype': 'DocField', - 'fieldtype': 'Column Break', - 'idx': 6, + 'doctype': u'DocField', + 'fieldtype': u'Column Break', 'permlevel': 0, - 'width': '50%' + 'width': u'50%' }, # DocField { - 'colour': 'White:FFF', - 'description': 'To manage Customer Groups, click here', - 'doctype': 'DocField', - 'fieldname': 'customer_group', - 'fieldtype': 'Link', + 'colour': u'White:FFF', + 'description': u'To manage Customer Groups, click here', + 'doctype': u'DocField', + 'fieldname': u'customer_group', + 'fieldtype': u'Link', 'hidden': 0, - 'idx': 7, 'in_filter': 1, - 'label': 'Customer Group', - 'oldfieldname': 'customer_group', - 'oldfieldtype': 'Link', - 'options': 'Customer Group', + 'label': u'Customer Group', + 'oldfieldname': u'customer_group', + 'oldfieldtype': u'Link', + 'options': u'Customer Group', 'permlevel': 0, 'print_hide': 0, 'reqd': 1, 'search_index': 1, - 'trigger': 'Client' + 'trigger': u'Client' }, # DocField { - 'colour': 'White:FFF', - 'description': 'To manage Territory, click here', - 'doctype': 'DocField', - 'fieldname': 'territory', - 'fieldtype': 'Link', - 'idx': 8, - 'label': 'Territory', - 'oldfieldname': 'territory', - 'oldfieldtype': 'Link', - 'options': 'Territory', + 'colour': u'White:FFF', + 'description': u'To manage Territory, click here', + 'doctype': u'DocField', + 'fieldname': u'territory', + 'fieldtype': u'Link', + 'label': u'Territory', + 'oldfieldname': u'territory', + 'oldfieldtype': u'Link', + 'options': u'Territory', 'permlevel': 0, 'print_hide': 1, 'reqd': 1, - 'trigger': 'Client' + 'trigger': u'Client' }, # DocField { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Section Break', - 'idx': 9, - 'label': 'Address & Contacts', + 'colour': u'White:FFF', + 'doctype': u'DocField', + 'fieldtype': u'Section Break', + 'label': u'Address & Contacts', 'permlevel': 0 }, # DocField { - 'colour': 'White:FFF', - 'depends_on': 'eval:doc.__islocal', - 'doctype': 'DocField', - 'fieldtype': 'HTML', - 'idx': 10, - 'label': 'Address Desc', - 'options': 'Addresses will appear only when you save the customer', + 'colour': u'White:FFF', + 'depends_on': u'eval:doc.__islocal', + 'doctype': u'DocField', + 'fieldtype': u'HTML', + 'label': u'Address Desc', + 'options': u'Addresses will appear only when you save the customer', 'permlevel': 0 }, # DocField { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'HTML', - 'idx': 11, - 'label': 'Address HTML', + 'colour': u'White:FFF', + 'doctype': u'DocField', + 'fieldtype': u'HTML', + 'label': u'Address HTML', 'permlevel': 1 }, # DocField { - 'doctype': 'DocField', - 'fieldtype': 'Column Break', - 'idx': 12, + 'doctype': u'DocField', + 'fieldtype': u'Column Break', 'permlevel': 0, - 'width': '50%' + 'width': u'50%' }, # DocField { - 'colour': 'White:FFF', - 'depends_on': 'eval:doc.__islocal', - 'doctype': 'DocField', - 'fieldtype': 'HTML', - 'idx': 13, - 'label': 'Contact Desc', - 'options': 'Contact Details will appear only when you save the customer', + 'colour': u'White:FFF', + 'depends_on': u'eval:doc.__islocal', + 'doctype': u'DocField', + 'fieldtype': u'HTML', + 'label': u'Contact Desc', + 'options': u'Contact Details will appear only when you save the customer', 'permlevel': 0 }, # DocField { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'HTML', - 'idx': 14, - 'label': 'Contact HTML', - 'oldfieldtype': 'HTML', + 'colour': u'White:FFF', + 'doctype': u'DocField', + 'fieldtype': u'HTML', + 'label': u'Contact HTML', + 'oldfieldtype': u'HTML', 'permlevel': 1 }, # DocField { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Section Break', - 'idx': 15, - 'label': 'More Info', - 'oldfieldtype': 'Section Break', + 'colour': u'White:FFF', + 'doctype': u'DocField', + 'fieldtype': u'Section Break', + 'label': u'More Info', + 'oldfieldtype': u'Section Break', 'permlevel': 0 }, # DocField { - 'colour': 'White:FFF', - 'description': 'To create an Account Head under a different company, then set the company and click the button below.', - 'doctype': 'DocField', - 'fieldname': 'company', - 'fieldtype': 'Link', - 'idx': 16, + 'doctype': u'DocField', + 'fieldtype': u'Column Break', + 'permlevel': 0, + 'width': u'50%' + }, + + # DocField + { + 'colour': u'White:FFF', + 'description': u'To create an Account Head under a different company, select the company and save customer.', + 'doctype': u'DocField', + 'fieldname': u'company', + 'fieldtype': u'Link', 'in_filter': 1, - 'label': 'Company', - 'oldfieldname': 'company', - 'oldfieldtype': 'Link', - 'options': 'Company', + 'label': u'Company', + 'oldfieldname': u'company', + 'oldfieldtype': u'Link', + 'options': u'Company', 'permlevel': 0, 'reqd': 1, - 'search_index': 0 + 'search_index': 1 }, # DocField { - 'colour': 'White:FFF', - 'description': "Your Customer's TAX registration numbers (if applicable) or any general information", - 'doctype': 'DocField', - 'fieldname': 'customer_details', - 'fieldtype': 'Text', - 'idx': 17, - 'label': 'Customer Details', - 'oldfieldname': 'customer_details', - 'oldfieldtype': 'Code', + 'colour': u'White:FFF', + 'description': u"Your Customer's TAX registration numbers (if applicable) or any general information", + 'doctype': u'DocField', + 'fieldname': u'customer_details', + 'fieldtype': u'Text', + 'label': u'Customer Details', + 'oldfieldname': u'customer_details', + 'oldfieldtype': u'Code', 'permlevel': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldtype': 'Column Break', - 'idx': 18, + 'doctype': u'DocField', + 'fieldtype': u'Column Break', 'permlevel': 0, - 'width': '50%' + 'width': u'50%' }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'credit_days', - 'fieldtype': 'Int', - 'idx': 19, - 'label': 'Credit Days', - 'oldfieldname': 'credit_days', - 'oldfieldtype': 'Int', + 'doctype': u'DocField', + 'fieldname': u'credit_days', + 'fieldtype': u'Int', + 'label': u'Credit Days', + 'oldfieldname': u'credit_days', + 'oldfieldtype': u'Int', 'permlevel': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'credit_limit', - 'fieldtype': 'Currency', - 'idx': 20, - 'label': 'Credit Limit', - 'oldfieldname': 'credit_limit', - 'oldfieldtype': 'Currency', + 'doctype': u'DocField', + 'fieldname': u'credit_limit', + 'fieldtype': u'Currency', + 'label': u'Credit Limit', + 'oldfieldname': u'credit_limit', + 'oldfieldtype': u'Currency', 'permlevel': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'website', - 'fieldtype': 'Data', - 'idx': 21, - 'label': 'Website', + 'doctype': u'DocField', + 'fieldname': u'website', + 'fieldtype': u'Data', + 'label': u'Website', 'permlevel': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldtype': 'Section Break', - 'idx': 22, - 'label': 'Sales Team', - 'oldfieldtype': 'Section Break', + 'doctype': u'DocField', + 'fieldtype': u'Section Break', + 'label': u'Sales Team', + 'oldfieldtype': u'Section Break', 'permlevel': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'default_sales_partner', - 'fieldtype': 'Link', - 'idx': 23, - 'label': 'Default Sales Partner', - 'oldfieldname': 'default_sales_partner', - 'oldfieldtype': 'Link', - 'options': 'Sales Partner', + 'doctype': u'DocField', + 'fieldname': u'default_sales_partner', + 'fieldtype': u'Link', + 'label': u'Default Sales Partner', + 'oldfieldname': u'default_sales_partner', + 'oldfieldtype': u'Link', + 'options': u'Sales Partner', 'permlevel': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'default_commission_rate', - 'fieldtype': 'Currency', - 'idx': 24, - 'label': 'Default Commission Rate', - 'oldfieldname': 'default_commission_rate', - 'oldfieldtype': 'Currency', + 'doctype': u'DocField', + 'fieldname': u'default_commission_rate', + 'fieldtype': u'Currency', + 'label': u'Default Commission Rate', + 'oldfieldname': u'default_commission_rate', + 'oldfieldtype': u'Currency', 'permlevel': 0 }, # DocField { - 'doctype': 'DocField', - 'fieldname': 'sales_team', - 'fieldtype': 'Table', - 'idx': 25, - 'label': 'Sales Team Details', - 'oldfieldname': 'sales_team', - 'oldfieldtype': 'Table', - 'options': 'Sales Team', + 'doctype': u'DocField', + 'fieldname': u'sales_team', + 'fieldtype': u'Table', + 'label': u'Sales Team Details', + 'oldfieldname': u'sales_team', + 'oldfieldtype': u'Table', + 'options': u'Sales Team', 'permlevel': 0 }, # DocField { - 'colour': 'White:FFF', - 'depends_on': 'eval:!doc.__islocal', - 'doctype': 'DocField', - 'fieldtype': 'Section Break', - 'idx': 26, - 'label': 'Transaction History', + 'colour': u'White:FFF', + 'depends_on': u'eval:!doc.__islocal', + 'doctype': u'DocField', + 'fieldtype': u'Section Break', + 'label': u'Transaction History', 'permlevel': 0 }, # DocField { - 'colour': 'White:FFF', - 'depends_on': 'eval:!doc.__islocal', - 'doctype': 'DocField', - 'fieldtype': 'HTML', - 'idx': 27, - 'label': 'History HTML', + 'colour': u'White:FFF', + 'depends_on': u'eval:!doc.__islocal', + 'doctype': u'DocField', + 'fieldtype': u'HTML', + 'label': u'History HTML', 'permlevel': 0 }, # DocField { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldname': 'trash_reason', - 'fieldtype': 'Small Text', - 'idx': 28, - 'label': 'Trash Reason', - 'oldfieldname': 'trash_reason', - 'oldfieldtype': 'Small Text', + 'colour': u'White:FFF', + 'doctype': u'DocField', + 'fieldname': u'trash_reason', + 'fieldtype': u'Small Text', + 'label': u'Trash Reason', + 'oldfieldname': u'trash_reason', + 'oldfieldtype': u'Small Text', 'permlevel': 1 } ] \ No newline at end of file From 284a07e23b3ea60d42025a9dc62238cdd477fca4 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 1 Mar 2012 10:55:41 +0530 Subject: [PATCH 2/4] if more info unchecked, more info in customer, supplier will be visible --- erpnext/startup/feature_setup.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/erpnext/startup/feature_setup.js b/erpnext/startup/feature_setup.js index 8644c1dd84..6a5974a5a8 100644 --- a/erpnext/startup/feature_setup.js +++ b/erpnext/startup/feature_setup.js @@ -149,7 +149,6 @@ pscript.feature_dict = { 'Sales Order': {'fields':['sales_team','Packing List']} }, 'fs_more_info': { - 'Customer': {'fields':['More Info']}, 'Delivery Note': {'fields':['More Info']}, 'Enquiry': {'fields':['More Info']}, 'Indent': {'fields':['More Info']}, @@ -160,8 +159,6 @@ pscript.feature_dict = { 'Quotation': {'fields':['More Info']}, 'Receivable Voucher': {'fields':['More Info']}, 'Sales Order': {'fields':['More Info']}, - 'Serial No': {'fields':['More Info']}, - 'Supplier': {'fields':['More Info']} }, 'fs_quality': { 'Item': {'fields':['Item Inspection Criteria','inspection_required']}, From df78d20fab0e7b600d9917930019b254802f5593 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 1 Mar 2012 10:56:50 +0530 Subject: [PATCH 3/4] is_onload is global now --- js/all-app.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/all-app.js b/js/all-app.js index 62d63ce67f..9bd715c226 100644 --- a/js/all-app.js +++ b/js/all-app.js @@ -1712,12 +1712,12 @@ nav_obj.show_last_open();return 0;} return 1} _f.Frm.prototype.refresh=function(docname){if(docname){if(this.docname!=docname&&!this.meta.in_dialog&&!this.meta.istable)scroll(0,0);this.docname=docname;} if(!this.meta.istable){cur_frm=this;this.parent.cur_frm=this;} -if(this.docname){if(!this.check_doc_perm())return;if(!this.setup_done)this.setup();this.runclientscript('set_perm',this.doctype,this.docname);this.doc=get_local(this.doctype,this.docname);var is_onload=false;if(!this.opendocs[this.docname]){is_onload=true;this.setnewdoc(this.docname);} +if(this.docname){if(!this.check_doc_perm())return;if(!this.setup_done)this.setup();this.runclientscript('set_perm',this.doctype,this.docname);this.doc=get_local(this.doctype,this.docname);cur_frm.cscript.is_onload=false;if(!this.opendocs[this.docname]){cur_frm.cscript.is_onload=true;this.setnewdoc(this.docname);} if(this.doc.__islocal) this.is_editable[this.docname]=1;this.editable=this.is_editable[this.docname];if(!this.doc.__archived&&(this.editable||(!this.editable&&this.meta.istable))){if(this.print_wrapper){$dh(this.print_wrapper);$ds(this.page_layout.wrapper);} if(!this.meta.istable){this.refresh_header();this.sidebar&&this.sidebar.refresh();} this.runclientscript('refresh');$(document).trigger('form_refresh') -this.refresh_tabs();this.refresh_fields();this.refresh_dependency();this.refresh_footer();if(this.layout)this.layout.show();if(is_onload) +this.refresh_tabs();this.refresh_fields();this.refresh_dependency();this.refresh_footer();if(this.layout)this.layout.show();if(cur_frm.cscript.is_onload) this.runclientscript('onload_post_render',this.doctype,this.docname);}else{this.refresh_header();if(this.print_wrapper){this.refresh_print_layout();} this.runclientscript('edit_status_changed');} if(!this.display)this.show_the_frm();if(!this.meta.in_dialog)page_body.change_to('Forms');$(cur_frm.wrapper).trigger('render_complete');}} @@ -2254,7 +2254,7 @@ if(user_roles.indexOf("System Manager")!=-1){$('.navbar .modules').append('
  • Date: Thu, 1 Mar 2012 10:57:23 +0530 Subject: [PATCH 4/4] form cleanup: fixed callback issues --- css/all-app.css | 2 +- css/all-web.css | 2 +- .../receivable_voucher/receivable_voucher.js | 49 +++++++------ .../receivable_voucher/receivable_voucher.py | 19 ++--- .../selling/doctype/quotation/quotation.js | 12 ++-- .../selling/doctype/quotation/quotation.py | 13 ++-- .../doctype/sales_common/sales_common.js | 72 +++++++++---------- .../doctype/sales_common/sales_common.py | 26 +++---- .../doctype/sales_order/sales_order.js | 17 +++-- .../doctype/sales_order/sales_order.py | 15 ++-- .../doctype/delivery_note/delivery_note.js | 12 ++-- .../doctype/delivery_note/delivery_note.py | 15 ++-- version.num | 2 +- 13 files changed, 121 insertions(+), 135 deletions(-) diff --git a/css/all-app.css b/css/all-app.css index b49caedee9..b2fd2e5732 100644 --- a/css/all-app.css +++ b/css/all-app.css @@ -1043,7 +1043,7 @@ div.dialog_head { } div.dialog_body { - padding: 8px 8px 16px; + padding: 8px 4px 16px 4px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; diff --git a/css/all-web.css b/css/all-web.css index bebfe9a334..9359de898e 100644 --- a/css/all-web.css +++ b/css/all-web.css @@ -362,7 +362,7 @@ div.dialog_head { } div.dialog_body { - padding: 8px 8px 16px; + padding: 8px 4px 16px 4px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js index bc0a145173..391bbcd8ae 100644 --- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js +++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js @@ -42,27 +42,31 @@ cur_frm.cscript.onload = function(doc,dt,dn) { } cur_frm.cscript.onload_post_render = function(doc, dt, dn) { - var callback2 = null; - if(doc.customer && doc.__islocal) { + var callback = function(doc, dt, dn) { // called from mapper, update the account names for items and customer - callback2 = function(doc, dt, dn) { - $c_obj(make_doclist(doc.doctype,doc.name), - 'load_default_accounts','', - function(r,rt) { - refresh_field('entries'); - cur_frm.cscript.customer(doc,dt,dn,onload=true); - } - ); + var callback2 = function(doc, dt, dn) { + if(doc.customer && doc.__islocal) { + $c_obj(make_doclist(doc.doctype,doc.name), + 'load_default_accounts','', + function(r,rt) { + refresh_field('entries'); + cur_frm.cscript.customer(doc,dt,dn,onload=true); + } + ); + } + } + // defined in sales_common.js + var callback1 = function(doc, dt, dn) { + //for previously created sales invoice, set required field related to pos + cur_frm.cscript.update_item_details(doc, dt, dn, callback2); } - } - // defined in sales_common.js - var callback1 = function(doc, dt, dn) { - //for previously created sales invoice, set required field related to pos - cur_frm.cscript.update_item_details(doc, dt, dn, callback2); - } - if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn,callback1); - else cur_frm.cscript.update_item_details(doc, dt, dn, callback2); + if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn,callback1); + else cur_frm.cscript.update_item_details(doc, dt, dn, callback2); + } + + cur_frm.cscript.hide_price_list_currency(doc, dt, dn, callback); + } @@ -97,16 +101,11 @@ cur_frm.cscript.hide_fields = function(doc, cdt, cdn) { cur_frm.cscript.refresh = function(doc, dt, dn) { cur_frm.cscript.is_opening(doc, dt, dn); cur_frm.cscript.hide_fields(doc, dt, dn); - - var callback = function() { - cur_frm.cscript.dynamic_label(doc, dt, dn); - } - cur_frm.cscript.hide_price_list_currency(doc, dt, dn, callback); - - // Show / Hide button cur_frm.clear_custom_buttons(); + if (!cur_frm.cscript.is_onload) cur_frm.cscript.hide_price_list_currency(doc, dt, dn); + if(doc.docstatus==1) { cur_frm.add_custom_button('View Ledger', cur_frm.cscript['View Ledger Entry']); cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']); diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py index 03fd7620ca..d09adc2e64 100644 --- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py +++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py @@ -167,16 +167,19 @@ class DocType(TransactionBase): # Item Details # ------------- def get_item_details(self, args=None): - args = eval(args) - if args['item_code']: + args = args and eval(args) or {} + if args.get('item_code'): ret = get_obj('Sales Common').get_item_details(args, self) return self.get_pos_details(args, ret) else: obj = get_obj('Sales Common') for doc in self.doclist: if doc.fields.get('item_code'): - ret = obj.get_item_details(doc.item_code, self) - ret = self.get_pos_details(doc.item_code, ret) + arg = {'item_code':doc.fields.get('item_code'), 'income_account':doc.fields.get('income_account'), + 'cost_center': doc.fields.get('cost_center'), 'warehouse': doc.fields.get('warehouse')}; + + ret = obj.get_item_details(arg, self) + ret = self.get_pos_details(arg, ret) for r in ret: if not doc.fields.get(r): doc.fields[r] = ret[r] @@ -205,14 +208,6 @@ class DocType(TransactionBase): get_obj('Sales Common').get_adj_percent(self) - def get_comp_base_currency(self): - return get_obj('Sales Common').get_comp_base_currency(self.doc.company) - - def get_price_list_currency(self): - return get_obj('Sales Common').get_price_list_currency(self.doc.price_list_name, self.doc.company) - - - # Get tax rate if account type is tax # ------------------------------------ def get_rate(self,arg): diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js index 2a130a59cb..7f40782d0c 100644 --- a/erpnext/selling/doctype/quotation/quotation.js +++ b/erpnext/selling/doctype/quotation/quotation.js @@ -50,8 +50,11 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { } cur_frm.cscript.onload_post_render = function(doc, dt, dn) { - // defined in sales_common.js - cur_frm.cscript.update_item_details(doc, cdt, cdn); + var callback = function(doc, dt, dn) { + // defined in sales_common.js + cur_frm.cscript.update_item_details(doc, dt, dn); + } + cur_frm.cscript.hide_price_list_currency(doc, dt, dn, callback); } // hide - unhide fields based on lead or customer.. @@ -83,10 +86,7 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.clear_custom_buttons(); - var callback = function() { - cur_frm.cscript.dynamic_label(doc, cdt, cdn); - } - cur_frm.cscript.hide_price_list_currency(doc, cdt, cdn, callback); + if (!cur_frm.cscript.is_onload) cur_frm.cscript.hide_price_list_currency(doc, cdt, cdn); if(doc.docstatus == 1 && doc.status!='Order Lost') { diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py index 531de21ed4..de4056d2d6 100644 --- a/erpnext/selling/doctype/quotation/quotation.py +++ b/erpnext/selling/doctype/quotation/quotation.py @@ -77,14 +77,16 @@ class DocType(TransactionBase): # Get Item Details # ----------------- def get_item_details(self, args=None): - args = eval(args) - if args['item_code']: + args = args and eval(args) or {} + if args.get('item_code'): return get_obj('Sales Common').get_item_details(args, self) else: obj = get_obj('Sales Common') for doc in self.doclist: if doc.fields.get('item_code'): - ret = obj.get_item_details(doc.item_code, self) + arg = {'item_code':doc.fields.get('item_code'), 'income_account':doc.fields.get('income_account'), + 'cost_center': doc.fields.get('cost_center'), 'warehouse': doc.fields.get('warehouse')}; + ret = obj.get_item_details(arg, self) for r in ret: if not doc.fields.get(r): doc.fields[r] = ret[r] @@ -96,11 +98,6 @@ class DocType(TransactionBase): get_obj('Sales Common').get_adj_percent(self) - def get_comp_base_currency(self): - return get_obj('Sales Common').get_comp_base_currency(self.doc.company) - - def get_price_list_currency(self): - return get_obj('Sales Common').get_price_list_currency(self.doc.price_list_name, self.doc.company) # OTHER CHARGES TRIGGER FUNCTIONS diff --git a/erpnext/selling/doctype/sales_common/sales_common.js b/erpnext/selling/doctype/sales_common/sales_common.js index 5d88c3034b..b9bff5c37a 100644 --- a/erpnext/selling/doctype/sales_common/sales_common.js +++ b/erpnext/selling/doctype/sales_common/sales_common.js @@ -75,7 +75,6 @@ cur_frm.cscript.update_item_details = function(doc, dt, dn, callback) { - // ============== Customer and its primary contact Details ============================ cur_frm.cscript.customer = function(doc, cdt, cdn) { if(doc.customer){ @@ -136,17 +135,11 @@ var set_dynamic_label_child = function(doc, cdt, cdn, base_curr) { // Change label dynamically based on currency //------------------------------------------------------------------ -cur_frm.cscript.dynamic_label = function(doc, cdt, cdn) { - var callback = function(r, rt) { - if (r.message) base_curr = r.message; - else base_curr = sys_defaults['currency']; +cur_frm.cscript.dynamic_label = function(doc, cdt, cdn, base_curr, callback) { + set_dynamic_label_par(doc, cdt, cdn, base_curr); + set_dynamic_label_child(doc, cdt, cdn, base_curr); - set_dynamic_label_par(doc, cdt, cdn, base_curr); - set_dynamic_label_child(doc, cdt, cdn, base_curr); - } - - if (doc.company == sys_defaults['company']) callback('', ''); - else $c_obj(make_doclist(doc.doctype, doc.name), 'get_comp_base_currency', '', callback); + if (callback) callback(doc, cdt, cdn); } @@ -155,27 +148,30 @@ cur_frm.cscript.dynamic_label = function(doc, cdt, cdn) { cur_frm.cscript.hide_price_list_currency = function(doc, cdt, cdn, callback1) { if (doc.price_list_name && doc.currency) { - var callback = function(r, rt) { - pl_currency = r.message[0]?r.message[0]:[]; - if (pl_currency.length==1) { - if (pl_currency[0] == doc.currency) set_multiple(cdt, cdn, {price_list_currency:doc.currency, plc_conversion_rate:doc.conversion_rate}); - else if (pl_currency[0] = r.message[1]) set_multiple(cdt, cdn, {price_list_currency:pl_currency[0], plc_conversion_rate:1}) - hide_field(['price_list_currency', 'plc_conversion_rate']); - } else unhide_field(['price_list_currency', 'plc_conversion_rate']); + wn.call({ + method: 'selling.doctype.sales_common.sales_common.get_price_list_currency', + args: {'price_list':doc.price_list_name, 'company': doc.company}, + callback: function(r, rt) { + pl_currency = r.message[0]?r.message[0]:[]; + if (pl_currency.length==1) { + if (pl_currency[0] == doc.currency) set_multiple(cdt, cdn, {price_list_currency:doc.currency, plc_conversion_rate:doc.conversion_rate}); + else if (pl_currency[0] = r.message[1]) set_multiple(cdt, cdn, {price_list_currency:pl_currency[0], plc_conversion_rate:1}) + hide_field(['price_list_currency', 'plc_conversion_rate']); + } else unhide_field(['price_list_currency', 'plc_conversion_rate']); - if (r.message[1] == doc.currency) { - set_multiple(cdt, cdn, {conversion_rate:1}); - hide_field(['conversion_rate', 'grand_total_export', 'in_words_export', 'rounded_total_export']); - } else unhide_field(['conversion_rate', 'grand_total_export', 'in_words_export', 'rounded_total_export']); + if (r.message[1] == doc.currency) { + set_multiple(cdt, cdn, {conversion_rate:1}); + hide_field(['conversion_rate', 'grand_total_export', 'in_words_export', 'rounded_total_export']); + } else unhide_field(['conversion_rate', 'grand_total_export', 'in_words_export', 'rounded_total_export']); - if (r.message[1] == doc.price_list_currency) { - set_multiple(cdt, cdn, {plc_conversion_rate:1}); - hide_field('plc_conversion_rate'); - } else unhide_field('plc_conversion_rate'); - - callback1() - } - $c_obj(make_doclist(doc.doctype, doc.name), 'get_price_list_currency', '', callback); + if (r.message[1] == doc.price_list_currency) { + set_multiple(cdt, cdn, {plc_conversion_rate:1}); + hide_field('plc_conversion_rate'); + } else unhide_field('plc_conversion_rate'); + + cur_frm.cscript.dynamic_label(doc, cdt, cdn, r.message[1], callback1); + } + }) } } @@ -213,12 +209,15 @@ cur_frm.cscript.conversion_rate = cur_frm.cscript.currency; cur_frm.cscript.plc_conversion_rate = cur_frm.cscript.currency; cur_frm.cscript.company = function(doc, dt, dn) { - var callback = function(r, rt) { - var doc = locals[dt][dn]; - set_multiple(doc.doctype, doc.name, {currency:r.message,price_list_currency:r.message}); - cur_frm.cscript.currency(doc, cdt, cdn); - } - $c_obj(make_doclist(doc.doctype, doc.name), 'get_comp_base_currency', '', callback); + wn.call({ + method: 'selling.doctype.sales_common.sales_common.get_comp_base_currency', + args: {company:doc.company}, + callback: function(r, rt) { + var doc = locals[dt][dn]; + set_multiple(doc.doctype, doc.name, {currency:r.message, price_list_currency:r.message}); + cur_frm.cscript.currency(doc, cdt, cdn); + } + }); } @@ -234,7 +233,6 @@ cur_frm.cscript.price_list_name = function(doc, cdt, cdn) { refresh_field(fname); var doc = locals[cdt][cdn]; cur_frm.cscript.recalc(doc,3); //this is to re-calculate BASIC RATE and AMOUNT on basis of changed REF RATE - cur_frm.cscript.dynamic_label(doc, cdt, cdn); } ); } diff --git a/erpnext/selling/doctype/sales_common/sales_common.py b/erpnext/selling/doctype/sales_common/sales_common.py index 003c3bd7f3..a5017c2ef0 100644 --- a/erpnext/selling/doctype/sales_common/sales_common.py +++ b/erpnext/selling/doctype/sales_common/sales_common.py @@ -178,18 +178,6 @@ class DocType(TransactionBase): d.export_amount = flt(d.qty)*flt(base_ref_rate)/flt(obj.doc.conversion_rate) - def get_comp_base_currency(self, comp): - """ get default currency of company""" - return webnotes.conn.sql("select default_currency from `tabCompany` where name = %s", comp)[0][0] - - def get_price_list_currency(self, price_list, comp): - """ Get all currency in which price list is maintained""" - plc = webnotes.conn.sql("select distinct ref_currency from `tabRef Rate Detail` where price_list_name = %s", price_list) - plc = [d[0] for d in plc] - base_currency = self.get_comp_base_currency(comp) - return plc, base_currency - - # Load Default Taxes # ==================== def load_default_taxes(self, obj): @@ -781,3 +769,17 @@ class StatusUpdater: where name="%(name)s" """ % args) + + +@webnotes.whitelist() +def get_comp_base_currency(arg=None): + """ get default currency of company""" + return webnotes.conn.sql("select default_currency from `tabCompany` where name = %s", webnotes.form_dict['company'])[0][0] + +@webnotes.whitelist() +def get_price_list_currency(arg=None): + """ Get all currency in which price list is maintained""" + plc = webnotes.conn.sql("select distinct ref_currency from `tabRef Rate Detail` where price_list_name = %s", webnotes.form_dict['price_list']) + plc = [d[0] for d in plc] + base_currency = get_comp_base_currency(webnotes.form_dict['company']) + return plc, base_currency diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index 4a724d2add..a04423dd25 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -41,10 +41,15 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { } cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { - if(doc.__islocal) { - // defined in sales_common.js - cur_frm.cscript.update_item_details(doc, cdt, cdn); + var callback = function(doc, cdt, cdn) { + if(doc.__islocal) { + // defined in sales_common.js + cur_frm.cscript.update_item_details(doc, cdt, cdn); + } } + + cur_frm.cscript.hide_price_list_currency(doc, cdt, cdn, callback); + } @@ -52,10 +57,8 @@ cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { //================== cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.clear_custom_buttons(); - var callback = function() { - cur_frm.cscript.dynamic_label(doc, cdt, cdn); - } - cur_frm.cscript.hide_price_list_currency(doc, cdt, cdn, callback); + + if (!cur_frm.cscript.is_onload) cur_frm.cscript.hide_price_list_currency(doc, cdt, cdn); if(doc.docstatus==1) { diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 943a1fd8e0..c886ec38b6 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -102,14 +102,16 @@ class DocType(TransactionBase): # Get Item Details # ---------------- def get_item_details(self, args=None): - args = eval(args) - if args['item_code']: + args = args and eval(args) or {} + if args.get('item_code'): return get_obj('Sales Common').get_item_details(args, self) else: obj = get_obj('Sales Common') for doc in self.doclist: if doc.fields.get('item_code'): - ret = obj.get_item_details(doc.item_code, self) + arg = {'item_code':doc.fields.get('item_code'), 'income_account':doc.fields.get('income_account'), + 'cost_center': doc.fields.get('cost_center'), 'warehouse': doc.fields.get('warehouse')}; + ret = obj.get_item_details(arg, self) for r in ret: if not doc.fields.get(r): doc.fields[r] = ret[r] @@ -120,13 +122,6 @@ class DocType(TransactionBase): def get_adj_percent(self, arg=''): get_obj('Sales Common').get_adj_percent(self) - def get_comp_base_currency(self): - return get_obj('Sales Common').get_comp_base_currency(self.doc.company) - - def get_price_list_currency(self): - return get_obj('Sales Common').get_price_list_currency(self.doc.price_list_name, self.doc.company) - - # Get projected qty of item based on warehouse selected diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js index 3a8931e1e7..b0569fcaaf 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.js +++ b/erpnext/stock/doctype/delivery_note/delivery_note.js @@ -43,17 +43,19 @@ cur_frm.cscript.onload = function(doc, dt, dn) { cur_frm.cscript.onload_post_render = function(doc, dt, dn) { // defined in sales_common.js - if(doc.__islocal) cur_frm.cscript.update_item_details(doc, dt, dn); + var callback = function(doc, dt, dn) { + if(doc.__islocal) cur_frm.cscript.update_item_details(doc, dt, dn); + } + + cur_frm.cscript.hide_price_list_currency(doc, dt, dn, callback); } // REFRESH // ================================================================================================ cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.clear_custom_buttons(); - var callback = function() { - cur_frm.cscript.dynamic_label(doc, cdt, cdn); - } - cur_frm.cscript.hide_price_list_currency(doc, cdt, cdn, callback); + + if (!cur_frm.cscript.is_onload) cur_frm.cscript.hide_price_list_currency(doc, cdt, cdn); if(doc.per_billed < 100 && doc.docstatus==1) cur_frm.add_custom_button('Make Invoice', cur_frm.cscript['Make Sales Invoice']); diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index a94531b555..0bca9d0e9e 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -117,14 +117,16 @@ class DocType(TransactionBase): # ***************** Get Item Details ****************************** def get_item_details(self, args=None): - args = eval(args) - if args['item_code']: + args = args and eval(args) or {} + if args.get('item_code'): return get_obj('Sales Common').get_item_details(args, self) else: obj = get_obj('Sales Common') for doc in self.doclist: if doc.fields.get('item_code'): - ret = obj.get_item_details(doc.item_code, self) + arg = {'item_code':doc.fields.get('item_code'), 'income_account':doc.fields.get('income_account'), + 'cost_center': doc.fields.get('cost_center'), 'warehouse': doc.fields.get('warehouse')}; + ret = obj.get_item_details(arg, self) for r in ret: if not doc.fields.get(r): doc.fields[r] = ret[r] @@ -135,13 +137,6 @@ class DocType(TransactionBase): get_obj('Sales Common').get_adj_percent(self) - def get_comp_base_currency(self): - return get_obj('Sales Common').get_comp_base_currency(self.doc.company) - - def get_price_list_currency(self): - return get_obj('Sales Common').get_price_list_currency(self.doc.price_list_name, self.doc.company) - - # ********** Get Actual Qty of item in warehouse selected ************* def get_actual_qty(self,args): args = eval(args) diff --git a/version.num b/version.num index 3879e48b52..5d1d1b123b 100644 --- a/version.num +++ b/version.num @@ -1 +1 @@ -753 \ No newline at end of file +755 \ No newline at end of file