internal issues (#19496)
* fix: user remark mandatory in quick entry but not in form * fix: preview salary slip btn showing in draft and unsaved states * minor: removed unecessay comma * fix: department analytics report showing departments of all companies
This commit is contained in:
parent
57f2dce682
commit
01c19d3b93
@ -570,7 +570,7 @@ $.extend(erpnext.journal_entry, {
|
|||||||
},
|
},
|
||||||
{fieldtype: "Date", fieldname: "posting_date", label: __("Date"), reqd: 1,
|
{fieldtype: "Date", fieldname: "posting_date", label: __("Date"), reqd: 1,
|
||||||
default: frm.doc.posting_date},
|
default: frm.doc.posting_date},
|
||||||
{fieldtype: "Small Text", fieldname: "user_remark", label: __("User Remark"), reqd: 1},
|
{fieldtype: "Small Text", fieldname: "user_remark", label: __("User Remark")},
|
||||||
{fieldtype: "Select", fieldname: "naming_series", label: __("Series"), reqd: 1,
|
{fieldtype: "Select", fieldname: "naming_series", label: __("Series"), reqd: 1,
|
||||||
options: naming_series_options, default: naming_series_default},
|
options: naming_series_options, default: naming_series_default},
|
||||||
]
|
]
|
||||||
|
@ -47,9 +47,11 @@ frappe.ui.form.on('Salary Structure', {
|
|||||||
frm.fields_dict['earnings'].grid.set_column_disp("default_amount", false);
|
frm.fields_dict['earnings'].grid.set_column_disp("default_amount", false);
|
||||||
frm.fields_dict['deductions'].grid.set_column_disp("default_amount", false);
|
frm.fields_dict['deductions'].grid.set_column_disp("default_amount", false);
|
||||||
|
|
||||||
|
if(frm.doc.docstatus === 1) {
|
||||||
frm.add_custom_button(__("Preview Salary Slip"), function() {
|
frm.add_custom_button(__("Preview Salary Slip"), function() {
|
||||||
frm.trigger('preview_salary_slip');
|
frm.trigger('preview_salary_slip');
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if(frm.doc.docstatus==1) {
|
if(frm.doc.docstatus==1) {
|
||||||
frm.add_custom_button(__("Assign Salary Structure"), function() {
|
frm.add_custom_button(__("Assign Salary Structure"), function() {
|
||||||
|
@ -169,5 +169,10 @@ def make_salary_slip(source_name, target_doc = None, employee = None, as_print =
|
|||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_employees(salary_structure):
|
def get_employees(salary_structure):
|
||||||
employees = frappe.get_list('Salary Structure Assignment',
|
employees = frappe.get_list('Salary Structure Assignment',
|
||||||
filters={'salary_structure': salary_structure}, fields=['employee'])
|
filters={'salary_structure': salary_structure, 'docstatus': 1}, fields=['employee'])
|
||||||
|
|
||||||
|
if not employees:
|
||||||
|
frappe.throw(_("There's no Employee with Salary Structure: {0}. \
|
||||||
|
Assign {1} to an Employee to preview Salary Slip").format(salary_structure, salary_structure))
|
||||||
|
|
||||||
return list(set([d.employee for d in employees]))
|
return list(set([d.employee for d in employees]))
|
||||||
|
@ -2,4 +2,14 @@
|
|||||||
// For license information, please see license.txt
|
// For license information, please see license.txt
|
||||||
|
|
||||||
frappe.query_reports["Department Analytics"] = {
|
frappe.query_reports["Department Analytics"] = {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"fieldname":"company",
|
||||||
|
"label": __("Company"),
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"options": "Company",
|
||||||
|
"default": frappe.defaults.get_user_default("Company"),
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
]
|
||||||
};
|
};
|
@ -7,6 +7,10 @@ from frappe import _
|
|||||||
|
|
||||||
def execute(filters=None):
|
def execute(filters=None):
|
||||||
if not filters: filters = {}
|
if not filters: filters = {}
|
||||||
|
|
||||||
|
if not filters["company"]:
|
||||||
|
frappe.throw(_('{0} is mandatory').format(_('Company')))
|
||||||
|
|
||||||
columns = get_columns()
|
columns = get_columns()
|
||||||
employees = get_employees(filters)
|
employees = get_employees(filters)
|
||||||
departments_result = get_department(filters)
|
departments_result = get_department(filters)
|
||||||
@ -28,6 +32,9 @@ def get_conditions(filters):
|
|||||||
conditions = ""
|
conditions = ""
|
||||||
if filters.get("department"): conditions += " and department = '%s'" % \
|
if filters.get("department"): conditions += " and department = '%s'" % \
|
||||||
filters["department"].replace("'", "\\'")
|
filters["department"].replace("'", "\\'")
|
||||||
|
|
||||||
|
if filters.get("company"): conditions += " and company = '%s'" % \
|
||||||
|
filters["company"].replace("'", "\\'")
|
||||||
return conditions
|
return conditions
|
||||||
|
|
||||||
def get_employees(filters):
|
def get_employees(filters):
|
||||||
@ -37,7 +44,7 @@ def get_employees(filters):
|
|||||||
gender, company from `tabEmployee` where status = 'Active' %s""" % conditions, as_list=1)
|
gender, company from `tabEmployee` where status = 'Active' %s""" % conditions, as_list=1)
|
||||||
|
|
||||||
def get_department(filters):
|
def get_department(filters):
|
||||||
return frappe.db.sql("""select name from `tabDepartment`""" , as_list=1)
|
return frappe.db.sql("""select name from `tabDepartment` where company = %s""", (filters["company"]), as_list=1)
|
||||||
|
|
||||||
def get_chart_data(departments,employees):
|
def get_chart_data(departments,employees):
|
||||||
if not departments:
|
if not departments:
|
||||||
|
@ -233,7 +233,7 @@ frappe.ui.form.on('Production Plan', {
|
|||||||
|
|
||||||
if (item_wise_qty) {
|
if (item_wise_qty) {
|
||||||
for (var key in item_wise_qty) {
|
for (var key in item_wise_qty) {
|
||||||
title += __('Item {0}: {1} qty produced, ', [key, item_wise_qty[key]]);
|
title += __('Item {0}: {1} qty produced. ', [key, item_wise_qty[key]]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user