minor fix

This commit is contained in:
Camilo Sarmiento 2020-05-27 19:41:17 -05:00
parent 7ee246d095
commit 268fdb95e5
2 changed files with 28 additions and 29 deletions

View File

@ -276,7 +276,7 @@ class Payroll(metaclass=PoolMeta):
payrolls = self._get_payrolls_month()
# payrolls_contract = {}
# contract_id_payrolls = [payroll.contract.id for payroll in payrolls]
if config.default_liquidation_period and payrolls:
if payrolls:
# num_subperiod = 30 / config.default_liquidation_period
# if len(payrolls) >= num_subperiod:
for payroll in payrolls:
@ -287,20 +287,20 @@ class Payroll(metaclass=PoolMeta):
def get_line(self, wage, qty, unit_value, party=None):
res = super(Payroll, self).get_line(wage, qty, unit_value, party)
res['unit_value'] = self._validate_amount_wage(wage, res['unit_value'])
# res['unit_value'] = self._validate_amount_wage(wage, res['unit_value'])
return res
def _validate_amount_wage(self, wage, amount):
config = Pool().get('staff.configuration')(1)
salary_in_date = self.contract.get_salary_in_date(self.end)
if config and config.minimum_salary and \
wage.type_concept == 'transport' and \
salary_in_date >= (config.minimum_salary * 2):
amount = 0
if wage.type_concept in SOCIAL_SEGURITY and \
amount < wage.minimal_unit_price:
amount = wage.minimal_unit_price
return amount
# def _validate_amount_wage(self, wage, amount):
# config = Pool().get('staff.configuration')(1)
# salary_in_date = self.contract.get_salary_in_date(self.end)
# if config and config.minimum_salary and \
# wage.type_concept == 'transport' and \
# salary_in_date >= (config.minimum_salary * 2):
# amount = 0
# if wage.type_concept in SOCIAL_SEGURITY and \
# amount < wage.minimal_unit_price:
# amount = wage.minimal_unit_price
# return amount
def set_preliquidation(self, extras, discounts=None):
discounts = self.set_events()

View File

@ -25,10 +25,10 @@ class WageType(metaclass=PoolMeta):
'if month has 31 days, or rounded to 15 indeed the biweekly'
'pay has 16 days')
round_amounts = fields.Selection(ROUND_AMOUNTS, 'Rounds amounts', help='Approximates the highest value in hundreds')
minimal_expense = fields.Function(fields.Numeric('Minimun Expense Amount'),
'validate_minimum_amount')
minimal_unit_price = fields.Function(fields.Numeric('Minimun Expense Amount'),
'validate_minimum_amount')
# minimal_expense = fields.Function(fields.Numeric('Minimun Expense Amount'),
# 'validate_minimum_amount')
# minimal_unit_price = fields.Function(fields.Numeric('Minimun Expense Amount'),
# 'validate_minimum_amount')
# limit_days = fields.Numeric('Limit Days', states={
# 'invisible': Eval('type_concept') != 'special',
# 'required': Eval('type_concept') == 'special',
@ -63,15 +63,14 @@ class WageType(metaclass=PoolMeta):
if new_sel not in cls.type_concept.selection:
cls.type_concept.selection.extend(new_sel)
def validate_minimum_amount(self, name):
config = Pool().get('staff.configuration')(1)
if config:
minimum_salary = config.minimum_salary
num_subperiod = 30 / config.default_liquidation_period
amount = minimum_salary / num_subperiod
if name == 'minimal_unit_price':
return self.compute_unit_price({'salary': amount})
if name == 'minimal_expense':
return self.compute_expense({'salary': amount})
return 0
# def validate_minimum_amount(self, name):
# config = Pool().get('staff.configuration')(1)
# if config:
# minimum_salary = config.minimum_salary
# num_subperiod = 30 / config.default_liquidation_period
# amount = minimum_salary / num_subperiod
# if name == 'minimal_unit_price':
# return self.compute_unit_price({'salary': amount})
# if name == 'minimal_expense':
# return self.compute_expense({'salary': amount})
# return 0