From 0e67c6acc4c250425554bab3db3436ab3005e771 Mon Sep 17 00:00:00 2001 From: Daniel Palumbo Date: Wed, 1 Jul 2026 13:47:49 +0200 Subject: [PATCH 1/3] T3284 Remove recurring.invoicer references from sponsorship_compassion Remove menu item, ACL row, PO translations, and code that passed the invoicer object through _generate_gifts and generate_gift_wizard. The invoicer parameter is no longer needed now that recurring.invoicer is removed from compassion-accounting. Co-Authored-By: Claude Sonnet 4.6 --- sponsorship_compassion/i18n/de.po | 15 ------------ sponsorship_compassion/i18n/fr_CH.po | 12 ---------- sponsorship_compassion/i18n/it.po | 12 ---------- .../models/contract_group.py | 8 +++---- sponsorship_compassion/models/contracts.py | 24 +++++++------------ .../security/ir.model.access.csv | 1 - .../views/sponsorship_contract_view.xml | 7 ------ .../wizards/generate_gift_wizard.py | 2 -- 8 files changed, 12 insertions(+), 69 deletions(-) diff --git a/sponsorship_compassion/i18n/de.po b/sponsorship_compassion/i18n/de.po index 44ca8612f..30ceb8f85 100644 --- a/sponsorship_compassion/i18n/de.po +++ b/sponsorship_compassion/i18n/de.po @@ -82,11 +82,6 @@ msgstr "Jährliches Weihnachtsgeschenk" msgid "BVR Ref" msgstr "BVR Ref" -#. module: sponsorship_compassion -#: model:ir.cron,cron_name:sponsorship_compassion.recurring_invoicer_cron -msgid "Base: Auto-vacuum internal data" -msgstr "Basis: Auto-Vacuum für interne Daten" - #. module: sponsorship_compassion #: code:addons/sponsorship_compassion/models/contracts.py:0 #, python-format @@ -551,11 +546,6 @@ msgstr "Geschenk generieren" msgid "Generated Invoices" msgstr "Erstellte Rechnungen" -#. module: sponsorship_compassion -#: model:ir.ui.menu,name:sponsorship_compassion.menu_recurring_invoicer_form -msgid "Generated invoices" -msgstr "Erstellte Rechnungen" - #. module: sponsorship_compassion #: model:ir.model.fields,field_description:sponsorship_compassion.field_res_partner__sr_total_gift #: model:ir.model.fields,field_description:sponsorship_compassion.field_res_users__sr_total_gift @@ -864,11 +854,6 @@ msgstr "Zuletzt aktualisiert am" msgid "Last payment" msgstr "Letzte Zahlung" -#. module: sponsorship_compassion -#: model:ir.cron,name:sponsorship_compassion.recurring_invoicer_cron -msgid "Launch friday invoice generation" -msgstr "Start der Rechnungserstellung am Freitag" - #. module: sponsorship_compassion #: model:ir.ui.menu,name:sponsorship_compassion.menu_invoice_automatic_generation msgid "Launch invoices generation" diff --git a/sponsorship_compassion/i18n/fr_CH.po b/sponsorship_compassion/i18n/fr_CH.po index f778477e4..878747c58 100644 --- a/sponsorship_compassion/i18n/fr_CH.po +++ b/sponsorship_compassion/i18n/fr_CH.po @@ -82,10 +82,6 @@ msgstr "Cadeau de Noël annuel" msgid "BVR Ref" msgstr "BVR Ref" -#. module: sponsorship_compassion -#: model:ir.cron,cron_name:sponsorship_compassion.recurring_invoicer_cron -msgid "Base: Auto-vacuum internal data" -msgstr "Base : données internes sur l'aspiration automatique" #. module: sponsorship_compassion #: code:addons/sponsorship_compassion/models/contracts.py:0 @@ -553,10 +549,6 @@ msgstr "Générer une facture cadeau" msgid "Generated Invoices" msgstr "Factures générées" -#. module: sponsorship_compassion -#: model:ir.ui.menu,name:sponsorship_compassion.menu_recurring_invoicer_form -msgid "Generated invoices" -msgstr "Factures générées" #. module: sponsorship_compassion #: model:ir.model.fields,field_description:sponsorship_compassion.field_res_partner__sr_total_gift @@ -867,10 +859,6 @@ msgstr "Dernière mise à jour le" msgid "Last payment" msgstr "Dernier paiement" -#. module: sponsorship_compassion -#: model:ir.cron,name:sponsorship_compassion.recurring_invoicer_cron -msgid "Launch friday invoice generation" -msgstr "Lancement de la génération de factures le vendredi" #. module: sponsorship_compassion #: model:ir.ui.menu,name:sponsorship_compassion.menu_invoice_automatic_generation diff --git a/sponsorship_compassion/i18n/it.po b/sponsorship_compassion/i18n/it.po index b55d9eddd..20445f3ba 100644 --- a/sponsorship_compassion/i18n/it.po +++ b/sponsorship_compassion/i18n/it.po @@ -83,10 +83,6 @@ msgstr "Regalo di Natale annuale" msgid "BVR Ref" msgstr "Rif. BVR" -#. module: sponsorship_compassion -#: model:ir.cron,cron_name:sponsorship_compassion.recurring_invoicer_cron -msgid "Base: Auto-vacuum internal data" -msgstr "Base: Dati interni dell'autovuoto" #. module: sponsorship_compassion #: code:addons/sponsorship_compassion/models/contracts.py:0 @@ -552,10 +548,6 @@ msgstr "Genera un regalo" msgid "Generated Invoices" msgstr "Fatture generate" -#. module: sponsorship_compassion -#: model:ir.ui.menu,name:sponsorship_compassion.menu_recurring_invoicer_form -msgid "Generated invoices" -msgstr "Fatture generate" #. module: sponsorship_compassion #: model:ir.model.fields,field_description:sponsorship_compassion.field_res_partner__sr_total_gift @@ -866,10 +858,6 @@ msgstr "Ultimo aggiornamento il" msgid "Last payment" msgstr "Ultimo pagamento" -#. module: sponsorship_compassion -#: model:ir.cron,name:sponsorship_compassion.recurring_invoicer_cron -msgid "Launch friday invoice generation" -msgstr "Generazione di fatture per il venerdì di lancio" #. module: sponsorship_compassion #: model:ir.ui.menu,name:sponsorship_compassion.menu_invoice_automatic_generation diff --git a/sponsorship_compassion/models/contract_group.py b/sponsorship_compassion/models/contract_group.py index fa7aa3268..610ff8e1c 100644 --- a/sponsorship_compassion/models/contract_group.py +++ b/sponsorship_compassion/models/contract_group.py @@ -33,18 +33,18 @@ def _compute_contains_sponsorship(self): and s.state not in ("terminated", "cancelled") ) - def _generate_invoices(self, invoicer): + def _generate_invoices(self): # Exclude gifts from regular generation super( ContractGroup, self.with_context(open_invoices_sponsorship_only=True) - )._generate_invoices(invoicer) + )._generate_invoices() contracts = self.active_contract_ids if contracts: contracts._generate_gifts( - invoicer, self.env.ref("sponsorship_compassion.gift_type_birthday") + self.env.ref("sponsorship_compassion.gift_type_birthday") ) contracts._generate_gifts( - invoicer, self.env.ref("sponsorship_compassion.gift_type_christmas") + self.env.ref("sponsorship_compassion.gift_type_christmas") ) return True diff --git a/sponsorship_compassion/models/contracts.py b/sponsorship_compassion/models/contracts.py index 643b075d2..daf0d52a9 100644 --- a/sponsorship_compassion/models/contracts.py +++ b/sponsorship_compassion/models/contracts.py @@ -1034,11 +1034,9 @@ def _link_unlink_child_to_sponsor(self, vals): vals.get("correspondent_id") or contract.correspondent_id.id ) - def _generate_gifts(self, invoicer, gift_type): + def _generate_gifts(self, gift_type): """Creates the annual gifts for sponsorships that have set the option for automatic birthday or Christmas gifts creation. - :param invoicer: record of the recurring.invoicer that will create the - invoices :param gift_type: sponsorship.gift.type record """ logger.debug(f"Automatic {gift_type.name} Generation Started.") @@ -1151,16 +1149,12 @@ def _generate_gifts(self, invoicer, gift_type): total = str(len(contracts)) logger.debug(f"Found {total} {gift_type.name} to generate.") base_description = f"Automatic {gift_type.name}" - gift_wizard = ( - self.env["generate.gift.wizard"] - .with_context(invoicer=invoicer) - .create( - { - "product_id": product_id, - "amount": 0.0, - "contract_ids": [(6, 0, contracts.ids)], - } - ) + gift_wizard = self.env["generate.gift.wizard"].create( + { + "product_id": product_id, + "amount": 0.0, + "contract_ids": [(6, 0, contracts.ids)], + } ) # Generate invoices @@ -1181,9 +1175,7 @@ def _generate_gifts(self, invoicer, gift_type): "description": description, } ) - gift_wizard.with_context(invoicer=invoicer).generate_invoice( - due_date=due_dates[contract] - ) + gift_wizard.generate_invoice(due_date=due_dates[contract]) count += 1 logger.debug(f"Automatic {gift_type} Generation Finished !!") diff --git a/sponsorship_compassion/security/ir.model.access.csv b/sponsorship_compassion/security/ir.model.access.csv index f2d0d5404..846f9b06a 100644 --- a/sponsorship_compassion/security/ir.model.access.csv +++ b/sponsorship_compassion/security/ir.model.access.csv @@ -3,7 +3,6 @@ access_recurring_contract,Full access on recurring.contract,recurring_contract.m access_recurring_contract_line,Full access on recurring.contract.line,recurring_contract.model_recurring_contract_line,child_compassion.group_sponsorship,1,1,1,1 access_recurring_contract_group,Full access on recurring.contract.group,recurring_contract.model_recurring_contract_group,child_compassion.group_sponsorship,1,1,1,1 access_recurring_contract_origin,Full access on recurring.contract.origin,model_recurring_contract_origin,child_compassion.group_sponsorship,1,1,1,1 -access_recurring_invoicer,Full access on recurring.invoicer,recurring_contract.model_recurring_invoicer,child_compassion.group_sponsorship,1,1,1,1 access_account_move,Full access on account.move,account.model_account_move,child_compassion.group_sponsorship,1,1,1,1 access_account_move_line,Full access on account.move.line,account.model_account_move_line,child_compassion.group_sponsorship,1,1,1,1 access_account_journal,Read access on account.journal,account.model_account_journal,child_compassion.group_sponsorship,1,0,0,0 diff --git a/sponsorship_compassion/views/sponsorship_contract_view.xml b/sponsorship_compassion/views/sponsorship_contract_view.xml index d531eafcc..236da50a4 100644 --- a/sponsorship_compassion/views/sponsorship_contract_view.xml +++ b/sponsorship_compassion/views/sponsorship_contract_view.xml @@ -358,13 +358,6 @@ sequence="12" action="recurring_contract.action_invoice_automatic_generation" /> - Date: Thu, 2 Jul 2026 12:55:03 +0200 Subject: [PATCH 2/3] FIX rename sponsorship_gift_type_id to gift_type_id in generate_gift_wizard Co-Authored-By: Claude Sonnet 4.6 --- gift_compassion/wizards/generate_gift_wizard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gift_compassion/wizards/generate_gift_wizard.py b/gift_compassion/wizards/generate_gift_wizard.py index 971269edd..9c9ed5cb2 100644 --- a/gift_compassion/wizards/generate_gift_wizard.py +++ b/gift_compassion/wizards/generate_gift_wizard.py @@ -35,7 +35,7 @@ def generate_invoice(self, due_date=None): birthday_gift_type = self.env.ref( "sponsorship_compassion.gift_type_birthday" ) - gift_vals = {"sponsorship_gift_type_id": birthday_gift_type.id} + gift_vals = {"gift_type_id": birthday_gift_type.id} gift_date = self.compute_date_birthday_invoice( contract_id.child_id.birthdate ) From af683a7fdad054ca630fc1c7c3f904389818d87e Mon Sep 17 00:00:00 2001 From: Daniel Palumbo Date: Thu, 2 Jul 2026 13:16:41 +0200 Subject: [PATCH 3/3] FIX address greptile/pylint review comments on T3284 - Return super() result in _generate_invoices override - Use gift_type.name in log messages instead of recordset repr --- sponsorship_compassion/models/contract_group.py | 3 ++- sponsorship_compassion/models/contracts.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sponsorship_compassion/models/contract_group.py b/sponsorship_compassion/models/contract_group.py index a00407e4b..1ec583e83 100644 --- a/sponsorship_compassion/models/contract_group.py +++ b/sponsorship_compassion/models/contract_group.py @@ -35,7 +35,7 @@ def _compute_contains_sponsorship(self): def _generate_invoices(self): # Exclude gifts from regular generation - super( + result = super( ContractGroup, self.with_context(open_invoices_sponsorship_only=True) )._generate_invoices() contracts = self.active_contract_ids @@ -46,6 +46,7 @@ def _generate_invoices(self): contracts._generate_gifts( self.env.ref("sponsorship_compassion.gift_type_christmas") ) + return result def build_inv_line_data( self, invoicing_date=False, gift_wizard=False, contract_line=False diff --git a/sponsorship_compassion/models/contracts.py b/sponsorship_compassion/models/contracts.py index e9a844ce4..30a0862dc 100644 --- a/sponsorship_compassion/models/contracts.py +++ b/sponsorship_compassion/models/contracts.py @@ -1162,7 +1162,7 @@ def _generate_gifts(self, gift_type): # Generate invoices count = 1 for contract in contracts: - logger.debug(f"{gift_type} Gift Generation: {count}/{total} ") + logger.debug(f"{gift_type.name} Gift Generation: {count}/{total} ") description = base_description if gift_type == self.env.ref( "sponsorship_compassion.gift_type_birthday" @@ -1180,7 +1180,7 @@ def _generate_gifts(self, gift_type): gift_wizard.generate_invoice(due_date=due_dates[contract]) count += 1 - logger.debug(f"Automatic {gift_type} Generation Finished !!") + logger.debug(f"Automatic {gift_type.name} Generation Finished !!") return True def invoice_paid(self, invoice):