From 65e232de2b34614fe62ea161b7bf0928a4ef5fde Mon Sep 17 00:00:00 2001 From: git_admin Date: Fri, 1 May 2026 14:21:08 +0000 Subject: [PATCH] Tower: upload om_account_daily_reports 1.0.1 (via marketplace) --- .../wizard/account_bankbook_report.py | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 addons/om_account_daily_reports/wizard/account_bankbook_report.py diff --git a/addons/om_account_daily_reports/wizard/account_bankbook_report.py b/addons/om_account_daily_reports/wizard/account_bankbook_report.py new file mode 100644 index 0000000..72c5f44 --- /dev/null +++ b/addons/om_account_daily_reports/wizard/account_bankbook_report.py @@ -0,0 +1,66 @@ +from odoo import fields, models, api, _ +from datetime import date + + +class AccountBankBookReport(models.TransientModel): + _name = "account.bankbook.report" + _description = "Bank Book Report" + + def _get_default_account_ids(self): + journals = self.env['account.journal'].search([('type', '=', 'bank')]) + accounts = self.env['account.account'] + for journal in journals: + if journal.default_account_id.id: + accounts += journal.default_account_id + for acc_out in journal.outbound_payment_method_line_ids: + if acc_out.payment_account_id: + accounts += acc_out.payment_account_id + for acc_in in journal.inbound_payment_method_line_ids: + if acc_in.payment_account_id: + accounts += acc_in.payment_account_id + return accounts + + date_from = fields.Date(string='Start Date', default=date.today(), required=True) + date_to = fields.Date(string='End Date', default=date.today(), required=True) + target_move = fields.Selection([('posted', 'Posted Entries'), + ('all', 'All Entries')], string='Target Moves', required=True, + default='posted') + journal_ids = fields.Many2many('account.journal', string='Journals', required=True, + default=lambda self: self.env['account.journal'].search([])) + account_ids = fields.Many2many('account.account', 'account_account_bankbook_report', 'report_line_id', + 'account_id', 'Accounts', default=_get_default_account_ids) + + display_account = fields.Selection( + [('all', 'All'), ('movement', 'With movements'), + ('not_zero', 'With balance is not equal to 0')], + string='Display Accounts', required=True, default='movement') + sortby = fields.Selection( + [('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')], + string='Sort by', + required=True, default='sort_date') + initial_balance = fields.Boolean(string='Include Initial Balances', + help='If you selected date, this field allow you to add a row ' + 'to display the amount of debit/credit/balance that precedes the ' + 'filter you\'ve set.') + + def _build_comparison_context(self, data): + result = {} + result['journal_ids'] = 'journal_ids' in data['form'] and data['form'][ + 'journal_ids'] or False + result['state'] = 'target_move' in data['form'] and data['form'][ + 'target_move'] or '' + result['date_from'] = data['form']['date_from'] or False + result['date_to'] = data['form']['date_to'] or False + result['strict_range'] = True if result['date_from'] else False + return result + + def check_report(self): + data = {} + data['form'] = self.read(['target_move', 'date_from', 'date_to', 'journal_ids', 'account_ids', + 'sortby', 'initial_balance', 'display_account'])[0] + comparison_context = self._build_comparison_context(data) + data['form']['comparison_context'] = comparison_context + return self.env.ref( + 'om_account_daily_reports.action_report_bank_book').report_action(self, + data=data) +