From 28335b7ee7fac907b4075c39cea9e686a278454d Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 16 May 2012 13:44:06 +0530 Subject: [PATCH 1/3] print format readonly patch --- erpnext/patches/may_2012/std_pf_readonly.py | 24 +++++++++++++++++++++ erpnext/patches/patch_list.py | 5 +++++ 2 files changed, 29 insertions(+) create mode 100644 erpnext/patches/may_2012/std_pf_readonly.py diff --git a/erpnext/patches/may_2012/std_pf_readonly.py b/erpnext/patches/may_2012/std_pf_readonly.py new file mode 100644 index 00000000000..abee9e2ce9b --- /dev/null +++ b/erpnext/patches/may_2012/std_pf_readonly.py @@ -0,0 +1,24 @@ +def execute(): + """Make standard print formats readonly for system manager""" + import webnotes.model.doc + new_perms = [ + { + 'parent': 'Print Format', + 'parentfield': 'permissions', + 'parenttype': 'DocType', + 'role': 'System Manager', + 'permlevel': 1, + 'read': 1, + }, + { + 'parent': 'Print Format', + 'parentfield': 'permissions', + 'parenttype': 'DocType', + 'role': 'Administrator', + 'permlevel': 1, + 'read': 1, + 'write': 1 + }, + ] + import webnotes.model.sync + webnotes.model.sync.sync('core', 'print_format') \ No newline at end of file diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py index 5a82d425a2b..e3eca5ac54e 100644 --- a/erpnext/patches/patch_list.py +++ b/erpnext/patches/patch_list.py @@ -352,5 +352,10 @@ patch_list = [ 'patch_file': 'reload_sales_invoice_pf', 'description': 'Reload sales invoice print formats' }, + { + 'patch_module': 'patches.may_2012', + 'patch_file': 'std_pf_readonly', + 'description': 'Make standard print formats readonly for system manager' + }, ] From 7b87a7ec748381a9351430991f5b447ca72b297a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 16 May 2012 14:07:02 +0530 Subject: [PATCH 2/3] fixed pos settings --- erpnext/accounts/doctype/pos_setting/pos_setting.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/pos_setting/pos_setting.py b/erpnext/accounts/doctype/pos_setting/pos_setting.py index 6c1988223a1..f4be368131c 100755 --- a/erpnext/accounts/doctype/pos_setting/pos_setting.py +++ b/erpnext/accounts/doctype/pos_setting/pos_setting.py @@ -49,5 +49,5 @@ class DocType: if res: if res[0][1]: msgprint("POS Setting '%s' already created for user: '%s' and company: '%s'"%(res[0][0], res[0][1], self.doc.company), raise_exception=1) - else: - msgprint("Global POS Setting already created - %s for this company: '%s'" % (res[0][0], self.doc.company), raise_exception=1) + else: + msgprint("Global POS Setting already created - %s for this company: '%s'" % (res[0][0], self.doc.company), raise_exception=1) From 9175100e3d0da72aea4a51d62d22343b34c95833 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 16 May 2012 14:10:27 +0530 Subject: [PATCH 3/3] fixes in print format --- erpnext/patches/may_2012/std_pf_readonly.py | 6 ++++++ js/all-app.js | 3 +-- js/all-web.js | 3 +-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/erpnext/patches/may_2012/std_pf_readonly.py b/erpnext/patches/may_2012/std_pf_readonly.py index abee9e2ce9b..d758159f7d8 100644 --- a/erpnext/patches/may_2012/std_pf_readonly.py +++ b/erpnext/patches/may_2012/std_pf_readonly.py @@ -20,5 +20,11 @@ def execute(): 'write': 1 }, ] + for perms in new_perms: + doc = webnotes.model.doc.Document('DocPerm') + doc.fields.update(perms) + doc.save() + webnotes.conn.commit() + webnotes.conn.begin() import webnotes.model.sync webnotes.model.sync.sync('core', 'print_format') \ No newline at end of file diff --git a/js/all-app.js b/js/all-app.js index b1d847192a7..76be9795c74 100644 --- a/js/all-app.js +++ b/js/all-app.js @@ -1328,8 +1328,7 @@ return df;else if(user_defaults[fn]) return user_defaults[fn][0];else if(sys_defaults[fn]) return sys_defaults[fn];} LocalDB.add_child=function(doc,childtype,parentfield){var n=LocalDB.create(childtype);var d=locals[childtype][n];d.parent=doc.name;d.parentfield=parentfield;d.parenttype=doc.doctype;return d;} -LocalDB.no_copy_list=['amended_from','amendment_date','cancel_reason'];LocalDB.copy=function(dt,dn,from_amend){var newdoc=LocalDB.create(dt);for(var key in locals[dt][dn]){if(key!=='name'&&key.substr(0,2)!='__'){locals[dt][newdoc][key]=locals[dt][dn][key];} -var df=get_field(dt,key);if(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(LocalDB.no_copy_list,df.fieldname))){locals[dt][newdoc][key]='';}} +LocalDB.no_copy_list=['amended_from','amendment_date','cancel_reason'];LocalDB.copy=function(dt,dn,from_amend){var newdoc=LocalDB.create(dt);for(var key in locals[dt][dn]){var df=get_field(dt,key);if(key!=='name'&&key.substr(0,2)!='__'&&!(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(LocalDB.no_copy_list,df.fieldname)))){locals[dt][newdoc][key]=locals[dt][dn][key];}} return locals[dt][newdoc];} function make_doclist(dt,dn,deleted){var dl=[];dl[0]=locals[dt][dn];for(var ndt in locals){if(locals[ndt]){for(var ndn in locals[ndt]){var doc=locals[ndt][ndn];if(doc&&doc.parenttype==dt&&(doc.parent==dn||(deleted&&doc.__oldparent==dn))){dl[dl.length]=doc;}}}} return dl;} diff --git a/js/all-web.js b/js/all-web.js index 861bed28ae2..988b3e23afb 100644 --- a/js/all-web.js +++ b/js/all-web.js @@ -772,8 +772,7 @@ return df;else if(user_defaults[fn]) return user_defaults[fn][0];else if(sys_defaults[fn]) return sys_defaults[fn];} LocalDB.add_child=function(doc,childtype,parentfield){var n=LocalDB.create(childtype);var d=locals[childtype][n];d.parent=doc.name;d.parentfield=parentfield;d.parenttype=doc.doctype;return d;} -LocalDB.no_copy_list=['amended_from','amendment_date','cancel_reason'];LocalDB.copy=function(dt,dn,from_amend){var newdoc=LocalDB.create(dt);for(var key in locals[dt][dn]){if(key!=='name'&&key.substr(0,2)!='__'){locals[dt][newdoc][key]=locals[dt][dn][key];} -var df=get_field(dt,key);if(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(LocalDB.no_copy_list,df.fieldname))){locals[dt][newdoc][key]='';}} +LocalDB.no_copy_list=['amended_from','amendment_date','cancel_reason'];LocalDB.copy=function(dt,dn,from_amend){var newdoc=LocalDB.create(dt);for(var key in locals[dt][dn]){var df=get_field(dt,key);if(key!=='name'&&key.substr(0,2)!='__'&&!(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(LocalDB.no_copy_list,df.fieldname)))){locals[dt][newdoc][key]=locals[dt][dn][key];}} return locals[dt][newdoc];} function make_doclist(dt,dn,deleted){var dl=[];dl[0]=locals[dt][dn];for(var ndt in locals){if(locals[ndt]){for(var ndn in locals[ndt]){var doc=locals[ndt][ndn];if(doc&&doc.parenttype==dt&&(doc.parent==dn||(deleted&&doc.__oldparent==dn))){dl[dl.length]=doc;}}}} return dl;}