Commit Graph

70 Commits

Author SHA1 Message Date
Stéphan Sainléger
5eb3fe766b [IMP] tax_receipt_in_portal: pick report per company, hide missing PDFs
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m30s
tests / test (pull_request) Failing after 1m41s
Replace the ``tax_receipt_in_portal.report_uuid`` system parameter by a
per-company setting, in Settings > Invoicing > Tax Receipts
(``res.company.tax_receipt_report_id``). Each receipt is rendered with
the report of its issuing company, not the current one: in the portal,
the current company is the website's. The selector only offers PDF Form
reports on ``l10n.fr.tax.receipt``; type and model are still checked at
rendering time since the report can be edited after selection.

The download buttons of the list and detail pages are only shown when
the PDF can actually be rendered: a valid report is configured for the
issuing company and no mapped field resolves to an empty value. The
checks are those of the rendering itself, exposed as a filter
(``_get_pdf_available_receipts``) and run in sudo to avoid false
negatives on field paths the donor cannot read. Otherwise a discreet
"PDF available soon" mention replaces the button, and the download URL
redirects to the receipt page.

The detail page download link now also carries the share token, so a
visitor reaching the page by token can download the PDF.
2026-10-23 13:32:06 +02:00
Stéphan Sainléger
73c0684623 [ADD] tax_receipt_in_portal: publish tax receipts on the portal
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m32s
tests / test (pull_request) Failing after 38s
Let donors view and download their own tax receipts from
``/my/tax-receipts``: a paginated list, a detail page with the receipt
information, its invoices and the native portal chatter, and a PDF
download rendered on demand through the configured ``pdf_form`` report.

The PDF rendering is delegated to ``pdf_form_report`` and nothing is
archived: a confirmed receipt is frozen by ``l10n_fr_tax_receipt``, so
rendering it again yields the same document.

Two safety nets compensate third-party behaviors:

- report resolution by ``report_uuid`` (system parameter
  ``tax_receipt_in_portal.report_uuid``) with strict validation of
  report type and target model;
- a blank-field guard which resolves every mapped PDF field value
  before rendering, because ``pdf_form_report`` swallows resolution
  errors and would otherwise silently serve a receipt with a blank
  amount.

Access is enforced twice: a portal record rule (own commercial partner,
confirmed/sent state only) and an explicit controller domain that also
covers internal users browsing ``/my``.

Tested with 17 tests (portal isolation, draft exposure, chatter data
access, blank-field guard, report misconfiguration, private API
contract of ``pdf_form_report``), including a mutation check proving
the security tests fail when the record rule is opened.
2026-10-21 00:15:21 +02:00
Stéphan Sainléger
e14eafed39 [IMP] global: set correct webiste in manifests 2026-10-20 21:02:05 +02:00
Stéphan Sainléger
78c6de7ecb [MIG] account_invoice_default_journal: migrate to 18.0 2026-10-20 21:02:05 +02:00
626f5638c7 [CI] sync config from odoo-elabore-ci 2026-09-23 18:29:39 +00:00
e2c150b9b0 [CI] sync config from odoo-elabore-ci 2026-09-23 17:52:07 +00:00
a19873da78 [CI] sync config from odoo-elabore-ci 2026-09-23 13:13:33 +00:00
Stéphan Sainléger
b9c25f1158 [MIG] account_partner_account_number: migrate to 18.0 2026-08-11 22:06:11 +02:00
Stéphan Sainléger
ab50455ad3 [MIG] account_chorus_notify: migrate to 18.0 2026-08-04 12:02:47 +02:00
Stéphan Sainléger
adeae4235d [MIG] account_mooncard_receipt_lost_transfer: migrate to 18.0 2026-08-04 10:30:16 +02:00
949af68653 [FIX] account_quotation_sale_order_invoice_title : fix _prepare_invoice_values signature
Some checks failed
pre-commit / pre-commit (pull_request) Has been cancelled
2026-08-03 16:57:10 +02:00
de892cd63c [IMP] account_statement_import_online_ponto_credit_cooperatif: add mention about invoicing in manifest summary 2026-05-05 10:48:30 +02:00
3be634d864 [IMP] account_statement_import_online_ponto_credit_cooperatif: do not duplicate refs
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m33s
2026-05-04 17:50:03 +02:00
45341d629c [MIG] account_statement_import_online_ponto_credit_cooperatif: migration to 18.0
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m33s
2026-05-04 16:59:16 +02:00
Stéphan Sainléger
f74229181b [MIG] account_usability_misc: Migration to 18.0 2026-03-29 23:24:52 +02:00
Stéphan Sainléger
8cef75a9b3 [MIG] account_quotation_sale_order_invoice_title: Migration to 18.0 2026-03-29 23:24:43 +02:00
Stéphan Sainléger
d6c6872c5c [MIG] account_move_attachement_zipped_download: Migration to 18.0 2026-03-29 23:24:30 +02:00
Stéphan Sainléger
07669b8bf9 [IMP] account_move_attachement_zipped_download, account_quotation_sale_order_invoice_title, account_usability_misc: pre-commit execution 2026-03-17 23:04:52 +01:00
bb6891d825 update gitignore to ignore Ruff cache directory
All checks were successful
pre-commit / pre-commit (pull_request) Successful in 1m25s
2025-10-08 18:52:21 +02:00
64b8e45af1 [IMP] account_sub_accounts : apply changes proposed by pre-commit
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m28s
2025-10-08 18:25:03 +02:00
93de63c290 [ADD] copy paste module account_sub_accounts from version 16.0 and updated version to 18.0 2025-10-08 18:02:21 +02:00
1f53587a3f [IMP] account_advanced_protection_features: migrate from version 16 to version 18
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m24s
2025-10-07 17:21:32 +02:00
e45ad867c0 [IMP] account_advanced_protection_features : apply changes proposed by pre-commit 2025-10-07 17:19:57 +02:00
95dc32803f [ADD] copy paste module account_advanced_protection_features from version 16.0 2025-10-07 17:15:30 +02:00
9cd897fb0c init 18.0 2025-10-07 16:00:46 +02:00
c7254a7b84 [IMP] account_advanced_protection_features : remove exceptions about cash and check deposits when trying to delete an posted account move 2025-09-26 09:52:15 +00:00
04da189e5e [IMP] account_advanced_protection_features: control bank statement lines deletion with allow_bank_statement_deletion journal param 2025-09-26 09:52:15 +00:00
e21d0b77cf [IMP] account_advanced_protection_features: use is_move_sent field to prevent_reset_to_draft_sent_invoice 2025-09-26 09:52:15 +00:00
ebb39f5c36 [IMP] account_advanced_protection_features: remove group group_account_super_user and create group_account_protection_manager which gives access to protection features 2025-09-26 09:52:15 +00:00
70d7e92bbe [IMP] account_advanced_protection_features: manage allow_bank_statement_deletion in cash and bank journals 2025-09-26 09:52:15 +00:00
ef806430f3 [IMP] account_advanced_protection_features: be able to manage prevent_deletion_of_posted_account_move option in journals 2025-09-26 09:52:15 +00:00
ff2938e172 [IMP] account_advanced_protection_features: be able to manage prevent_reset_to_draft_sent_invoice option in sale journals 2025-09-26 09:52:15 +00:00
e41fb347e2 [NEW] account_advanced_protection_features: fusion of both modules account_move_protect_deleting and account_move_protect_reset_to_draft 2025-09-26 09:52:15 +00:00
81cbc8b708 Sync config from odoo-elabore-ci:16.0
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 7m49s
2025-09-17 13:40:13 +00:00
968e7da7fc [REM] account_attachement_zipped_download: duplicated with account_move_attachement_zipped_download 2025-07-10 17:04:25 +02:00
5613fc99b7 [IMP]invoice_sale_order_note:add report_note to sale order templates 2025-07-01 16:06:46 +02:00
Stéphan Sainléger
b78864279a [FIX] account_move_protect_reset_to_draft: fix typo in french translation 2025-06-06 15:48:14 +02:00
Stéphan Sainléger
c56771ca37 [NEW] account_sub_account: create add-on 2025-06-06 10:27:09 +02:00
jscampucci
09f0eaac18 [IMP] account_usability_misc: reconcile bank filter not default 2025-04-17 11:22:27 +02:00
Quentin Mondot
b123ffd1e6 [NEW] contract_fix_compute_journal_id 2025-04-17 10:43:17 +02:00
ec22b72ebb [IMP]account_usability_misc and account_usability_point_of_sale: create a technical group with deleting rights on account bank statement and account ban statement line and remove same rights in pos groups 2025-03-25 11:09:03 +01:00
c2b0c827a3 [IMP]account_usability_misc:hide create button in bank statement line view 2025-03-25 11:09:03 +01:00
8b2c182103 [ADD]16.0-bank_and_contract_portal:add rules for internal user using portal 2025-03-03 14:55:35 +01:00
37142bfa98 [ADD]mandates_bank_accounts_portal 2025-02-28 12:07:10 +01:00
Boris Gallet
31b9c39f8c [NEW] account_move_attachement_zipped_download 2025-02-27 09:17:51 +01:00
6b591cc5fc [FIX]account_move_protect_deleting:check if account.cash.deposit and account.check.deposit models exists 2025-02-20 14:43:19 +01:00
e24843bf18 [REF]account_usability_misc:create account_usability_deposit_menu to remove account_ceck_deposit and account_cash_deposit dependency from account_usability_misc 2025-02-04 10:50:30 +01:00
a8e25af141 [IMP]account_usability_misc:add default filter by journal type on account move line list in reconcile view 2025-01-09 13:03:22 +01:00
d6d39d536d [FIX]account_move_protect_deleting:manage recordset 2024-12-03 15:04:25 +01:00
d5e0136161 [REF]account_quotation_sale_order_invoice_title:_prepare_invoice_values signature has changed in sale app 2024-11-07 09:32:16 +01:00