[Fix] Patch

This commit is contained in:
Rohit Waghchaure 2018-05-21 18:52:07 +05:30
parent 3ec43966da
commit 8e12a59d9b
2 changed files with 20 additions and 13 deletions

View File

@ -8,6 +8,8 @@ from frappe import _
from frappe.utils import getdate
from frappe.model.document import Document
class DuplicateAssignment(frappe.ValidationError): pass
class SalaryStructureAssignment(Document):
def validate(self):
self.validate_dates()
@ -56,7 +58,8 @@ class SalaryStructureAssignment(Document):
})
if assignment:
frappe.throw(_("Active Salary Structure Assignment {0} found for employee {1} for the given dates").format(assignment[0][0], self.employee))
frappe.throw(_("Active Salary Structure Assignment {0} found for employee {1} for the given dates").
format(assignment[0][0], self.employee), DuplicateAssignment)
def get_assigned_salary_structure(employee, on_date):
if not employee or not on_date:

View File

@ -4,24 +4,28 @@
from __future__ import unicode_literals
import frappe
from datetime import datetime
from erpnext.hr.doctype.salary_structure_assignment.salary_structure_assignment import DuplicateAssignment
def execute():
frappe.reload_doc("hr", "doctype", "salary_structure_assignment")
for d in frappe.db.sql("""
select sse.*, ss.company from `tabSalary Structure Employee` sse, `tabSalary Structure` ss
where ss.name = sse.parent AND sse.employee in (select name from `tabEmployee` where ifNull(status, '') != 'Left')""", as_dict=1):
s = frappe.new_doc("Salary Structure Assignment")
s.employee = d.employee
s.employee_name = d.employee_name
s.salary_structure = d.parent
s.from_date = d.from_date
s.to_date = d.to_date if isinstance(d.to_date, datetime) else None
s.base = d.base
s.variable = d.variable
s.company = d.company
try:
s = frappe.new_doc("Salary Structure Assignment")
s.employee = d.employee
s.employee_name = d.employee_name
s.salary_structure = d.parent
s.from_date = d.from_date
s.to_date = d.to_date if isinstance(d.to_date, datetime) else None
s.base = d.base
s.variable = d.variable
s.company = d.company
# to migrate the data of the old employees
s.flags.old_employee = True
s.save()
# to migrate the data of the old employees
s.flags.old_employee = True
s.save()
except DuplicateAssignment:
pass
frappe.db.sql("update `tabSalary Structure` set docstatus=1")