From b25e53a0b9f950b8f9367c1bf304753c87ee2a63 Mon Sep 17 00:00:00 2001 From: Laurent Smet Date: Mon, 8 Jun 2020 06:42:14 +0000 Subject: [PATCH] [IMP] hr_expense(_check): Remove the custom register payment expense wizard - Use the one defined in the account module allowing paying multiple journal entries and group payments together. - Remove the hr_expense_check module that contains only duplicated features regarding the register payment wizard. --task: 2273528 --- .../wizard/account_payment_register.py | 2 +- addons/hr_expense/__manifest__.py | 1 - addons/hr_expense/models/hr_expense.py | 36 ++++ .../hr_expense/security/ir.model.access.csv | 1 - addons/hr_expense/views/hr_expense_views.xml | 25 ++- addons/hr_expense/wizard/__init__.py | 3 +- .../wizard/account_payment_register.py | 22 +++ .../hr_expense_sheet_register_payment.py | 156 ------------------ .../hr_expense_sheet_register_payment.xml | 56 ------- addons/hr_expense_check/__init__.py | 1 - addons/hr_expense_check/__manifest__.py | 15 -- addons/hr_expense_check/i18n/af.po | 60 ------- addons/hr_expense_check/i18n/am.po | 60 ------- addons/hr_expense_check/i18n/ar.po | 67 -------- addons/hr_expense_check/i18n/az.po | 60 ------- addons/hr_expense_check/i18n/bg.po | 60 ------- addons/hr_expense_check/i18n/bs.po | 60 ------- addons/hr_expense_check/i18n/ca.po | 70 -------- addons/hr_expense_check/i18n/cs.po | 66 -------- addons/hr_expense_check/i18n/da.po | 67 -------- addons/hr_expense_check/i18n/de.po | 72 -------- addons/hr_expense_check/i18n/el.po | 68 -------- addons/hr_expense_check/i18n/en_GB.po | 60 ------- addons/hr_expense_check/i18n/es.po | 69 -------- addons/hr_expense_check/i18n/es_BO.po | 60 ------- addons/hr_expense_check/i18n/es_CL.po | 60 ------- addons/hr_expense_check/i18n/es_CO.po | 60 ------- addons/hr_expense_check/i18n/es_CR.po | 60 ------- addons/hr_expense_check/i18n/es_DO.po | 60 ------- addons/hr_expense_check/i18n/es_EC.po | 60 ------- addons/hr_expense_check/i18n/es_PE.po | 60 ------- addons/hr_expense_check/i18n/es_PY.po | 60 ------- addons/hr_expense_check/i18n/es_VE.po | 60 ------- addons/hr_expense_check/i18n/et.po | 68 -------- addons/hr_expense_check/i18n/eu.po | 60 ------- addons/hr_expense_check/i18n/fa.po | 63 ------- addons/hr_expense_check/i18n/fi.po | 67 -------- addons/hr_expense_check/i18n/fo.po | 60 ------- addons/hr_expense_check/i18n/fr.po | 71 -------- addons/hr_expense_check/i18n/fr_CA.po | 60 ------- addons/hr_expense_check/i18n/gl.po | 60 ------- addons/hr_expense_check/i18n/gu.po | 60 ------- addons/hr_expense_check/i18n/he.po | 67 -------- addons/hr_expense_check/i18n/hr.po | 66 -------- .../i18n/hr_expense_check.pot | 60 ------- addons/hr_expense_check/i18n/hu.po | 71 -------- addons/hr_expense_check/i18n/id.po | 71 -------- addons/hr_expense_check/i18n/is.po | 65 -------- addons/hr_expense_check/i18n/it.po | 71 -------- addons/hr_expense_check/i18n/ja.po | 60 ------- addons/hr_expense_check/i18n/ka.po | 60 ------- addons/hr_expense_check/i18n/kab.po | 60 ------- addons/hr_expense_check/i18n/km.po | 60 ------- addons/hr_expense_check/i18n/ko.po | 64 ------- addons/hr_expense_check/i18n/lb.po | 60 ------- addons/hr_expense_check/i18n/lo.po | 60 ------- addons/hr_expense_check/i18n/lt.po | 70 -------- addons/hr_expense_check/i18n/lv.po | 60 ------- addons/hr_expense_check/i18n/mk.po | 60 ------- addons/hr_expense_check/i18n/mn.po | 72 -------- addons/hr_expense_check/i18n/nb.po | 70 -------- addons/hr_expense_check/i18n/ne.po | 60 ------- addons/hr_expense_check/i18n/nl.po | 71 -------- addons/hr_expense_check/i18n/nl_BE.po | 60 ------- addons/hr_expense_check/i18n/pl.po | 73 -------- addons/hr_expense_check/i18n/pt.po | 60 ------- addons/hr_expense_check/i18n/pt_BR.po | 70 -------- addons/hr_expense_check/i18n/ro.po | 60 ------- addons/hr_expense_check/i18n/ru.po | 72 -------- addons/hr_expense_check/i18n/sk.po | 67 -------- addons/hr_expense_check/i18n/sl.po | 60 ------- addons/hr_expense_check/i18n/sq.po | 60 ------- addons/hr_expense_check/i18n/sr.po | 60 ------- addons/hr_expense_check/i18n/sr@latin.po | 67 -------- addons/hr_expense_check/i18n/sv.po | 64 ------- addons/hr_expense_check/i18n/th.po | 60 ------- addons/hr_expense_check/i18n/tr.po | 71 -------- addons/hr_expense_check/i18n/uk.po | 71 -------- addons/hr_expense_check/i18n/vi.po | 65 -------- addons/hr_expense_check/i18n/zh_CN.po | 67 -------- addons/hr_expense_check/i18n/zh_TW.po | 65 -------- addons/hr_expense_check/models/__init__.py | 1 - addons/hr_expense_check/models/payment.py | 40 ----- addons/hr_expense_check/views/payment.xml | 18 -- 84 files changed, 85 insertions(+), 4770 deletions(-) create mode 100644 addons/hr_expense/wizard/account_payment_register.py delete mode 100644 addons/hr_expense/wizard/hr_expense_sheet_register_payment.py delete mode 100644 addons/hr_expense/wizard/hr_expense_sheet_register_payment.xml delete mode 100644 addons/hr_expense_check/__init__.py delete mode 100644 addons/hr_expense_check/__manifest__.py delete mode 100644 addons/hr_expense_check/i18n/af.po delete mode 100644 addons/hr_expense_check/i18n/am.po delete mode 100644 addons/hr_expense_check/i18n/ar.po delete mode 100644 addons/hr_expense_check/i18n/az.po delete mode 100644 addons/hr_expense_check/i18n/bg.po delete mode 100644 addons/hr_expense_check/i18n/bs.po delete mode 100644 addons/hr_expense_check/i18n/ca.po delete mode 100644 addons/hr_expense_check/i18n/cs.po delete mode 100644 addons/hr_expense_check/i18n/da.po delete mode 100644 addons/hr_expense_check/i18n/de.po delete mode 100644 addons/hr_expense_check/i18n/el.po delete mode 100644 addons/hr_expense_check/i18n/en_GB.po delete mode 100644 addons/hr_expense_check/i18n/es.po delete mode 100644 addons/hr_expense_check/i18n/es_BO.po delete mode 100644 addons/hr_expense_check/i18n/es_CL.po delete mode 100644 addons/hr_expense_check/i18n/es_CO.po delete mode 100644 addons/hr_expense_check/i18n/es_CR.po delete mode 100644 addons/hr_expense_check/i18n/es_DO.po delete mode 100644 addons/hr_expense_check/i18n/es_EC.po delete mode 100644 addons/hr_expense_check/i18n/es_PE.po delete mode 100644 addons/hr_expense_check/i18n/es_PY.po delete mode 100644 addons/hr_expense_check/i18n/es_VE.po delete mode 100644 addons/hr_expense_check/i18n/et.po delete mode 100644 addons/hr_expense_check/i18n/eu.po delete mode 100644 addons/hr_expense_check/i18n/fa.po delete mode 100644 addons/hr_expense_check/i18n/fi.po delete mode 100644 addons/hr_expense_check/i18n/fo.po delete mode 100644 addons/hr_expense_check/i18n/fr.po delete mode 100644 addons/hr_expense_check/i18n/fr_CA.po delete mode 100644 addons/hr_expense_check/i18n/gl.po delete mode 100644 addons/hr_expense_check/i18n/gu.po delete mode 100644 addons/hr_expense_check/i18n/he.po delete mode 100644 addons/hr_expense_check/i18n/hr.po delete mode 100644 addons/hr_expense_check/i18n/hr_expense_check.pot delete mode 100644 addons/hr_expense_check/i18n/hu.po delete mode 100644 addons/hr_expense_check/i18n/id.po delete mode 100644 addons/hr_expense_check/i18n/is.po delete mode 100644 addons/hr_expense_check/i18n/it.po delete mode 100644 addons/hr_expense_check/i18n/ja.po delete mode 100644 addons/hr_expense_check/i18n/ka.po delete mode 100644 addons/hr_expense_check/i18n/kab.po delete mode 100644 addons/hr_expense_check/i18n/km.po delete mode 100644 addons/hr_expense_check/i18n/ko.po delete mode 100644 addons/hr_expense_check/i18n/lb.po delete mode 100644 addons/hr_expense_check/i18n/lo.po delete mode 100644 addons/hr_expense_check/i18n/lt.po delete mode 100644 addons/hr_expense_check/i18n/lv.po delete mode 100644 addons/hr_expense_check/i18n/mk.po delete mode 100644 addons/hr_expense_check/i18n/mn.po delete mode 100644 addons/hr_expense_check/i18n/nb.po delete mode 100644 addons/hr_expense_check/i18n/ne.po delete mode 100644 addons/hr_expense_check/i18n/nl.po delete mode 100644 addons/hr_expense_check/i18n/nl_BE.po delete mode 100644 addons/hr_expense_check/i18n/pl.po delete mode 100644 addons/hr_expense_check/i18n/pt.po delete mode 100644 addons/hr_expense_check/i18n/pt_BR.po delete mode 100644 addons/hr_expense_check/i18n/ro.po delete mode 100644 addons/hr_expense_check/i18n/ru.po delete mode 100644 addons/hr_expense_check/i18n/sk.po delete mode 100644 addons/hr_expense_check/i18n/sl.po delete mode 100644 addons/hr_expense_check/i18n/sq.po delete mode 100644 addons/hr_expense_check/i18n/sr.po delete mode 100644 addons/hr_expense_check/i18n/sr@latin.po delete mode 100644 addons/hr_expense_check/i18n/sv.po delete mode 100644 addons/hr_expense_check/i18n/th.po delete mode 100644 addons/hr_expense_check/i18n/tr.po delete mode 100644 addons/hr_expense_check/i18n/uk.po delete mode 100644 addons/hr_expense_check/i18n/vi.po delete mode 100644 addons/hr_expense_check/i18n/zh_CN.po delete mode 100644 addons/hr_expense_check/i18n/zh_TW.po delete mode 100644 addons/hr_expense_check/models/__init__.py delete mode 100644 addons/hr_expense_check/models/payment.py delete mode 100644 addons/hr_expense_check/views/payment.xml diff --git a/addons/account/wizard/account_payment_register.py b/addons/account/wizard/account_payment_register.py index a4a6fdca2a4..0d996f20ddc 100644 --- a/addons/account/wizard/account_payment_register.py +++ b/addons/account/wizard/account_payment_register.py @@ -89,7 +89,7 @@ class AccountPaymentRegister(models.TransientModel): compute='_compute_payment_difference') payment_difference_handling = fields.Selection([ ('open', 'Keep open'), - ('reconcile', 'Mark invoice as fully paid'), + ('reconcile', 'Mark as fully paid'), ], default='open', string="Payment Difference Handling") writeoff_account_id = fields.Many2one('account.account', string="Difference Account", copy=False, domain="[('deprecated', '=', False), ('company_id', '=', company_id)]") diff --git a/addons/hr_expense/__manifest__.py b/addons/hr_expense/__manifest__.py index 006b2b39e56..a0b22f423d0 100644 --- a/addons/hr_expense/__manifest__.py +++ b/addons/hr_expense/__manifest__.py @@ -35,7 +35,6 @@ This module also uses analytic accounting and is compatible with the invoice on 'data/hr_expense_sequence.xml', 'data/hr_expense_data.xml', 'wizard/hr_expense_refuse_reason_views.xml', - 'wizard/hr_expense_sheet_register_payment.xml', 'views/hr_expense_views.xml', 'views/mail_activity_views.xml', 'security/ir_rule.xml', diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 741867c0a4d..025363ab5d5 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -772,6 +772,10 @@ class HrExpenseSheet(models.Model): payment_mode = fields.Selection(related='expense_line_ids.payment_mode', default='own_account', readonly=True, string="Paid By", tracking=True) user_id = fields.Many2one('res.users', 'Manager', compute='_compute_from_employee_id', store=True, readonly=True, copy=False, states={'draft': [('readonly', False)]}, tracking=True, domain=lambda self: [('groups_id', 'in', self.env.ref('hr_expense.group_hr_expense_team_approver').id)]) total_amount = fields.Monetary('Total Amount', currency_field='currency_id', compute='_compute_amount', store=True, tracking=True) + amount_residual = fields.Monetary( + string="Amount Due", store=True, + currency_field='currency_id', + compute='_compute_amount_residual') company_id = fields.Many2one('res.company', string='Company', required=True, readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env.company) currency_id = fields.Many2one('res.currency', string='Currency', readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env.company.currency_id) attachment_number = fields.Integer(compute='_compute_attachment_number', string='Number of Attachments') @@ -794,6 +798,22 @@ class HrExpenseSheet(models.Model): for sheet in self: sheet.total_amount = sum(sheet.expense_line_ids.mapped('total_amount_company')) + @api.depends( + 'currency_id', + 'account_move_id.line_ids.amount_residual', + 'account_move_id.line_ids.amount_residual_currency', + 'account_move_id.line_ids.account_internal_type',) + def _compute_amount_residual(self): + for sheet in self: + if sheet.currency_id == sheet.company_id.currency_id: + residual_field = 'amount_residual' + else: + residual_field = 'amount_residual_currency' + + payment_term_lines = sheet.account_move_id.line_ids\ + .filtered(lambda line: line.account_internal_type in ('receivable', 'payable')) + sheet.amount_residual = -sum(payment_term_lines.mapped(residual_field)) + def _compute_attachment_number(self): for sheet in self: sheet.attachment_number = sum(sheet.expense_line_ids.mapped('attachment_number')) @@ -983,3 +1003,19 @@ class HrExpenseSheet(models.Model): user_id=expense_report.sudo()._get_responsible_for_approval().id or self.env.user.id) self.filtered(lambda hol: hol.state == 'approve').activity_feedback(['hr_expense.mail_act_expense_approval']) self.filtered(lambda hol: hol.state == 'cancel').activity_unlink(['hr_expense.mail_act_expense_approval']) + + def action_register_payment(self): + ''' Open the account.payment.register wizard to pay the selected journal entries. + :return: An action opening the account.payment.register wizard. + ''' + return { + 'name': _('Register Payment'), + 'res_model': 'account.payment.register', + 'view_mode': 'form', + 'context': { + 'active_model': 'account.move', + 'active_ids': self.account_move_id.ids, + }, + 'target': 'new', + 'type': 'ir.actions.act_window', + } diff --git a/addons/hr_expense/security/ir.model.access.csv b/addons/hr_expense/security/ir.model.access.csv index dfd8400da55..20b500b26c6 100644 --- a/addons/hr_expense/security/ir.model.access.csv +++ b/addons/hr_expense/security/ir.model.access.csv @@ -15,4 +15,3 @@ access_account_move_line_user,account.move.line.hr.expense.approver,account.mode access_account_analytic_line_user,account.analytic.line.user,account.model_account_analytic_line,hr_expense.group_hr_expense_team_approver,1,1,1,1 access_mail_activity_type_expense_user,mail.activity.type.expense.user,mail.model_mail_activity_type,hr_expense.group_hr_expense_manager,1,1,1,1 access_hr_expense_refuse_wizard,access.hr.expense.refuse.wizard,model_hr_expense_refuse_wizard,hr_expense.group_hr_expense_team_approver,1,1,1,0 -access_hr_expense_sheet_register_payment_wizard,access.hr.expense.sheet.register.payment.wizard,model_hr_expense_sheet_register_payment_wizard,account.group_account_manager,1,1,1,0 diff --git a/addons/hr_expense/views/hr_expense_views.xml b/addons/hr_expense/views/hr_expense_views.xml index 6e3120f0231..03b0a867595 100644 --- a/addons/hr_expense/views/hr_expense_views.xml +++ b/addons/hr_expense/views/hr_expense_views.xml @@ -495,7 +495,14 @@