diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.js b/accounts/doctype/receivable_voucher/receivable_voucher.js index a25d311110..e773a95fc8 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.js +++ b/accounts/doctype/receivable_voucher/receivable_voucher.js @@ -18,10 +18,10 @@ cur_frm.cscript.onload = function(doc,dt,dn) { if(!doc.voucher_date) set_multiple(dt,dn,{voucher_date:get_today()}); if(!doc.due_date) set_multiple(dt,dn,{due_date:get_today()}); if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()}); - + //for previously created sales invoice, set required field related to pos if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn); - + hide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); } } @@ -37,10 +37,10 @@ cur_frm.cscript.onload_post_render = function(doc, dt, dn) { } ); } - + if(!doc.customer && doc.__islocal) { // new -- load default taxes - cur_frm.cscript.load_taxes(doc, cdt, cdn); + cur_frm.cscript.load_taxes(doc, cdt, cdn); } } @@ -61,19 +61,19 @@ cur_frm.cscript.refresh = function(doc, dt, dn) { // Show / Hide button cur_frm.clear_custom_buttons(); - - if(doc.docstatus==1) { + + 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']); unhide_field('Repair Outstanding Amt'); - + if(doc.is_pos==1 && doc.update_stock!=1) cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']); - + if(doc.outstanding_amount!=0) cur_frm.add_custom_button('Make Payment Entry', cur_frm.cscript['Make Bank Voucher']); } - else + else hide_field('Repair Outstanding Amt'); cur_frm.cscript.is_opening(doc, dt, dn); cur_frm.cscript.hide_fields(doc, cdt, cdn); @@ -117,13 +117,13 @@ cur_frm.cscript.customer = function(doc,dt,dn) { var doc = locals[cur_frm.doctype][cur_frm.docname]; get_server_fields('get_debit_to','','',doc, dt, dn, 0); cur_frm.refresh(); - } + } - if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback); + if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback); if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); } -cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) { +cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) { if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1); } @@ -152,15 +152,15 @@ cur_frm.cscript.debit_to = function(doc,dt,dn) { var callback2 = function(r,rt) { var doc = locals[cur_frm.doctype][cur_frm.docname]; cur_frm.refresh(); - } - + } + var callback = function(r,rt) { - var doc = locals[cur_frm.doctype][cur_frm.docname]; + var doc = locals[cur_frm.doctype][cur_frm.docname]; if(doc.customer) $c_obj(make_doclist(dt,dn), 'get_default_customer_address', '', callback2); if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); cur_frm.refresh(); } - + if(doc.debit_to && doc.posting_date){ get_server_fields('get_cust_and_due_date','','',doc,dt,dn,1,callback); } @@ -187,13 +187,13 @@ cur_frm.cscript.project_name = function(doc,cdt,cdn){ //Set debit and credit to zero on adding new row //---------------------------------------------- cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){ - + cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); acc = ''; cc = ''; for(var i = 0; i"""+l_head+""" @@ -99,5 +111,5 @@ myheader = """ """ % {'acc':account, 'fdt':from_date, 'tdt':to_date} - + page_template = myheader+"
%(table)s
" diff --git a/patches/patch.py b/patches/patch.py index 0c821842ae..cf9774bffe 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 354 +last_patch = 355 #------------------------------------------- @@ -267,7 +267,7 @@ def execute(patch_no): delete_doc('Custom Script', 'Profile-Client') delete_doc('Custom Script', 'Event-Client') delete_doc('Custom Script', 'File-Server') - + # reload profile with new fields for security delete_doc('DocType', 'Profile') reload_doc('core', 'doctype', 'profile') @@ -291,5 +291,16 @@ def execute(patch_no): elif patch_no == 353: reload_doc('hr', 'doctype', 'salary_manager') elif patch_no == 354: + reload_doc('setup', 'doctype','feature_setup') + reload_doc('stock','doctype','item') + sql("update tabDocField set label='Produced Qty',description='Updated after finished goods are transferred to FG Warehouse through Stock Entry' where parent='Production Order' and fieldname='produced_qty'") + rs = sql("select fieldname from tabDocField where parent='Features Setup' and fieldname is not null") + from webnotes.model.doc import Document + m = Document('Features Setup') + for d in rs: + m.fields[d[0]] = 1 + m.save() + elif patch_no == 355: reload_doc('hr', 'doctype', 'salary_slip') delete_doc('DocType', 'Salary Control Panel') + diff --git a/production/doctype/production_order/production_order.py b/production/doctype/production_order/production_order.py index 570c802666..0cc64e54ac 100644 --- a/production/doctype/production_order/production_order.py +++ b/production/doctype/production_order/production_order.py @@ -13,7 +13,7 @@ sql = webnotes.conn.sql get_value = webnotes.conn.get_value in_transaction = webnotes.conn.in_transaction convert_to_lists = webnotes.conn.convert_to_lists - + # ----------------------------------------------------------------------------------------- @@ -21,7 +21,7 @@ class DocType: def __init__(self, doc, doclist=[]): self.doc = doc self.doclist = doclist - + # Autoname def autoname(self): p = self.doc.fiscal_year @@ -35,7 +35,7 @@ class DocType: 'default_bom' : item and item[0]['default_bom'] or '' } return ret - + def validate(self): if not self.doc.production_item : msgprint("Please enter Production Item") @@ -62,7 +62,7 @@ class DocType: if flt(bom_detail[0]['docstatus']) != 1: msgprint("BOM := '%s' is not Submitted BOM." % self.doc.bom_no) raise Exception - + def update_status(self, status): # Set Status if status == 'Stopped': @@ -78,7 +78,7 @@ class DocType: # Update Planned Qty of Production Item qty = (flt(self.doc.qty) - flt(self.doc.produced_qty)) * ((status == 'Stopped') and -1 or 1) get_obj('Warehouse', self.doc.fg_warehouse).update_bin(0, 0, 0, 0, flt(qty), self.doc.production_item, now()) - + # Acknowledge user msgprint(self.doc.doctype + ": " + self.doc.name + " has been %s and status has been updated as %s." % (cstr(status), cstr(self.doc.status))) @@ -99,6 +99,6 @@ class DocType: # Set Status AS "Submitted" set(self.doc,'status', 'Cancelled') - + # decrease Planned Qty of Prooduction Item by Qty get_obj('Warehouse', self.doc.fg_warehouse).update_bin(0, 0, 0, 0,-flt(self.doc.qty), self.doc.production_item, now()) diff --git a/production/doctype/production_order/production_order.txt b/production/doctype/production_order/production_order.txt index c927edfae1..9226fd0c90 100644 --- a/production/doctype/production_order/production_order.txt +++ b/production/doctype/production_order/production_order.txt @@ -5,13 +5,14 @@ { 'creation': '2010-08-08 17:09:14', 'docstatus': 0, - 'modified': '2010-12-23 11:08:12', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-08-31 10:03:21', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { + '_last_update': '1313485457', 'colour': 'White:FFF', 'doctype': 'DocType', 'in_create': 0, @@ -20,7 +21,7 @@ 'section_style': 'Tabbed', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 179 + 'version': 180 }, # These values are common for all DocField @@ -54,7 +55,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 1, 'permlevel': 0, 'role': 'System Manager', 'submit': 1, @@ -64,7 +64,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 2, 'permlevel': 1, 'role': 'All' }, @@ -75,7 +74,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 3, 'permlevel': 0, 'role': 'Production Manager', 'submit': 1, @@ -88,7 +86,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 4, 'permlevel': 0, 'role': 'Production User', 'submit': 1, @@ -99,7 +96,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 1, 'label': 'Production Order', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -112,7 +108,6 @@ 'doctype': 'DocField', 'fieldname': 'transaction_date', 'fieldtype': 'Date', - 'idx': 2, 'label': 'Transaction Date', 'oldfieldname': 'transaction_date', 'oldfieldtype': 'Date', @@ -127,7 +122,6 @@ 'doctype': 'DocField', 'fieldname': 'posting_date', 'fieldtype': 'Date', - 'idx': 3, 'label': 'Posting Date', 'oldfieldname': 'posting_date', 'oldfieldtype': 'Date', @@ -142,7 +136,6 @@ 'doctype': 'DocField', 'fieldname': 'production_item', 'fieldtype': 'Link', - 'idx': 4, 'in_filter': 1, 'label': 'Production Item', 'oldfieldname': 'production_item', @@ -158,7 +151,6 @@ 'doctype': 'DocField', 'fieldname': 'description', 'fieldtype': 'Text', - 'idx': 5, 'label': 'Description', 'oldfieldname': 'description', 'oldfieldtype': 'Text', @@ -173,14 +165,12 @@ 'doctype': 'DocField', 'fieldname': 'bom_no', 'fieldtype': 'Link', - 'idx': 7, 'label': 'BOM No', 'oldfieldname': 'bom_no', 'oldfieldtype': 'Link', 'options': 'Bill Of Materials', 'permlevel': 1, 'reqd': 1, - 'search_index': 0, 'trigger': 'Client' }, @@ -189,7 +179,6 @@ 'doctype': 'DocField', 'fieldname': 'origin', 'fieldtype': 'Select', - 'idx': 8, 'in_filter': 1, 'label': 'Origin', 'no_copy': 1, @@ -207,7 +196,6 @@ 'doctype': 'DocField', 'fieldname': 'qty', 'fieldtype': 'Currency', - 'idx': 9, 'label': 'Qty', 'oldfieldname': 'qty', 'oldfieldtype': 'Currency', @@ -221,7 +209,6 @@ 'doctype': 'DocField', 'fieldname': 'project_name', 'fieldtype': 'Link', - 'idx': 9, 'in_filter': 1, 'label': 'Project Name', 'oldfieldname': 'project_name', @@ -236,7 +223,6 @@ 'doctype': 'DocField', 'fieldname': 'amended_from', 'fieldtype': 'Data', - 'idx': 10, 'label': 'Amended From', 'oldfieldname': 'amended_from', 'oldfieldtype': 'Data', @@ -248,7 +234,6 @@ 'doctype': 'DocField', 'fieldname': 'amendment_date', 'fieldtype': 'Date', - 'idx': 11, 'label': 'Amendment Date', 'oldfieldname': 'amendment_date', 'oldfieldtype': 'Date', @@ -259,7 +244,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 12, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -269,7 +253,6 @@ 'doctype': 'DocField', 'fieldname': 'stock_uom', 'fieldtype': 'Data', - 'idx': 12, 'label': 'Stock UOM', 'oldfieldname': 'stock_uom', 'oldfieldtype': 'Data', @@ -281,7 +264,6 @@ 'doctype': 'DocField', 'fieldname': 'status', 'fieldtype': 'Select', - 'idx': 13, 'in_filter': 1, 'label': 'Status', 'no_copy': 1, @@ -300,15 +282,13 @@ 'doctype': 'DocField', 'fieldname': 'fg_warehouse', 'fieldtype': 'Link', - 'idx': 14, 'in_filter': 1, 'label': 'FG Warehouse', 'oldfieldname': 'fg_warehouse', 'oldfieldtype': 'Link', 'options': 'Warehouse', 'permlevel': 0, - 'reqd': 1, - 'search_index': 0 + 'reqd': 1 }, # DocField @@ -318,15 +298,13 @@ 'doctype': 'DocField', 'fieldname': 'wip_warehouse', 'fieldtype': 'Link', - 'idx': 15, 'in_filter': 1, 'label': 'WIP Warehouse', 'oldfieldname': 'wip_warehouse', 'oldfieldtype': 'Link', 'options': 'Warehouse', 'permlevel': 0, - 'reqd': 1, - 'search_index': 0 + 'reqd': 1 }, # DocField @@ -336,7 +314,6 @@ 'doctype': 'DocField', 'fieldname': 'consider_sa_items', 'fieldtype': 'Select', - 'idx': 16, 'in_filter': 1, 'label': 'Consider SA Items', 'oldfieldname': 'consider_sa_items', @@ -349,11 +326,11 @@ # DocField { 'colour': 'White:FFF', + 'description': 'Updated after finished goods are transferred to FG Warehouse through Stock Entry', 'doctype': 'DocField', 'fieldname': 'produced_qty', 'fieldtype': 'Currency', - 'idx': 18, - 'label': 'Produced Qty (Updated after finished goods are transferred to FG Warehouse through Stock Entry)', + 'label': 'Produced Qty', 'oldfieldname': 'produced_qty', 'oldfieldtype': 'Currency', 'permlevel': 1 @@ -364,14 +341,12 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Link', - 'idx': 19, 'label': 'Company', 'oldfieldname': 'company', 'oldfieldtype': 'Link', 'options': 'Company', 'permlevel': 0, - 'reqd': 1, - 'search_index': 0 + 'reqd': 1 }, # DocField @@ -379,7 +354,6 @@ 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 20, 'in_filter': 1, 'label': 'Fiscal Year', 'oldfieldname': 'fiscal_year', @@ -393,7 +367,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 21, 'label': 'Next Steps', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -405,7 +378,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 22, 'label': 'Material Transfer', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -416,7 +388,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 23, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -427,7 +398,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 24, 'label': 'Backflush', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -438,7 +408,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 25, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -449,7 +418,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 26, 'label': 'Stop Production Order', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -462,7 +430,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 27, 'label': 'Unstop Production Order', 'oldfieldtype': 'Button', 'permlevel': 0, diff --git a/selling/doctype/sales_order/sales_order.js b/selling/doctype/sales_order/sales_order.js index 587933ca94..e684bed1bf 100644 --- a/selling/doctype/sales_order/sales_order.js +++ b/selling/doctype/sales_order/sales_order.js @@ -28,7 +28,7 @@ cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { if(doc.quotation) cur_frm.cscript['Pull Quotation Details'](doc,cdt,cdn); } else { cur_frm.cscript.load_taxes(doc, cdt, cdn); - } + } } // Refresh @@ -70,7 +70,6 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { } else { hide_field(['Repair Sales Order', 'Send SMS', 'message', 'customer_mobile_no']) } - } //customer diff --git a/setup/doctype/features_setup/__init__.py b/setup/doctype/features_setup/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/setup/doctype/features_setup/features_setup.py b/setup/doctype/features_setup/features_setup.py new file mode 100644 index 0000000000..3a549d9e32 --- /dev/null +++ b/setup/doctype/features_setup/features_setup.py @@ -0,0 +1,13 @@ +class DocType: + def __init__(self, d, dl): + self.doc, self.doclist = d, dl + + def validate(self): + """ + update settings in defaults + """ + from webnotes.model import default_fields + from webnotes.utils import set_default + for key in self.doc.fields: + if key not in default_fields: + set_default(key, self.doc.fields[key]) diff --git a/setup/doctype/features_setup/features_setup.txt b/setup/doctype/features_setup/features_setup.txt new file mode 100644 index 0000000000..224d175a0b --- /dev/null +++ b/setup/doctype/features_setup/features_setup.txt @@ -0,0 +1,288 @@ +# DocType, Features Setup +[ + + # These values are common in all dictionaries + { + 'creation': '2011-08-25 16:53:56', + 'docstatus': 0, + 'modified': '2011-08-31 15:05:53', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all DocType + { + '_last_update': '1314783102', + 'colour': 'White:FFF', + 'doctype': 'DocType', + 'issingle': 1, + 'module': 'Setup', + 'name': '__common__', + 'name_case': 'Title Case', + 'section_style': 'Simple', + 'show_in_menu': 1, + 'version': 16 + }, + + # These values are common for all DocField + { + 'doctype': 'DocField', + 'name': '__common__', + 'parent': 'Features Setup', + 'parentfield': 'fields', + 'parenttype': 'DocType', + 'permlevel': 0 + }, + + # These values are common for all DocPerm + { + 'create': 1, + 'doctype': 'DocPerm', + 'name': '__common__', + 'parent': 'Features Setup', + 'parentfield': 'permissions', + 'parenttype': 'DocType', + 'permlevel': 0, + 'read': 1, + 'write': 1 + }, + + # DocType, Features Setup + { + 'doctype': 'DocType', + 'name': 'Features Setup' + }, + + # DocPerm + { + 'doctype': 'DocPerm', + 'role': 'System Manager' + }, + + # DocPerm + { + 'doctype': 'DocPerm', + 'role': 'Administrator' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Materials' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.', + 'doctype': 'DocField', + 'fieldname': 'item_searial_nos', + 'fieldtype': 'Check', + 'label': 'Item Serial Nos' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track items in sales and purchase documents with batch nos
Preferred Industry: Chemicals etc', + 'doctype': 'DocField', + 'fieldname': 'item_batch_nos', + 'fieldtype': 'Check', + 'label': 'Item Batch Nos' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track brand name in the following documents
\nDelivery Note, Enuiry, Indent, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Receivable Voucher, Sales BOM, Sales Order, Serial No', + 'doctype': 'DocField', + 'fieldname': 'brands', + 'fieldtype': 'Check', + 'label': 'Brands' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': '1. To maintain the customer wise item code and to make them searchable based on their code use this option', + 'doctype': 'DocField', + 'fieldname': 'item_advanced', + 'fieldtype': 'Check', + 'label': 'Item Advanced' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'If Sale BOM is defined, the actual BOM of the Pack is displayed as table.\nAvailable in Delivery Note and Sales Order', + 'doctype': 'DocField', + 'fieldname': 'packing_details', + 'fieldtype': 'Check', + 'label': 'Packing Detials' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To get Item Group in details table', + 'doctype': 'DocField', + 'fieldname': 'item_group_in_details', + 'fieldtype': 'Check', + 'label': 'Item Groups in Details' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Sales and Purchase' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'All export related fields like currency, conversion rate, export total, export grand total etc are available in
\nDelivery Note, POS, Quotation, Sales Invoice, Sales Order etc.', + 'doctype': 'DocField', + 'fieldname': 'exports', + 'fieldtype': 'Check', + 'label': 'Exports' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'All import related fields like currency, conversion rate, import total, import grand total etc are available in
\nPurchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.', + 'doctype': 'DocField', + 'fieldname': 'imports', + 'fieldtype': 'Check', + 'label': 'Imports' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Field available in Delivery Note, Quotation, Receivable Voucher, Sales Order', + 'doctype': 'DocField', + 'fieldname': 'discounts', + 'fieldtype': 'Check', + 'label': 'Discounts' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track any installation or commissioning related work after sales', + 'doctype': 'DocField', + 'fieldname': 'after_sales_installations', + 'fieldtype': 'Check', + 'label': 'After Sale Installations' + }, + + # DocField + { + 'description': 'Available in \nBill Of Materials, Delivery Note, Payable Voucher, Production Order, Purchase Order, Purchase Receipt, Receivable Voucher, Sales Order, Stock Entry, Timesheet', + 'doctype': 'DocField', + 'fieldname': 'projects', + 'fieldtype': 'Check', + 'label': 'Projects' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'If you have Sales Team and Sale Partners (Channel Partners) they can be tagged and maintain their contribution in the sales activity', + 'doctype': 'DocField', + 'fieldname': 'sales_extras', + 'fieldtype': 'Check', + 'label': 'Sales Extras' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Production' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'If you involve in manufacturing activity
\nEnables item Is Manufactured', + 'doctype': 'DocField', + 'fieldname': 'manufacturing', + 'fieldtype': 'Check', + 'label': 'Manufacturing' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'If you follow Quality Inspection
\nEnables item QA Required and QA No in Purchase Receipt', + 'doctype': 'DocField', + 'fieldname': 'quality', + 'fieldtype': 'Check', + 'label': 'Quality' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To enable Point of Sale features', + 'doctype': 'DocField', + 'fieldname': 'pos', + 'fieldtype': 'Check', + 'label': 'Point of Sale' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Miscelleneous' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page', + 'doctype': 'DocField', + 'fieldname': 'page_break', + 'fieldtype': 'Check', + 'label': 'Page Break' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Enables More Info. in all documents', + 'doctype': 'DocField', + 'fieldname': 'more_info', + 'fieldtype': 'Check', + 'label': 'More Info' + } +] \ No newline at end of file diff --git a/startup/startup.js b/startup/startup.js index ce4aac3b3c..942f4effc5 100644 --- a/startup/startup.js +++ b/startup/startup.js @@ -12,8 +12,8 @@ if(inList(user_roles,'System Manager')) is_system_manager = 1; function startup_setup() { pscript.is_erpnext_saas = cint(locals['Control Panel']['Control Panel'].sync_with_gateway) - - + + if(get_url_arg('embed')) { // hide header, footer $dh(page_body.banner_area); @@ -34,7 +34,7 @@ function startup_setup() { $td(page_body.wntoolbar.body_tab,0,0).innerHTML = 'erpnext'; $y($td(page_body.wntoolbar.body_tab,0,0), {width:'140px', color:'#FFF', paddingLeft:'8px', paddingRight:'8px', fontSize:'14px'}) $dh(page_body.banner_area); - + // sidebar // ------- pscript.startup_make_sidebar(); @@ -65,10 +65,10 @@ pscript.startup_make_sidebar = function() { var callback = function(r,rt) { // menu var ml = r.message; - + // clear page_body.left_sidebar.innerHTML = ''; - + for(var m=0; mNote: These changes will apply to all users!', ml, update_order, 1); } $c_obj('Home Control', 'get_module_order', '', callback) - + } // ==================================================================== @@ -437,7 +437,7 @@ pscript.startup_setup_toolbar = function() { // Profile // --------- $td(menu_tab,0,0).innerHTML = ''+user_fullname+''; - + if(pscript.is_erpnext_saas){ // Help // -------------- @@ -474,7 +474,7 @@ show_chart_browser = function(nm, chart_type){ var call_back = function(){ if(nm == 'Sales Browser'){ var sb_obj = new SalesBrowser(); - sb_obj.set_val(chart_type); + sb_obj.set_val(chart_type); } else if(nm == 'Accounts Browser') pscript.make_chart(chart_type); @@ -501,7 +501,7 @@ ModulePage = function(parent, module_name, module_label, help_page, callback) { var btn = this.page_head.add_button('Help', function() { loadpage(this.help_page) }, 1, 'ui-icon-help') btn.help_page = help_page; } - + if(callback) this.callback = function(){ callback(); } } @@ -517,12 +517,12 @@ get_plural = function(str){ // set user fullname // ==================================================================== pscript.set_user_fullname = function(ele,username,get_latest){ - + var set_it = function(){ if(ele) ele.innerHTML = user_full_nm[username]; } - + if(get_latest){ $c_obj('Home Control','get_user_fullname',username, function(r,rt){ user_full_nm[username] = r.message; set_it(); }); } @@ -530,7 +530,7 @@ pscript.set_user_fullname = function(ele,username,get_latest){ if(user_full_nm[username]){ set_it(); } - + else $c_obj('Home Control','get_user_fullname',username, function(r,rt){ user_full_nm[username] = r.message; set_it(); }); } @@ -539,4 +539,182 @@ pscript.set_user_fullname = function(ele,username,get_latest){ // ==================================================================== startup_setup(); -$(document).bind('form_refresh', function() { }) +/* features setup "Dictionary", "Script" +Dictionary Format + 'projects': { + 'Sales Order': { + 'fields':['project_name'], + 'sales_order_details':['projected_qty'] + }, + 'Purchase Order': { + 'fields':['project_name'] + } + } +// ====================================================================*/ +pscript.feature_dict = { + 'projects': { + 'Bill Of Materials': {'fields':['project_name']}, + 'Delivery Note': {'fields':['project_name']}, + 'Payable Voucher': {'fields':['project_name']}, + 'Production Order': {'fields':['project_name']}, + 'Purchase Order': {'fields':['project_name']}, + 'Purchase Receipt': {'fields':['project_name']}, + 'Receivable Voucher': {'fields':['project_name']}, + 'Sales Order': {'fields':['project_name']}, + 'Stock Entry': {'fields':['project_name']}, + 'Timesheet': {'timesheet_details':['project_name']} + }, + 'packing_details': { + 'Delivery Note': {'fields':['packing_details','print_packing_slip'],'delivery_note_details':['no_of_packs','pack_gross_wt','pack_nett_wt','pack_no','pack_unit']}, + 'Sales Order': {'fields':['packing_details']} + }, + 'discounts': { + 'Delivery Note': {'delivery_note_details':['adj_rate']}, + 'Quotation': {'quotation_details':['adj_rate']}, + 'Receivable Voucher': {'entries':['adj_rate']}, + 'Sales Order': {'sales_order_details':['adj_rate','ref_rate']} + }, + 'brands': { + 'Delivery Note': {'delivery_note_details':['brand']}, + 'Indent': {'indent_details':['brand']}, + 'Item': {'fields':['brand']}, + 'Purchase Order': {'po_details':['brand']}, + 'Payable Voucher': {'entries':['brand']}, + 'Quotation': {'quotation_details':['brand']}, + 'Receivable Voucher': {'entries':['brand']}, + 'Sales BOM': {'fields':['new_item_brand']}, + 'Sales Order': {'sales_order_details':['brand']}, + 'Serial No': {'fields':['brand']} + }, + 'after_sales_installations': { + 'Delivery Note': {'fields':['installation_status','per_installed'],'delivery_note_details':['installed_qty']} + }, + 'item_batch_nos': { + 'Delivery Note': {'delivery_note_details':['batch_no']}, + 'Item': {'fields':['has_batch_no']}, + 'Purchase Receipt': {'purchase_receipt_details':['batch_no']}, + 'QA Inspection Report': {'fields':['batch_no']}, + 'Sales and Pruchase Return Wizard': {'return_details':['batch_no']}, + 'Receivable Voucher': {'entries':['batch_no']}, + 'Stock Entry': {'mtn_details':['batch_no']}, + 'Stock Ledger Entry': {'fields':['batch_no']} + }, + 'item_serial_nos': { + 'Customer Issue': {'fields':['serial_no']}, + 'Delivery Note': {'delivery_note_details':['serial_no'],'packing_details':['serial_no']}, + 'Installation Note': {'installed_item_details':['serial_no']}, + 'Item': {'fields':['has_serial_no']}, + 'Maintenance Schedule': {'item_maintenance_details':['serial_no'],'maintenance_schedule_details':['serial_no']}, + 'Maintenance Visit': {'maintenance_visit_details':['serial_no']}, + 'Purchase Receipt': {'purchase_receipt_details':['serial_no']}, + 'QA Inspection Report': {'fields':['item_serial_no']}, + 'Sales and Pruchase Return Wizard': {'return_details':['serial_no']}, + 'Receivable Voucher': {'entries':['serial_no']}, + 'Stock Entry': {'mtn_details':['serial_no']}, + 'Stock Ledger Entry': {'fields':['serial_no']} + }, + 'item_group_in_details': { + 'Delivery Note': {'delivery_note_details':['item_group']}, + 'Enquiry': {'enquiry_details':['item_group']}, + 'Indent': {'indent_details':['item_group']}, + 'Item': {'fields':['item_group']}, + 'Manage Account': {'fields':['default_item_group']}, + 'Purchase Order': {'po_details':['item_group']}, + 'Purchase Receipt': {'purchase_receipt_details':['item_group']}, + 'Purchase Voucher': {'entries':['item_group']}, + 'Quotation': {'quotation_details':['item_group']}, + 'Receivable Voucher': {'entries':['item_group']}, + 'Sales BOM': {'fields':['serial_no']}, + 'Sales Order': {'sales_order_details':['item_group']}, + 'Serial No': {'fields':['item_group']}, + 'Sales Partner': {'partner_target_details':['item_group']}, + 'Sales Person': {'target_details':['item_group']}, + 'Territory': {'target_details':['item_group']} + }, + 'page_break': { + 'Delivery Note': {'delivery_note_details':['page_break'],'packing_details':['page_break']}, + 'Indent': {'indent_details':['page_break']}, + 'Purchase Order': {'po_details':['page_break']}, + 'Purchase Receipt': {'purchase_receipt_details':['page_break']}, + 'Purchase Voucher': {'entries':['page_break']}, + 'Quotation': {'quotation_details':['page_break']}, + 'Receivable Voucher': {'entries':['page_break']}, + 'Sales Order': {'sales_order_details':['page_break']} + }, + 'exports': { + 'Delivery Note': {'fields':['Note','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'delivery_note_details':['base_ref_rate','export_amount','export_rate']}, + 'POS Setting': {'fields':['conversion_rate','currency']}, + 'Quotation': {'fields':['Note HTML','OT Notes','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'quotation_details':['base_ref_rate','export_amount','export_rate']}, + 'Receivable Voucher': {'fields':['conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'entries':['base_ref_rate','export_amount','export_rate']}, + 'Item': {'ref_rate_details':['ref_currency']}, + 'Sales BOM': {'fields':['currency']}, + 'Sales Order': {'fields':['Note1','OT Notes','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'sales_order_details':['base_ref_rate','export_amount','export_rate']} + }, + 'imports': { + 'Payable Voucher': {'fields':['conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'entries':['import_amount','import_rate']}, + 'Purchase Order': {'fields':['Note HTML','conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'po_details':['import_amount','import_rate']}, + 'Purchase Receipt': {'fields':['conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'purchase_receipt_details':['import_amount','import_rate']}, + 'Supplier Quotation': {'fields':['conversion_rate','currency']} + }, + 'item_advanced': { + 'Item': {'fields':['item_customer_details']} + }, + 'sales_extras': { + 'Address': {'fields':['sales_partner']}, + 'Contact': {'fields':['sales_partner']}, + 'Customer': {'fields':['sales_team']}, + 'Delivery Note': {'fields':['sales_team','Packing List']}, + 'Item': {'fields':['item_customer_details']}, + 'Receivable Voucher': {'fields':['sales_team']}, + 'Sales Order': {'fields':['sales_team','Packing List']} + }, + 'more_info': { + 'Customer': {'fields':['More Info']}, + 'Delivery Note': {'fields':['More Info']}, + 'Enquiry': {'fields':['More Info']}, + 'Indent': {'fields':['More Info']}, + 'Lead': {'fields':['More Info']}, + 'Payable Voucher': {'fields':['More Info']}, + 'Purchase Order': {'fields':['More Info']}, + 'Purchase Receipt': {'fields':['More Info']}, + 'Quotation': {'fields':['More Info']}, + 'Receivable Voucher': {'fields':['More Info']}, + 'Sales Order': {'fields':['More Info']}, + 'Serial No': {'fields':['More Info']}, + 'Supplier': {'fields':['More Info']} + }, + 'quality': { + 'Item': {'fields':['Item Inspection Criteria','inspection_required']}, + 'Purchase Receipt': {'purchase_receipt_details':['qa_no']} + }, + 'manufacturing': { + 'Item': {'fields':['Manufacturing']} + }, + 'pos': { + 'Receivable Voucher': {'fields':['is_pos']} + } +} + +$(document).bind('form_refresh', function() { + for(sys_feat in sys_defaults) + { + if(sys_defaults[sys_feat]=='0' && (sys_feat in pscript.feature_dict)) //"Features to hide" exists + { + if(cur_frm.doc.doctype in pscript.feature_dict[sys_feat]) + { + for(fort in pscript.feature_dict[sys_feat][cur_frm.doc.doctype]) + { + if(fort=='fields') + hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]); + else if(cur_frm.fields_dict[fort]) + { + for(grid_field in pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]) + cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort][grid_field], false); + } + else + msgprint('Grid "'+fort+'" does not exists'); + } + } + } + } +}) diff --git a/stock/doctype/item/item.js b/stock/doctype/item/item.js index 6dd7377ed7..691e25963c 100644 --- a/stock/doctype/item/item.js +++ b/stock/doctype/item/item.js @@ -110,3 +110,9 @@ cur_frm.cscript.weight_to_validate = function(doc,cdt,cdn){ cur_frm.cscript.validate = function(doc,cdt,cdn){ cur_frm.cscript.weight_to_validate(doc,cdt,cdn); } + +//===========Fill Default Currency in "Ref Rate Details==================== +cur_frm.fields_dict['ref_rate_details'].grid.onrowadd = function(doc, cdt, cdn){ + locals[cdt][cdn].ref_currency = sys_defaults.currency; + refresh_field('ref_currency',cdn,'ref_rate_details'); +} \ No newline at end of file diff --git a/stock/doctype/ref_rate_detail/ref_rate_detail.txt b/stock/doctype/ref_rate_detail/ref_rate_detail.txt index 1774b08d3a..3f9b5a7cb8 100644 --- a/stock/doctype/ref_rate_detail/ref_rate_detail.txt +++ b/stock/doctype/ref_rate_detail/ref_rate_detail.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:19', 'docstatus': 0, - 'modified': '2010-09-20 14:06:57', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-08-31 11:36:41', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -23,7 +23,7 @@ 'section_style': 'Tray', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 2 + 'version': 3 }, # These values are common for all DocField @@ -34,7 +34,8 @@ 'parent': 'Ref Rate Detail', 'parentfield': 'fields', 'parenttype': 'DocType', - 'permlevel': 0 + 'permlevel': 0, + 'search_index': 1 }, # DocType, Ref Rate Detail @@ -48,13 +49,12 @@ 'doctype': 'DocField', 'fieldname': 'price_list_name', 'fieldtype': 'Select', - 'idx': 1, 'label': 'Price List Name', 'oldfieldname': 'price_list_name', 'oldfieldtype': 'Select', 'options': 'link:Price List', 'reqd': 1, - 'search_index': 1 + 'trigger': 'Client' }, # DocField @@ -62,12 +62,10 @@ 'doctype': 'DocField', 'fieldname': 'ref_rate', 'fieldtype': 'Currency', - 'idx': 2, 'label': 'Ref Rate', 'oldfieldname': 'ref_rate', 'oldfieldtype': 'Currency', - 'reqd': 0, - 'search_index': 0 + 'reqd': 0 }, # DocField @@ -75,12 +73,10 @@ 'doctype': 'DocField', 'fieldname': 'ref_currency', 'fieldtype': 'Select', - 'idx': 3, 'label': 'Currency', 'oldfieldname': 'ref_currency', 'oldfieldtype': 'Select', 'options': 'link:Currency', - 'reqd': 1, - 'search_index': 1 + 'reqd': 1 } ] \ No newline at end of file
"""+l_head+"""