From f9b356992a599fcfb7a5ad612d6c13cfb25443ee Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 7 Jul 2015 16:30:29 +0530 Subject: [PATCH] [fixes] salary manager #3554 --- .../doctype/salary_manager/salary_manager.js | 26 ++++++++++++++----- .../doctype/salary_manager/salary_manager.py | 7 +++-- .../stock/doctype/stock_entry/stock_entry.js | 2 +- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.js b/erpnext/hr/doctype/salary_manager/salary_manager.js index 240547c679a..ca702265d4f 100644 --- a/erpnext/hr/doctype/salary_manager/salary_manager.js +++ b/erpnext/hr/doctype/salary_manager/salary_manager.js @@ -1,30 +1,44 @@ // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt -var display_activity_log = function(msg) { +cur_frm.cscript.display_activity_log = function(msg) { if(!cur_frm.ss_html) cur_frm.ss_html = $a(cur_frm.fields_dict['activity_log'].wrapper,'div'); - cur_frm.ss_html.innerHTML = - '

'+__("Activity Log:")+'

'+msg+'
'; + if(msg) { + cur_frm.ss_html.innerHTML = + '

'+__("Activity Log:")+'

'+msg+'
'; + } else { + cur_frm.ss_html.innerHTML = ""; + } } //Create salary slip //----------------------- cur_frm.cscript.create_salary_slip = function(doc, cdt, cdn) { + cur_frm.cscript.display_activity_log(""); var callback = function(r, rt){ if (r.message) - display_activity_log(r.message); + cur_frm.cscript.display_activity_log(r.message); } return $c('runserverobj', args={'method':'create_sal_slip','docs':doc},callback); } cur_frm.cscript.submit_salary_slip = function(doc, cdt, cdn) { + cur_frm.cscript.display_activity_log(""); var check = confirm(__("Do you really want to Submit all Salary Slip for month {0} and year {1}", [doc.month, doc.fiscal_year])); if(check){ + // clear all in locals + if(locals["Salary Slip"]) { + $.each(locals["Salary Slip"], function(name, d) { + frappe.model.remove_from_locals("Salary Slip", name); + }); + } + var callback = function(r, rt){ if (r.message) - display_activity_log(r.message); + cur_frm.cscript.display_activity_log(r.message); } + return $c('runserverobj', args={'method':'submit_salary_slip','docs':doc},callback); } } @@ -47,4 +61,4 @@ cur_frm.cscript.make_jv = function(doc, dt, dn) { frappe.ui.form.on("Salary Manager", "refresh", function(frm) { frm.disable_save(); -}); \ No newline at end of file +}); diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.py b/erpnext/hr/doctype/salary_manager/salary_manager.py index eeb6ac051bf..3e0b53e8624 100644 --- a/erpnext/hr/doctype/salary_manager/salary_manager.py +++ b/erpnext/hr/doctype/salary_manager/salary_manager.py @@ -101,7 +101,7 @@ class SalaryManager(Document): log = "

No employee for the above selected criteria OR salary slip already created

" if ss_list: log = "Salary Slip Created For\ -

%s" % '
'.join(ss_list) +

%s" % '
'.join(self.format_as_links(ss_list)) return log @@ -144,7 +144,7 @@ class SalaryManager(Document): else: all_ss = [d[0] for d in all_ss] - submitted_ss = list(set(all_ss) - set(not_submitted_ss)) + submitted_ss = self.format_as_links(list(set(all_ss) - set(not_submitted_ss))) if submitted_ss: mail_sent_msg = self.send_email and " (Mail has been sent to the employee)" or "" log = """ @@ -164,6 +164,9 @@ class SalaryManager(Document): """% ('
'.join(not_submitted_ss)) return log + def format_as_links(self, ss_list): + return ['{0}'.format(s) for s in ss_list] + def get_total_salary(self): """ diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index 1135bc708f8..249cf74c3d6 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -498,9 +498,9 @@ cur_frm.cscript.uom = function(doc, cdt, cdn) { } cur_frm.cscript.validate = function(doc, cdt, cdn) { - cur_frm.cscript.validate_items(doc); if($.inArray(cur_frm.doc.purpose, ["Purchase Return", "Sales Return"])!==-1) validated = cur_frm.cscript.get_doctype_docname() ? true : false; + cur_frm.cscript.validate_items(doc); } cur_frm.cscript.validate_items = function(doc) {