diff --git a/account_reconcile_oca/README.rst b/account_reconcile_oca/README.rst index aef855037d..00f5332552 100644 --- a/account_reconcile_oca/README.rst +++ b/account_reconcile_oca/README.rst @@ -7,7 +7,7 @@ Account Reconcile Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:bc5ac758c54a958b23fe3962f890d737b6949c7054be36b79002f62095cfeffc + !! source digest: sha256:3f6bc07a9963be4143fdb984d07e4b6a0542e791f082edb98e907cc000ea0617 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -75,6 +75,7 @@ Authors ~~~~~~~ * CreuBlanca +* Dixmit Contributors ~~~~~~~~~~~~ diff --git a/account_reconcile_oca/__manifest__.py b/account_reconcile_oca/__manifest__.py index 8ccbc6562a..c368062483 100644 --- a/account_reconcile_oca/__manifest__.py +++ b/account_reconcile_oca/__manifest__.py @@ -1,4 +1,4 @@ -# Copyright 2022 CreuBlanca +# Copyright 2023 Dixmit # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { @@ -7,7 +7,7 @@ Reconcile addons for Odoo CE accounting""", "version": "16.0.1.2.5", "license": "AGPL-3", - "author": "CreuBlanca,Odoo Community Association (OCA)", + "author": "CreuBlanca,Dixmit,Odoo Community Association (OCA)", "maintainers": ["etobella"], "website": "https://github.com/OCA/account-reconcile", "depends": [ diff --git a/account_reconcile_oca/models/__init__.py b/account_reconcile_oca/models/__init__.py index 8102733afc..5be31a2789 100644 --- a/account_reconcile_oca/models/__init__.py +++ b/account_reconcile_oca/models/__init__.py @@ -2,3 +2,4 @@ from . import account_journal from . import account_bank_statement_line from . import account_account_reconcile +from . import account_move_line diff --git a/account_reconcile_oca/models/account_account_reconcile.py b/account_reconcile_oca/models/account_account_reconcile.py index 8ce3130113..e18775390c 100644 --- a/account_reconcile_oca/models/account_account_reconcile.py +++ b/account_reconcile_oca/models/account_account_reconcile.py @@ -1,4 +1,4 @@ -# Copyright 2022 CreuBlanca +# Copyright 2023 Dixmit # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import api, fields, models @@ -84,6 +84,13 @@ def _having(self): def _compute_reconcile_data_info(self): data_obj = self.env["account.account.reconcile.data"] for record in self: + if self.env.context.get("default_account_move_lines"): + data = { + "data": [], + "counterparts": self.env.context.get("default_account_move_lines"), + } + record.reconcile_data_info = self._recompute_data(data) + continue data_record = data_obj.search( [("user_id", "=", self.env.user.id), ("reconcile_id", "=", record.id)] ) diff --git a/account_reconcile_oca/models/account_bank_statement_line.py b/account_reconcile_oca/models/account_bank_statement_line.py index 8e1436a1e5..2b050d4413 100644 --- a/account_reconcile_oca/models/account_bank_statement_line.py +++ b/account_reconcile_oca/models/account_bank_statement_line.py @@ -1,4 +1,4 @@ -# Copyright 2022 CreuBlanca +# Copyright 2023 Dixmit # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from collections import defaultdict diff --git a/account_reconcile_oca/models/account_journal.py b/account_reconcile_oca/models/account_journal.py index 780621a2ef..613ab41ad5 100644 --- a/account_reconcile_oca/models/account_journal.py +++ b/account_reconcile_oca/models/account_journal.py @@ -1,4 +1,4 @@ -# Copyright 2022 CreuBlanca +# Copyright 2023 Dixmit # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import _, fields, models diff --git a/account_reconcile_oca/models/account_move_line.py b/account_reconcile_oca/models/account_move_line.py new file mode 100644 index 0000000000..2244b7d063 --- /dev/null +++ b/account_reconcile_oca/models/account_move_line.py @@ -0,0 +1,34 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import _, models +from odoo.exceptions import ValidationError + + +class AccountMoveLine(models.Model): + + _inherit = "account.move.line" + + def action_reconcile_manually(self): + if not self: + return {} + self.mapped("account_id").ensure_one() + partner = self.mapped("partner_id") + if partner: + partner.ensure_one() + if self.filtered(lambda r: r.partner_id != partner): + raise ValidationError( + _("You must reconcile information on the same partner") + ) + action = self.env["ir.actions.act_window"]._for_xml_id( + "account_reconcile_oca.account_account_reconcile_act_window" + ) + action["domain"] = [ + ("account_id", "=", self.mapped("account_id").id), + ("partner_id", "=", partner.id), + ] + action["context"] = self.env.context.copy() + action["context"]["default_account_move_lines"] = self.filtered( + lambda r: not r.reconciled + ).ids + return action diff --git a/account_reconcile_oca/models/account_reconcile_abstract.py b/account_reconcile_oca/models/account_reconcile_abstract.py index 590d3a3945..f07f9d6e60 100644 --- a/account_reconcile_oca/models/account_reconcile_abstract.py +++ b/account_reconcile_oca/models/account_reconcile_abstract.py @@ -1,4 +1,4 @@ -# Copyright 2022 CreuBlanca +# Copyright 2023 Dixmit # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import fields, models diff --git a/account_reconcile_oca/static/description/index.html b/account_reconcile_oca/static/description/index.html index e101866fe0..bdd11bed4e 100644 --- a/account_reconcile_oca/static/description/index.html +++ b/account_reconcile_oca/static/description/index.html @@ -1,3 +1,4 @@ +
@@ -366,7 +367,7 @@This addon allows to reconcile bank statements and account marked as reconcile.
@@ -423,6 +424,7 @@