Merge pull request #3591 from rmehta/salary-manager-fix

[fixes] salary manager #3554
This commit is contained in:
Nabin Hait 2015-07-08 15:39:33 +05:30
commit 4017bfcd2e
3 changed files with 26 additions and 9 deletions

View File

@ -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 @@ cur_frm.cscript.make_jv = function(doc, dt, dn) {
frappe.ui.form.on("Salary Manager", "refresh", function(frm) {
frm.disable_save();
});
});

View File

@ -101,7 +101,7 @@ class SalaryManager(Document):
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 @@ 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):
"""% ('<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):
"""

View File

@ -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) {