From af333cfbc03f4548c5b5f6f176d1131d417335dd Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Thu, 22 Apr 2021 19:50:36 +0200 Subject: [PATCH] account_check_deposit: Add chatter on check deposit Add chatter message when you click on the button to get all checks Add unicity SQL constraint --- .../models/account_check_deposit.py | 21 ++++++++++++++++++- .../views/account_check_deposit_view.xml | 12 +++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/account_check_deposit/models/account_check_deposit.py b/account_check_deposit/models/account_check_deposit.py index b90d64243..e176b6d5e 100644 --- a/account_check_deposit/models/account_check_deposit.py +++ b/account_check_deposit/models/account_check_deposit.py @@ -13,6 +13,7 @@ from odoo.exceptions import UserError, ValidationError class AccountCheckDeposit(models.Model): _name = "account.check.deposit" _description = "Account Check Deposit" + _inherit = ["mail.thread", "mail.activity.mixin"] _order = "deposit_date desc" _check_company_auto = True @@ -56,7 +57,7 @@ class AccountCheckDeposit(models.Model): deposit.is_reconcile = reconcile deposit.check_count = count - name = fields.Char(string="Name", size=64, readonly=True, default="/") + name = fields.Char(string="Name", size=64, readonly=True, default="/", copy=False) check_payment_ids = fields.One2many( comodel_name="account.move.line", inverse_name="check_deposit_id", @@ -68,6 +69,8 @@ class AccountCheckDeposit(models.Model): required=True, states={"done": [("readonly", "=", True)]}, default=fields.Date.context_today, + tracking=True, + copy=False, ) journal_id = fields.Many2one( comodel_name="account.journal", @@ -77,6 +80,7 @@ class AccountCheckDeposit(models.Model): required=True, check_company=True, states={"done": [("readonly", "=", True)]}, + tracking=True, ) journal_default_account_id = fields.Many2one( comodel_name="account.account", @@ -88,12 +92,14 @@ class AccountCheckDeposit(models.Model): string="Currency", required=True, states={"done": [("readonly", "=", True)]}, + tracking=True, ) state = fields.Selection( selection=[("draft", "Draft"), ("done", "Done")], string="Status", default="draft", readonly=True, + tracking=True, ) move_id = fields.Many2one( comodel_name="account.move", @@ -109,6 +115,7 @@ class AccountCheckDeposit(models.Model): "('bank_account_id', '!=', False)]", check_company=True, states={"done": [("readonly", "=", True)]}, + tracking=True, ) line_ids = fields.One2many( comodel_name="account.move.line", @@ -121,22 +128,33 @@ class AccountCheckDeposit(models.Model): required=True, states={"done": [("readonly", "=", True)]}, default=lambda self: self.env.company, + tracking=True, ) total_amount = fields.Monetary( compute="_compute_check_deposit", string="Total Amount", store=True, currency_field="currency_id", + tracking=True, ) check_count = fields.Integer( compute="_compute_check_deposit", store=True, string="Number of Checks", + tracking=True, ) is_reconcile = fields.Boolean( compute="_compute_check_deposit", store=True, string="Reconcile" ) + _sql_constraints = [ + ( + "name_company_unique", + "unique(company_id, name)", + "A check deposit with this reference already exists in this company.", + ) + ] + @api.model def default_get(self, fields_list): res = super().default_get(fields_list) @@ -320,6 +338,7 @@ class AccountCheckDeposit(models.Model): ] ) if all_pending_checks: + self.message_post(body=_("Get All Received Checks")) all_pending_checks.write({"check_deposit_id": self.id}) else: raise UserError( diff --git a/account_check_deposit/views/account_check_deposit_view.xml b/account_check_deposit/views/account_check_deposit_view.xml index c3b27440e..354080608 100644 --- a/account_check_deposit/views/account_check_deposit_view.xml +++ b/account_check_deposit/views/account_check_deposit_view.xml @@ -48,7 +48,10 @@ - + - + +
+ + + +