feat: validating and ordeing the rule slabr
This commit is contained in:
parent
dedc0015c0
commit
30299c6f49
@ -6,3 +6,36 @@ frappe.ui.form.on('Gratuity Rule', {
|
||||
|
||||
// }
|
||||
});
|
||||
|
||||
frappe.ui.form.on('Gratuity Rule Slab', {
|
||||
|
||||
/*
|
||||
Slabs should be in order like
|
||||
|
||||
from | to | fraction
|
||||
0 | 4 | 0.5
|
||||
4 | 6 | 0.7
|
||||
|
||||
So, on row addition setting current_row.from = previous row.to.
|
||||
On to_year insert we have to check that it is not less than from_year
|
||||
|
||||
*/
|
||||
|
||||
|
||||
gratuity_rule_slabs_add(frm, cdt, cdn) {
|
||||
let row = locals[cdt][cdn];
|
||||
let array_idx = row.idx - 1
|
||||
if(array_idx > 0){
|
||||
row.from_year = cur_frm.doc.gratuity_rule_slabs[array_idx-1].to_year;
|
||||
frm.refresh();
|
||||
}
|
||||
},
|
||||
|
||||
to_year(frm, cdt, cdn) {
|
||||
let row = locals[cdt][cdn];
|
||||
if (row.to_year <= row.from_year){
|
||||
frappe.throw(__("To(Year) year can not be less than From(year) "));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -3,8 +3,18 @@
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
# import frappe
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
from frappe import _
|
||||
|
||||
class GratuityRule(Document):
|
||||
pass
|
||||
|
||||
def validate(self):
|
||||
for current_slab in self.gratuity_rule_slabs:
|
||||
if current_slab.from_year > current_slab.to_year:
|
||||
frappe(_("Row {0}: From (Year) can not be greater than To (Year)").format(slab.idx))
|
||||
|
||||
if current_slab.to_year == 0 and current_slab.from_year == 0 and len(self.gratuity_rule_slabs) > 1:
|
||||
frappe.throw(_("You can not define multiple slabs if you have a slab with no lower and upper limits."))
|
||||
|
||||
|
||||
|
@ -5,34 +5,39 @@
|
||||
"editable_grid": 1,
|
||||
"engine": "InnoDB",
|
||||
"field_order": [
|
||||
"from",
|
||||
"to",
|
||||
"from_year",
|
||||
"to_year",
|
||||
"fraction_of_applicable_earnings"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
"fieldname": "from",
|
||||
"fieldtype": "Int",
|
||||
"in_list_view": 1,
|
||||
"label": "From(Year)"
|
||||
},
|
||||
{
|
||||
"fieldname": "to",
|
||||
"fieldtype": "Int",
|
||||
"in_list_view": 1,
|
||||
"label": "To(Year)"
|
||||
},
|
||||
{
|
||||
"fieldname": "fraction_of_applicable_earnings",
|
||||
"fieldtype": "Float",
|
||||
"in_list_view": 1,
|
||||
"label": "Fraction of Applicable Earnings ",
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "from_year",
|
||||
"fieldtype": "Int",
|
||||
"in_list_view": 1,
|
||||
"label": "From(Year)",
|
||||
"read_only": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "to_year",
|
||||
"fieldtype": "Int",
|
||||
"in_list_view": 1,
|
||||
"label": "To(Year)",
|
||||
"reqd": 1
|
||||
}
|
||||
],
|
||||
"istable": 1,
|
||||
"links": [],
|
||||
"modified": "2020-08-05 20:03:25.955448",
|
||||
"modified": "2020-08-14 15:23:12.041375",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Payroll",
|
||||
"name": "Gratuity Rule Slab",
|
||||
|
Loading…
x
Reference in New Issue
Block a user