From 7d4ce79754398b88791c0936cdc530de7b24abb8 Mon Sep 17 00:00:00 2001 From: git_admin Date: Fri, 1 May 2026 14:25:02 +0000 Subject: [PATCH] Tower: upload base_accounting_kit 19.0.2.3.1 (via marketplace) --- .../models/account_journal.py | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 addons/base_accounting_kit/models/account_journal.py diff --git a/addons/base_accounting_kit/models/account_journal.py b/addons/base_accounting_kit/models/account_journal.py new file mode 100644 index 0000000..4b944ae --- /dev/null +++ b/addons/base_accounting_kit/models/account_journal.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models, _ + + +class AccountJournal(models.Model): + """Module inherited for adding the reconcile method in the account + journal""" + _inherit = "account.journal" + + multiple_invoice_ids = fields.One2many('multiple.invoice', + 'journal_id', + string='Multiple Invoice') + multiple_invoice_type = fields.Selection( + [('text', 'Text'), ('watermark', 'Watermark')], required=True, + default='text', string="Display Type") + text_position = fields.Selection([ + ('header', 'Header'), + ('footer', 'Footer'), + ('body', 'Document Body') + ], required=True, default='header', string='Text Position') + body_text_position = fields.Selection([ + ('tl', 'Top Left'), + ('tr', 'Top Right'), + ('bl', 'Bottom Left'), + ('br', 'Bottom Right'), + ], default='tl', string='Body Text Position') + text_align = fields.Selection([ + ('right', 'Right'), + ('left', 'Left'), + ('center', 'Center'), + ], default='right', string='Center Align Text Position') + layout = fields.Char(string="Layout", + related="company_id.external_report_layout_id.key") + + def action_open_reconcile(self): + """Open the reconciliation view based on the type of the account journal.""" + self.ensure_one() + if self.type in ('bank', 'cash'): + views = [ + (self.env.ref( + 'base_accounting_kit.account_bank_statement_line_view_kanban').id, + 'kanban'), + (self.env.ref( + 'base_accounting_kit.account_bank_statement_line_view_tree').id, + 'list'), # Include tree view + ] + context = { + 'default_journal_id': self.id, + 'search_default_journal_id': self.id, + } + kanban_first = True + name = None + extra_domain = None + return { + 'name': name or _("Bank Reconciliation"), + 'type': 'ir.actions.act_window', + 'res_model': 'account.bank.statement.line', + 'context': context, + 'search_view_id': [ + self.env.ref( + 'base_accounting_kit.account_bank_statement_line_view_search').id, + 'search'], + 'view_mode': 'kanban,list' if kanban_first else 'list,kanban', + 'views': views if kanban_first else views[::-1], + 'domain': [('state', '!=', 'cancel')] + (extra_domain or []), + 'help': _(""" +

+ Nothing to do here! +

+

+ No transactions matching your filters were found. +

+ """), + } + else: + # Open reconciliation view for customers/suppliers + action_context = {'show_mode_selector': False, + 'company_ids': self.mapped('company_id').ids} + if self.type == 'sale': + action_context.update({'mode': 'customers'}) + elif self.type == 'purchase': + action_context.update({'mode': 'suppliers'}) + return { + 'type': 'ir.actions.client', + 'tag': 'manual_reconciliation_view', + 'context': action_context, + } + + def action_import_wizard(self): + """Function to open wizard""" + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'import.bank.statement', + 'target': 'new', + 'context': { + 'default_journal_id': self.id, + } + }