From 398f15754d288a39a7eaa31a363d6ee8827b150e Mon Sep 17 00:00:00 2001 From: Jamsheer Date: Mon, 4 Jun 2018 11:02:53 +0530 Subject: [PATCH] Rename - Additional Salary Component to Additional Salary (#14302) * Rename Doctype Additional Salary Component to Additional Salary * Remove unused import --- erpnext/config/hr.py | 8 +- .../__init__.py | 0 .../additional_salary.js} | 2 +- .../additional_salary.json} | 101 +++++++++------- .../additional_salary.py} | 11 +- .../test_additional_salary.js} | 6 +- .../test_additional_salary.py} | 2 +- .../leave_encashment/leave_encashment.json | 112 ++++++++++-------- .../leave_encashment/leave_encashment.py | 24 ++-- erpnext/hr/doctype/salary_slip/salary_slip.py | 2 +- 10 files changed, 149 insertions(+), 119 deletions(-) rename erpnext/hr/doctype/{additional_salary_component => additional_salary}/__init__.py (100%) rename erpnext/hr/doctype/{additional_salary_component/additional_salary_component.js => additional_salary/additional_salary.js} (88%) rename erpnext/hr/doctype/{additional_salary_component/additional_salary_component.json => additional_salary/additional_salary.json} (84%) rename erpnext/hr/doctype/{additional_salary_component/additional_salary_component.py => additional_salary/additional_salary.py} (85%) rename erpnext/hr/doctype/{additional_salary_component/test_additional_salary_component.js => additional_salary/test_additional_salary.js} (66%) rename erpnext/hr/doctype/{additional_salary_component/test_additional_salary_component.py => additional_salary/test_additional_salary.py} (75%) diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py index cd2ddd9557..7ead57201d 100644 --- a/erpnext/config/hr.py +++ b/erpnext/config/hr.py @@ -94,6 +94,10 @@ def get_data(): "type": "doctype", "name": "Employee Benefit Claim", }, + { + "type": "doctype", + "name": "Additional Salary", + }, { "type": "doctype", "name": "Employee Tax Exemption Declaration", @@ -123,10 +127,6 @@ def get_data(): "type": "doctype", "name": "Salary Component", }, - { - "type": "doctype", - "name": "Additional Salary Component", - }, { "type": "doctype", "name": "Salary Structure", diff --git a/erpnext/hr/doctype/additional_salary_component/__init__.py b/erpnext/hr/doctype/additional_salary/__init__.py similarity index 100% rename from erpnext/hr/doctype/additional_salary_component/__init__.py rename to erpnext/hr/doctype/additional_salary/__init__.py diff --git a/erpnext/hr/doctype/additional_salary_component/additional_salary_component.js b/erpnext/hr/doctype/additional_salary/additional_salary.js similarity index 88% rename from erpnext/hr/doctype/additional_salary_component/additional_salary_component.js rename to erpnext/hr/doctype/additional_salary/additional_salary.js index 13ed239b36..957b979bac 100644 --- a/erpnext/hr/doctype/additional_salary_component/additional_salary_component.js +++ b/erpnext/hr/doctype/additional_salary/additional_salary.js @@ -1,7 +1,7 @@ // Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors // For license information, please see license.txt -frappe.ui.form.on('Additional Salary Component', { +frappe.ui.form.on('Additional Salary', { setup: function(frm) { frm.set_query("salary_component", function() { return { diff --git a/erpnext/hr/doctype/additional_salary_component/additional_salary_component.json b/erpnext/hr/doctype/additional_salary/additional_salary.json similarity index 84% rename from erpnext/hr/doctype/additional_salary_component/additional_salary_component.json rename to erpnext/hr/doctype/additional_salary/additional_salary.json index ea73917e07..0235f4949e 100644 --- a/erpnext/hr/doctype/additional_salary_component/additional_salary_component.json +++ b/erpnext/hr/doctype/additional_salary/additional_salary.json @@ -15,6 +15,7 @@ "fields": [ { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -42,11 +43,12 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -74,11 +76,12 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -106,16 +109,17 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, "columns": 0, - "fetch_from": "employee.employee_name", + "fetch_from": "employee.employee_name", "fieldname": "employee_name", "fieldtype": "Data", "hidden": 0, @@ -139,11 +143,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -171,11 +176,12 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -201,11 +207,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -232,11 +239,12 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -263,11 +271,12 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -294,48 +303,50 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, "columns": 0, - "fetch_from": "employee.department", - "fieldname": "department", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Department", - "length": 0, - "no_copy": 0, - "options": "Department", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, + "fetch_from": "employee.department", + "fieldname": "department", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Department", + "length": 0, + "no_copy": 0, + "options": "Department", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, + "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, "fieldname": "amended_from", "fieldtype": "Link", "hidden": 0, @@ -348,7 +359,7 @@ "label": "Amended From", "length": 0, "no_copy": 1, - "options": "Additional Salary Component", + "options": "Additional Salary", "permlevel": 0, "print_hide": 1, "print_hide_if_no_value": 0, @@ -358,7 +369,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 } ], @@ -372,10 +383,10 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-05-17 10:22:03.004640", + "modified": "2018-05-30 11:44:06.422122", "modified_by": "Administrator", "module": "HR", - "name": "Additional Salary Component", + "name": "Additional Salary", "name_case": "", "owner": "Administrator", "permissions": [ diff --git a/erpnext/hr/doctype/additional_salary_component/additional_salary_component.py b/erpnext/hr/doctype/additional_salary/additional_salary.py similarity index 85% rename from erpnext/hr/doctype/additional_salary_component/additional_salary_component.py rename to erpnext/hr/doctype/additional_salary/additional_salary.py index 7a07ae0e95..7482c8b0f8 100644 --- a/erpnext/hr/doctype/additional_salary_component/additional_salary_component.py +++ b/erpnext/hr/doctype/additional_salary/additional_salary.py @@ -8,7 +8,7 @@ from frappe.model.document import Document from frappe import _ from frappe.utils import getdate, date_diff -class AdditionalSalaryComponent(Document): +class AdditionalSalary(Document): def validate(self): self.validate_dates() if self.amount <= 0: @@ -25,6 +25,11 @@ class AdditionalSalaryComponent(Document): frappe.throw(_("To date can not greater than employee's relieving date")) def get_amount(self, sal_start_date, sal_end_date): + # If additional salary dates in between the salary slip dates + # then return complete additional salary amount + if getdate(sal_start_date) <= getdate(self.from_date) <= getdate(sal_end_date)\ + and getdate(sal_end_date) >= getdate(self.to_date) >= getdate(sal_start_date): + return self.amount start_date = getdate(sal_start_date) end_date = getdate(sal_end_date) total_days = date_diff(getdate(self.to_date), getdate(self.from_date)) + 1 @@ -42,7 +47,7 @@ class AdditionalSalaryComponent(Document): @frappe.whitelist() def get_additional_salary_component(employee, start_date, end_date): additional_components = frappe.db.sql(""" - select name from `tabAdditional Salary Component` + select name from `tabAdditional Salary` where employee=%(employee)s and docstatus = 1 and ( @@ -60,7 +65,7 @@ def get_additional_salary_component(employee, start_date, end_date): for additional_component in additional_components: struct_row = {} additional_components_dict = {} - additional_component_obj = frappe.get_doc("Additional Salary Component", additional_component[0]) + additional_component_obj = frappe.get_doc("Additional Salary", additional_component[0]) amount = additional_component_obj.get_amount(start_date, end_date) salary_component = frappe.get_doc("Salary Component", additional_component_obj.salary_component) struct_row['depends_on_lwp'] = salary_component.depends_on_lwp diff --git a/erpnext/hr/doctype/additional_salary_component/test_additional_salary_component.js b/erpnext/hr/doctype/additional_salary/test_additional_salary.js similarity index 66% rename from erpnext/hr/doctype/additional_salary_component/test_additional_salary_component.js rename to erpnext/hr/doctype/additional_salary/test_additional_salary.js index 118290bcfa..c18e187585 100644 --- a/erpnext/hr/doctype/additional_salary_component/test_additional_salary_component.js +++ b/erpnext/hr/doctype/additional_salary/test_additional_salary.js @@ -2,15 +2,15 @@ // rename this file from _test_[name] to test_[name] to activate // and remove above this line -QUnit.test("test: Additional Salary Component", function (assert) { +QUnit.test("test: Additional Salary", function (assert) { let done = assert.async(); // number of asserts assert.expect(1); frappe.run_serially([ - // insert a new Additional Salary Component - () => frappe.tests.make('Additional Salary Component', [ + // insert a new Additional Salary + () => frappe.tests.make('Additional Salary', [ // values to be set {key: 'value'} ]), diff --git a/erpnext/hr/doctype/additional_salary_component/test_additional_salary_component.py b/erpnext/hr/doctype/additional_salary/test_additional_salary.py similarity index 75% rename from erpnext/hr/doctype/additional_salary_component/test_additional_salary_component.py rename to erpnext/hr/doctype/additional_salary/test_additional_salary.py index eda2f79dc9..949ba20335 100644 --- a/erpnext/hr/doctype/additional_salary_component/test_additional_salary_component.py +++ b/erpnext/hr/doctype/additional_salary/test_additional_salary.py @@ -4,5 +4,5 @@ from __future__ import unicode_literals import unittest -class TestAdditionalSalaryComponent(unittest.TestCase): +class TestAdditionalSalary(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/leave_encashment/leave_encashment.json b/erpnext/hr/doctype/leave_encashment/leave_encashment.json index fff50c4e48..e9a99facef 100644 --- a/erpnext/hr/doctype/leave_encashment/leave_encashment.json +++ b/erpnext/hr/doctype/leave_encashment/leave_encashment.json @@ -15,6 +15,7 @@ "fields": [ { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -42,11 +43,12 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -74,16 +76,17 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, "columns": 0, - "fetch_from": "employee.employee_name", + "fetch_from": "employee.employee_name", "fieldname": "employee_name", "fieldtype": "Data", "hidden": 0, @@ -107,48 +110,50 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, "columns": 0, - "fetch_from": "employee.department", - "fieldname": "department", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Department", - "length": 0, - "no_copy": 0, - "options": "Department", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, + "fetch_from": "employee.department", + "fieldname": "department", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Department", + "length": 0, + "no_copy": 0, + "options": "Department", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, + "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, "fieldname": "leave_type", "fieldtype": "Link", "hidden": 0, @@ -172,11 +177,12 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -202,11 +208,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -234,11 +241,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -265,11 +273,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -296,11 +305,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -327,11 +337,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -358,11 +369,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -389,11 +401,12 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, @@ -421,16 +434,17 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 }, { "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, "columns": 0, - "fieldname": "additional_component", + "fieldname": "additional_salary", "fieldtype": "Link", "hidden": 0, "ignore_user_permissions": 0, @@ -439,10 +453,10 @@ "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, - "label": "Additional Salary Component", + "label": "Additional Salary", "length": 0, "no_copy": 1, - "options": "Additional Salary Component", + "options": "Additional Salary", "permlevel": 0, "precision": "", "print_hide": 0, @@ -453,7 +467,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, - "translatable": 0, + "translatable": 0, "unique": 0 } ], @@ -467,7 +481,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-05-17 10:46:20.719555", + "modified": "2018-05-31 11:41:04.053874", "modified_by": "Administrator", "module": "HR", "name": "Leave Encashment", diff --git a/erpnext/hr/doctype/leave_encashment/leave_encashment.py b/erpnext/hr/doctype/leave_encashment/leave_encashment.py index 24096ab8fb..a61210c729 100644 --- a/erpnext/hr/doctype/leave_encashment/leave_encashment.py +++ b/erpnext/hr/doctype/leave_encashment/leave_encashment.py @@ -26,25 +26,25 @@ class LeaveEncashment(Document): def on_submit(self): if not self.leave_allocation: self.leave_allocation = self.get_leave_allocation() - additional_component = frappe.new_doc("Additional Salary Component") - additional_component.company = frappe.get_value("Employee", self.employee, "company") - additional_component.employee = self.employee - additional_component.salary_component = frappe.get_value("Leave Type", self.leave_type, "earning_component") - additional_component.from_date = self.encashment_date - additional_component.to_date = self.encashment_date - additional_component.amount = self.encashment_amount - additional_component.submit() + additional_salary = frappe.new_doc("Additional Salary") + additional_salary.company = frappe.get_value("Employee", self.employee, "company") + additional_salary.employee = self.employee + additional_salary.salary_component = frappe.get_value("Leave Type", self.leave_type, "earning_component") + additional_salary.from_date = self.encashment_date + additional_salary.to_date = self.encashment_date + additional_salary.amount = self.encashment_amount + additional_salary.submit() - self.db_set("additional_component", additional_component.name) + self.db_set("additional_salary", additional_salary.name) # Set encashed leaves in Allocation frappe.db.set_value("Leave Allocation", self.leave_allocation, "total_leaves_encashed", frappe.db.get_value('Leave Allocation', self.leave_allocation, 'total_leaves_encashed') + self.encashable_days) def on_cancel(self): - if self.additional_component: - frappe.get_doc("Additional Salary Component", self.additional_component).cancel() - self.db_set("additional_component", "") + if self.additional_salary: + frappe.get_doc("Additional Salary", self.additional_salary).cancel() + self.db_set("additional_salary", "") if self.leave_allocation: frappe.db.set_value("Leave Allocation", self.leave_allocation, "total_leaves_encashed", diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py index 87511b6e9d..f74ef005b5 100644 --- a/erpnext/hr/doctype/salary_slip/salary_slip.py +++ b/erpnext/hr/doctype/salary_slip/salary_slip.py @@ -12,7 +12,7 @@ from erpnext.hr.doctype.payroll_entry.payroll_entry import get_start_end_dates from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee from erpnext.utilities.transaction_base import TransactionBase from frappe.utils.background_jobs import enqueue -from erpnext.hr.doctype.additional_salary_component.additional_salary_component import get_additional_salary_component +from erpnext.hr.doctype.additional_salary.additional_salary import get_additional_salary_component from erpnext.hr.doctype.employee_benefit_application.employee_benefit_application import get_employee_benefit_application, get_amount from erpnext.hr.doctype.payroll_period.payroll_period import get_payroll_period_days from erpnext.hr.doctype.employee_benefit_claim.employee_benefit_claim import get_employee_benefit_claim