From 4bec3733b7ac349fe8d0ba070ab17df8056b675f Mon Sep 17 00:00:00 2001 From: SimoRubi Date: Tue, 15 Jun 2021 16:03:20 +0200 Subject: [PATCH] Apply date filter only if there is a date --- .../wizard/select_declarations.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/l10n_it_declaration_of_intent/wizard/select_declarations.py b/l10n_it_declaration_of_intent/wizard/select_declarations.py index 902cfc1e3d10..9c895d5ffd83 100644 --- a/l10n_it_declaration_of_intent/wizard/select_declarations.py +++ b/l10n_it_declaration_of_intent/wizard/select_declarations.py @@ -2,6 +2,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). from odoo import fields, models +from odoo.osv import expression class SelectManuallyDeclarations(models.TransientModel): @@ -10,20 +11,26 @@ class SelectManuallyDeclarations(models.TransientModel): _description = "Set declaration of intent manually on invoice" def _default_declaration(self): + declaration_model = self.env["l10n_it_declaration_of_intent.declaration"] + invoice_id = self._context.get("active_id", False) if not invoice_id: - return [] + return declaration_model.browse() invoice = self.env["account.move"].browse(invoice_id) type_short = invoice.get_type_short() if not type_short: - return [] + return declaration_model.browse() domain = [ ("partner_id", "=", invoice.partner_id.commercial_partner_id.id), ("type", "=", type_short), - ("date_start", "<=", invoice.invoice_date), - ("date_end", ">=", invoice.invoice_date), ] - return self.env["l10n_it_declaration_of_intent.declaration"].search(domain) + if invoice.invoice_date: + date_domain = [ + ("date_start", "<=", invoice.invoice_date), + ("date_end", ">=", invoice.invoice_date), + ] + domain = expression.AND([domain, date_domain]) + return declaration_model.search(domain) declaration_ids = fields.Many2many( comodel_name="l10n_it_declaration_of_intent.declaration",