add raise error for duplicate liquidations

This commit is contained in:
wilsongomez 2022-06-03 12:13:50 -05:00
parent d4ff45402a
commit 2e4c4569e1
2 changed files with 13 additions and 11 deletions

View File

@ -477,6 +477,7 @@ class Liquidation(Workflow, ModelSQL, ModelView):
def set_liquidation_lines(self):
pool = Pool()
Payroll = pool.get('staff.payroll')
LiquidationMove = pool.get('staff.liquidation.line-move.line')
date_start, date_end = self._get_dates_liquidation()
payrolls = Payroll.search([
('employee', '=', self.employee.id),
@ -496,17 +497,6 @@ class Liquidation(Workflow, ModelSQL, ModelView):
continue
elif self.kind != l.wage_type.type_concept:
continue
# if l.wage_type.type_concept != 'interest':
# continue
# elif self.kind == 'vacation':
# if l.wage_type.type_concept != 'holidays':
# continue
# elif self.kind == 'unemployment':
# if l.wage_type.type_concept != 'unemployment':
# continue
# else:
# if l.wage_type.type_concept not in BONUS_SERVICE:
# continue
if l.wage_type.id not in wages_target.keys():
mlines = self.get_moves_lines_pending(
@ -536,6 +526,14 @@ class Liquidation(Workflow, ModelSQL, ModelView):
values.append(abs(line.debit - line.credit))
lines_to_reconcile.append(line.id)
value = self.get_line_(wage_type, sum(values), self.time_contracting, account_id, party=self.party_to_pay)
lines = LiquidationMove.search([
('move_line', 'in', lines_to_reconcile)
])
if lines:
liquidation = lines[0].line.liquidation
raise RecordDuplicateError(
gettext('staff_payroll_co.msg_duplicate_liquidation',
liquidation=liquidation.id, state=liquidation.state))
value.update({
'move_lines': [('add', lines_to_reconcile)],
})

View File

@ -68,5 +68,9 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.message" id="msg_cannot_duplicate_record">
<field name="text">You can't duplicate this record.</field>
</record>
<record model="ir.message" id="msg_duplicate_liquidation">
<field name="text">You have a liquidation with id "%(liquidation)s" in state "%(state)s".</field>
</record>
</data>
</tryton>