From 87b6d656df19810f36509cbead02914d4249ead1 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 31 Jul 2012 11:23:44 +0530 Subject: [PATCH 1/6] sanctioned amt auto set equals to claimed amt --- .../hr/doctype/expense_claim/expense_claim.js | 27 +++++++++++-------- .../hr/doctype/expense_claim/expense_claim.py | 13 --------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js index b30a4016c4..9242a72e04 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.js +++ b/erpnext/hr/doctype/expense_claim/expense_claim.js @@ -27,23 +27,23 @@ cur_frm.cscript.onload = function(doc,cdt,cdn){ for(var i = 0; i 0: - if self.doc.approval_status == 'Draft': - msgprint("Sanctioned amount can be added by Approver person only for submitted Expense Claim") - raise Exception - elif self.doc.approval_status == 'Submitted' and session['user'] != self.doc.exp_approver: - msgprint("Sanctioned amount can be added only by expense voucher Approver") - raise Exception def validate_fiscal_year(self): fy=sql("select year_start_date from `tabFiscal Year` where name='%s'"%self.doc.fiscal_year) @@ -122,7 +110,6 @@ class DocType: raise Exception def validate(self): - self.validate_curr_exp() self.validate_fiscal_year() def on_update(self): From 054cf3907fcbaabc1295435c8a8aecd0dcbc6001 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 31 Jul 2012 11:46:41 +0530 Subject: [PATCH 2/6] removed validate approver code --- erpnext/hr/doctype/expense_claim/expense_claim.js | 13 +------------ erpnext/hr/doctype/expense_claim/expense_claim.py | 12 +----------- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js index b30a4016c4..1c5cccdd1e 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.js +++ b/erpnext/hr/doctype/expense_claim/expense_claim.js @@ -67,17 +67,6 @@ cur_frm.cscript.calculate_total = function(doc,cdt,cdn){ } doc.total_claimed_amount = flt(total_claim); refresh_field('total_claimed_amount'); - - $c_obj(make_doclist(doc.doctype, doc.name),'validate_approver','', function(r,rt){ - if(r.message){ - if(r.message['valid_approver'] == 'No'){ - doc.exp_approver =''; - } - get_field(doc.doctype, 'exp_approver' , doc.name).options = ''; - get_field(doc.doctype, 'exp_approver' , doc.name).options = r.message['app_lst']; - refresh_field('exp_approver'); - } - }); } else if(doc.approval_status == 'Submitted'){ var val = getchildren('Expense Claim Detail', doc.name, 'expense_voucher_details', doc.doctype); @@ -251,4 +240,4 @@ cur_frm.cscript.on_submit = function(doc, cdt, cdn) { send_to: doc.exp_approver } cur_frm.cscript.notify(doc, args); -} +} \ No newline at end of file diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py index 7701e72e9b..5f31ffb8d1 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.py +++ b/erpnext/hr/doctype/expense_claim/expense_claim.py @@ -140,17 +140,7 @@ class DocType: if not self.doc.exp_approver: msgprint("Please select Expense Claim approver") raise Exception - - def validate_approver(self): - app_lst = self.get_approver_lst() - if self.doc.exp_approver and self.doc.exp_approver not in app_lst: - msgprint("Approver "+self.doc.exp_approver+" is not authorized to approve this expense voucher. Please select another approver") - valid_app = 'No' - else: - valid_app = 'Yes' - ret = {'app_lst':("\n" + "\n".join(app_lst)), 'valid_approver':valid_app} - return ret - + def on_submit(self): self.validate_exp_details() set(self.doc, 'approval_status', 'Submitted') From 76697a5c3bf71b506a5872b9cf9078bb8aaf1b1f Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 31 Jul 2012 12:07:40 +0530 Subject: [PATCH 3/6] added filter on item group and brand --- erpnext/stock/search_criteria/stock_level/stock_level.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/search_criteria/stock_level/stock_level.js b/erpnext/stock/search_criteria/stock_level/stock_level.js index f456d0b889..4fb744ddb9 100644 --- a/erpnext/stock/search_criteria/stock_level/stock_level.js +++ b/erpnext/stock/search_criteria/stock_level/stock_level.js @@ -15,6 +15,8 @@ // along with this program. If not, see . report.customize_filters = function() { - this.add_filter({fieldname:'item_name', label:'Item Name', fieldtype:'Data', options:'', parent:'Item', in_first_page : 1}); - this.add_filter({fieldname:'description', label:'Description', fieldtype:'Small Text', options: '', parent:'Item', in_first_page : 1}); + this.add_filter({fieldname:'item_name', label:'Item Name', fieldtype:'Data', options:'', parent:'Item', in_first_page : 0}); + this.add_filter({fieldname:'description', label:'Description', fieldtype:'Small Text', options: '', parent:'Item', in_first_page : 0}); + this.add_filter({fieldname:'item_group', label:'Item Group', fieldtype:'link', options: 'Item Group', parent:'Item', in_first_page : 1}); + this.add_filter({fieldname:'brand', label:'Brand', fieldtype:'link', options: 'Brand', parent:'Item', in_first_page : 1}); } \ No newline at end of file From 29c8b3b487b84dceec44a5a81f7eef08790a8377 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 31 Jul 2012 13:57:06 +0530 Subject: [PATCH 4/6] bug fix: strip serial no field before validation to check truthy value --- erpnext/stock/doctype/stock_ledger/stock_ledger.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py index 0cb4b96c3e..d529ae320e 100644 --- a/erpnext/stock/doctype/stock_ledger/stock_ledger.py +++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py @@ -87,13 +87,17 @@ class DocType: for d in getlist(obj.doclist, fname): is_stock_item = get_value('Item', d.item_code, 'is_stock_item') ar_required = get_value('Item', d.item_code, 'has_serial_no') - if cstr(d.serial_no).strip(): + + # [bug fix] need to strip serial nos of all spaces and new lines for validation + serial_no = cstr(d.serial_no).strip() + + if serial_no: if is_stock_item != 'Yes': msgprint("Serial No is not required for non-stock item: %s" % d.item_code, raise_exception=1) elif ar_required != 'Yes': msgprint("If serial no required, please select 'Yes' in 'Has Serial No' in Item :" + d.item_code + \ ', otherwise please remove serial no', raise_exception=1) - elif ar_required == 'Yes' and not d.serial_no: + elif ar_required == 'Yes' and not serial_no: msgprint("Serial no is mandatory for item: "+ d.item_code, raise_exception = 1) # validate rejected serial nos From 8d97290c061b5cd8f8872c26fb33a28213536b6e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 31 Jul 2012 14:12:23 +0530 Subject: [PATCH 5/6] updated bin permission --- erpnext/patches/july_2012/bin_permission.py | 3 +++ erpnext/patches/patch_list.py | 5 ++++- erpnext/stock/doctype/bin/bin.txt | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 erpnext/patches/july_2012/bin_permission.py diff --git a/erpnext/patches/july_2012/bin_permission.py b/erpnext/patches/july_2012/bin_permission.py new file mode 100644 index 0000000000..e1d0ea6f95 --- /dev/null +++ b/erpnext/patches/july_2012/bin_permission.py @@ -0,0 +1,3 @@ +def execute(): + import webnotes + webnotes.conn.sql("update `tabDocPerm` set permlevel = 0 where parent = 'Bin'") \ No newline at end of file diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py index 6be98cd532..b84c956b36 100644 --- a/erpnext/patches/patch_list.py +++ b/erpnext/patches/patch_list.py @@ -501,5 +501,8 @@ patch_list = [ 'patch_module': 'patches.july_2012', 'patch_file': 'blog_guest_permission', }, - + { + 'patch_module': 'patches.july_2012', + 'patch_file': 'bin_permission', + }, ] \ No newline at end of file diff --git a/erpnext/stock/doctype/bin/bin.txt b/erpnext/stock/doctype/bin/bin.txt index 7956e67af3..ce20a2df30 100644 --- a/erpnext/stock/doctype/bin/bin.txt +++ b/erpnext/stock/doctype/bin/bin.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2012-03-27 14:36:27', + 'creation': '2012-05-15 12:15:04', 'docstatus': 0, - 'modified': '2012-03-27 14:36:27', + 'modified': '2012-07-31 14:10:42', 'modified_by': u'Administrator', 'owner': u'Administrator' }, @@ -26,7 +26,7 @@ 'section_style': u'Simple', 'server_code_error': u' ', 'show_in_menu': 0, - 'version': 115 + 'version': 1 }, # These values are common for all DocField @@ -36,7 +36,7 @@ 'parent': u'Bin', 'parentfield': u'fields', 'parenttype': u'DocType', - 'permlevel': 1 + 'permlevel': 0 }, # These values are common for all DocPerm From f9360ce5627e810b9a0024f629dd512ed30bf473 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 31 Jul 2012 17:27:11 +0530 Subject: [PATCH 6/6] filter on actual qty in stock level report --- erpnext/stock/doctype/bin/bin.txt | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/erpnext/stock/doctype/bin/bin.txt b/erpnext/stock/doctype/bin/bin.txt index ce20a2df30..158dbde2f2 100644 --- a/erpnext/stock/doctype/bin/bin.txt +++ b/erpnext/stock/doctype/bin/bin.txt @@ -5,7 +5,7 @@ { 'creation': '2012-05-15 12:15:04', 'docstatus': 0, - 'modified': '2012-07-31 14:10:42', + 'modified': '2012-07-31 17:23:42', 'modified_by': u'Administrator', 'owner': u'Administrator' }, @@ -46,6 +46,7 @@ 'parent': u'Bin', 'parentfield': u'permissions', 'parenttype': u'DocType', + 'permlevel': 0, 'read': 1 }, @@ -58,28 +59,24 @@ # DocPerm { 'doctype': u'DocPerm', - 'permlevel': 1, 'role': u'Sales Manager' }, # DocPerm { 'doctype': u'DocPerm', - 'permlevel': 1, 'role': u'Sales User' }, # DocPerm { 'doctype': u'DocPerm', - 'permlevel': 1, 'role': u'Purchase Manager' }, # DocPerm { 'doctype': u'DocPerm', - 'permlevel': 1, 'role': u'Purchase User' }, @@ -89,7 +86,6 @@ 'cancel': 0, 'create': 0, 'doctype': u'DocPerm', - 'permlevel': 1, 'role': u'Material User', 'submit': 0, 'write': 0 @@ -101,7 +97,6 @@ 'cancel': 0, 'create': 0, 'doctype': u'DocPerm', - 'permlevel': 0, 'role': u'Material Manager', 'submit': 0, 'write': 0 @@ -162,7 +157,7 @@ 'doctype': u'DocField', 'fieldname': u'actual_qty', 'fieldtype': u'Currency', - 'in_filter': 0, + 'in_filter': 1, 'label': u'Actual Quantity', 'oldfieldname': u'actual_qty', 'oldfieldtype': u'Currency',