Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into gstr_export_sez_tax_rates
This commit is contained in:
@@ -65,9 +65,10 @@ frappe.ui.form.on('Employee Advance', {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frm.doc.docstatus === 1 &&
|
if (
|
||||||
(flt(frm.doc.claimed_amount) < flt(frm.doc.paid_amount) && flt(frm.doc.paid_amount) != flt(frm.doc.return_amount))) {
|
frm.doc.docstatus === 1
|
||||||
|
&& (flt(frm.doc.claimed_amount) < flt(frm.doc.paid_amount) - flt(frm.doc.return_amount))
|
||||||
|
) {
|
||||||
if (frm.doc.repay_unclaimed_amount_from_salary == 0 && frappe.model.can_create("Journal Entry")) {
|
if (frm.doc.repay_unclaimed_amount_from_salary == 0 && frappe.model.can_create("Journal Entry")) {
|
||||||
frm.add_custom_button(__("Return"), function() {
|
frm.add_custom_button(__("Return"), function() {
|
||||||
frm.trigger('make_return_entry');
|
frm.trigger('make_return_entry');
|
||||||
|
|||||||
@@ -4,21 +4,21 @@
|
|||||||
frappe.query_reports["Employee Leave Balance"] = {
|
frappe.query_reports["Employee Leave Balance"] = {
|
||||||
"filters": [
|
"filters": [
|
||||||
{
|
{
|
||||||
"fieldname":"from_date",
|
"fieldname": "from_date",
|
||||||
"label": __("From Date"),
|
"label": __("From Date"),
|
||||||
"fieldtype": "Date",
|
"fieldtype": "Date",
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"default": frappe.defaults.get_default("year_start_date")
|
"default": frappe.defaults.get_default("year_start_date")
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname":"to_date",
|
"fieldname": "to_date",
|
||||||
"label": __("To Date"),
|
"label": __("To Date"),
|
||||||
"fieldtype": "Date",
|
"fieldtype": "Date",
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"default": frappe.defaults.get_default("year_end_date")
|
"default": frappe.defaults.get_default("year_end_date")
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname":"company",
|
"fieldname": "company",
|
||||||
"label": __("Company"),
|
"label": __("Company"),
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"options": "Company",
|
"options": "Company",
|
||||||
@@ -26,16 +26,29 @@ frappe.query_reports["Employee Leave Balance"] = {
|
|||||||
"default": frappe.defaults.get_user_default("Company")
|
"default": frappe.defaults.get_user_default("Company")
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname":"department",
|
"fieldname": "department",
|
||||||
"label": __("Department"),
|
"label": __("Department"),
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"options": "Department",
|
"options": "Department",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname":"employee",
|
"fieldname": "employee",
|
||||||
"label": __("Employee"),
|
"label": __("Employee"),
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"options": "Employee",
|
"options": "Employee",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "employee_status",
|
||||||
|
"label": __("Employee Status"),
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"options": [
|
||||||
|
"",
|
||||||
|
{ "value": "Active", "label": __("Active") },
|
||||||
|
{ "value": "Inactive", "label": __("Inactive") },
|
||||||
|
{ "value": "Suspended", "label": __("Suspended") },
|
||||||
|
{ "value": "Left", "label": __("Left") },
|
||||||
|
],
|
||||||
|
"default": "Active",
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|||||||
@@ -168,9 +168,8 @@ def get_opening_balance(
|
|||||||
|
|
||||||
|
|
||||||
def get_conditions(filters: Filters) -> Dict:
|
def get_conditions(filters: Filters) -> Dict:
|
||||||
conditions = {
|
conditions = {}
|
||||||
"status": "Active",
|
|
||||||
}
|
|
||||||
if filters.get("employee"):
|
if filters.get("employee"):
|
||||||
conditions["name"] = filters.get("employee")
|
conditions["name"] = filters.get("employee")
|
||||||
|
|
||||||
@@ -180,6 +179,9 @@ def get_conditions(filters: Filters) -> Dict:
|
|||||||
if filters.get("department"):
|
if filters.get("department"):
|
||||||
conditions["department"] = filters.get("department")
|
conditions["department"] = filters.get("department")
|
||||||
|
|
||||||
|
if filters.get("employee_status"):
|
||||||
|
conditions["status"] = filters.get("employee_status")
|
||||||
|
|
||||||
return conditions
|
return conditions
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -207,3 +207,40 @@ class TestEmployeeLeaveBalance(unittest.TestCase):
|
|||||||
allocation1.new_leaves_allocated - leave_application.total_leave_days
|
allocation1.new_leaves_allocated - leave_application.total_leave_days
|
||||||
)
|
)
|
||||||
self.assertEqual(report[1][0].opening_balance, opening_balance)
|
self.assertEqual(report[1][0].opening_balance, opening_balance)
|
||||||
|
|
||||||
|
@set_holiday_list("_Test Emp Balance Holiday List", "_Test Company")
|
||||||
|
def test_employee_status_filter(self):
|
||||||
|
frappe.get_doc(test_records[0]).insert()
|
||||||
|
inactive_emp = make_employee("test_emp_status@example.com", company="_Test Company")
|
||||||
|
|
||||||
|
allocation = make_allocation_record(
|
||||||
|
employee=inactive_emp,
|
||||||
|
from_date=self.year_start,
|
||||||
|
to_date=self.year_end,
|
||||||
|
leaves=5,
|
||||||
|
)
|
||||||
|
|
||||||
|
# set employee as inactive
|
||||||
|
frappe.db.set_value("Employee", inactive_emp, "status", "Inactive")
|
||||||
|
|
||||||
|
filters = frappe._dict(
|
||||||
|
{
|
||||||
|
"from_date": allocation.from_date,
|
||||||
|
"to_date": allocation.to_date,
|
||||||
|
"employee": inactive_emp,
|
||||||
|
"employee_status": "Active",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
report = execute(filters)
|
||||||
|
self.assertEqual(len(report[1]), 0)
|
||||||
|
|
||||||
|
filters = frappe._dict(
|
||||||
|
{
|
||||||
|
"from_date": allocation.from_date,
|
||||||
|
"to_date": allocation.to_date,
|
||||||
|
"employee": inactive_emp,
|
||||||
|
"employee_status": "Inactive",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
report = execute(filters)
|
||||||
|
self.assertEqual(len(report[1]), 1)
|
||||||
|
|||||||
@@ -30,6 +30,19 @@ frappe.query_reports['Employee Leave Balance Summary'] = {
|
|||||||
label: __('Department'),
|
label: __('Department'),
|
||||||
fieldtype: 'Link',
|
fieldtype: 'Link',
|
||||||
options: 'Department',
|
options: 'Department',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
fieldname: "employee_status",
|
||||||
|
label: __("Employee Status"),
|
||||||
|
fieldtype: "Select",
|
||||||
|
options: [
|
||||||
|
"",
|
||||||
|
{ "value": "Active", "label": __("Active") },
|
||||||
|
{ "value": "Inactive", "label": __("Inactive") },
|
||||||
|
{ "value": "Suspended", "label": __("Suspended") },
|
||||||
|
{ "value": "Left", "label": __("Left") },
|
||||||
|
],
|
||||||
|
default: "Active",
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -35,9 +35,10 @@ def get_columns(leave_types):
|
|||||||
|
|
||||||
def get_conditions(filters):
|
def get_conditions(filters):
|
||||||
conditions = {
|
conditions = {
|
||||||
"status": "Active",
|
|
||||||
"company": filters.company,
|
"company": filters.company,
|
||||||
}
|
}
|
||||||
|
if filters.get("employee_status"):
|
||||||
|
conditions.update({"status": filters.get("employee_status")})
|
||||||
if filters.get("department"):
|
if filters.get("department"):
|
||||||
conditions.update({"department": filters.get("department")})
|
conditions.update({"department": filters.get("department")})
|
||||||
if filters.get("employee"):
|
if filters.get("employee"):
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ class TestEmployeeLeaveBalance(unittest.TestCase):
|
|||||||
|
|
||||||
frappe.set_user("Administrator")
|
frappe.set_user("Administrator")
|
||||||
|
|
||||||
self.employee_id = make_employee("test_emp_leave_balance@example.com", company="_Test Company")
|
|
||||||
self.employee_id = make_employee("test_emp_leave_balance@example.com", company="_Test Company")
|
self.employee_id = make_employee("test_emp_leave_balance@example.com", company="_Test Company")
|
||||||
|
|
||||||
self.date = getdate()
|
self.date = getdate()
|
||||||
@@ -146,3 +145,37 @@ class TestEmployeeLeaveBalance(unittest.TestCase):
|
|||||||
]
|
]
|
||||||
|
|
||||||
self.assertEqual(report[1], expected_data)
|
self.assertEqual(report[1], expected_data)
|
||||||
|
|
||||||
|
@set_holiday_list("_Test Emp Balance Holiday List", "_Test Company")
|
||||||
|
def test_employee_status_filter(self):
|
||||||
|
frappe.get_doc(test_records[0]).insert()
|
||||||
|
|
||||||
|
inactive_emp = make_employee("test_emp_status@example.com", company="_Test Company")
|
||||||
|
allocation = make_allocation_record(
|
||||||
|
employee=inactive_emp, from_date=self.year_start, to_date=self.year_end
|
||||||
|
)
|
||||||
|
|
||||||
|
# set employee as inactive
|
||||||
|
frappe.db.set_value("Employee", inactive_emp, "status", "Inactive")
|
||||||
|
|
||||||
|
filters = frappe._dict(
|
||||||
|
{
|
||||||
|
"date": allocation.from_date,
|
||||||
|
"company": "_Test Company",
|
||||||
|
"employee": inactive_emp,
|
||||||
|
"employee_status": "Active",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
report = execute(filters)
|
||||||
|
self.assertEqual(len(report[1]), 0)
|
||||||
|
|
||||||
|
filters = frappe._dict(
|
||||||
|
{
|
||||||
|
"date": allocation.from_date,
|
||||||
|
"company": "_Test Company",
|
||||||
|
"employee": inactive_emp,
|
||||||
|
"employee_status": "Inactive",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
report = execute(filters)
|
||||||
|
self.assertEqual(len(report[1]), 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user