[FIX] account: mark as reconciled
- Create 2 companies: - Company A and check VIES VAT Check - Company B and do not check VIES VAT Check - Set current company of admin to Company A and do not allow Company B - Create a demo user on Company B and give him Adviser group in Accounting. - Log in with the demo user. - Create a Customer A as a company with: Country = Spain TIN = ES85847955H - Create a contact on Customer A: "Contact Sample" - Create a Customer invoice on "Contact Sample" partner - Through the menu Accounting/Payments, create a new payment on "Contact Sample" partner with the total amount of the invoice. - Open the menu Manual Payments and invoicing matching. The invoice and the payment should be proposed for reconciliation. Do CTRL+ENTER. An error message appears: 'The VAT number [ES85847955H] for partner [Contact Sample] either failed the VIES VAT validation check or did not respect the expected format ESA12345674.' This message should not appear as the current user is on Company B which doesn't have the flag "VIES VAT Check" checked. The issue comes from the `sudo` in `mark_as_reconciled`, which will lead to `self.env.user` to be the admin in the VAT check, and therefore `self.env.user.company_id` will be Company A. Closes #19274 opw-770018
This commit is contained in:
@@ -365,7 +365,12 @@ class ResPartner(models.Model):
|
||||
@api.multi
|
||||
def mark_as_reconciled(self):
|
||||
self.env['account.partial.reconcile'].check_access_rights('write')
|
||||
return self.sudo().write({'last_time_entries_checked': time.strftime(DEFAULT_SERVER_DATETIME_FORMAT)})
|
||||
if self.ids:
|
||||
self.env.cr.execute(
|
||||
'UPDATE res_partner SET last_time_entries_checked = %s WHERE id IN %s',
|
||||
(time.strftime(DEFAULT_SERVER_DATETIME_FORMAT), tuple(self.ids),)
|
||||
)
|
||||
return True
|
||||
|
||||
@api.one
|
||||
def _get_company_currency(self):
|
||||
|
||||
Reference in New Issue
Block a user