[fixes] salary manager #3554
diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.js b/erpnext/hr/doctype/salary_manager/salary_manager.js
index 240547c..ca70226 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 =
- '<div class="padding"><h4>'+__("Activity Log:")+'</h4>'+msg+'</div>';
+ if(msg) {
+ cur_frm.ss_html.innerHTML =
+ '<div class="padding"><h4>'+__("Activity Log:")+'</h4>'+msg+'</div>';
+ } 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 @@
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 eeb6ac0..3e0b53e 100644
--- a/erpnext/hr/doctype/salary_manager/salary_manager.py
+++ b/erpnext/hr/doctype/salary_manager/salary_manager.py
@@ -101,7 +101,7 @@
log = "<p>No employee for the above selected criteria OR salary slip already created</p>"
if ss_list:
log = "<b>Salary Slip Created For</b>\
- <br><br>%s" % '<br>'.join(ss_list)
+ <br><br>%s" % '<br>'.join(self.format_as_links(ss_list))
return log
@@ -144,7 +144,7 @@
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 @@
"""% ('<br>'.join(not_submitted_ss))
return log
+ def format_as_links(self, ss_list):
+ return ['<a href="#Form/Salary Slip/{0}">{0}</a>'.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 1135bc7..249cf74 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.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) {