TIP: You can type at any time to perform a new search.
Partner Archive Propagate
partner_archive_propagate · OCA/partner-contact
- Repository
- OCA/partner-contact · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Partner Management
- Folder size
- 0.08 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/partner-contact
- Last tracking update
- 2026-08-07 08:42:56
- Authors
- Odoo Community Association (OCA), Therp BV
- Maintainers
- Odoo Community Association (OCA), Therp BV
- Committers
- OCA-git-bot, Nikos Tsirintanis, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- partner_multi_relation_archive_propagate
- Description
## Partner Archive Propagation This module extends the native archiving mechanism for partners. When archiving a company or parent contact, it will also handle its descendants according to business rules — with user control and safeguards. ### Features - Adds a new **"Archive Contact and Children"** button on the Partner form. - Shows a **wizard** listing contact-type descendants before archiving. - Automatically skips descendants linked to active users. - Adds a technical Many2one field (propagated_from_id) that records which parent partner caused the automatic archiving, making propagation fully traceable and reversible. - Ensures automatic unarchive propagation. - Includes a system setting to enforce propagation even for non-UI actions (imports, RPC, automated jobs, etc.).
Code Analysis ⓘ
Views touched (3)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_archive_propagate_wizard_form |
res.partner.archive.propagate.wizard.form | res.partner.archive.propagate.wizard | form | New |
view_partner_form_inherit_archive_propagate |
res.partner.form.archive.propagate | res.partner | form | Inherits base.view_partner_form |
view_res_config_settings_partner_archive |
res.config.settings.view.form.partner.archive | res.config.settings | form | Inherits base_setup.res_config_settings_view_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (1)
-
partner_archive_force_outside_uiBooleanconfig_parameter='partner_archive_propagate.force_outside_ui'default=Falsehelp='If enabled, archiving a partner via any non-UI method (imports, RPC, automated) will also archive all descendants and mark them as propagated.'string='Force propagation outside UI'
No public methods.
New fields (2)
-
propagated_from_idMany2one → res.partnerhelp='Technical field. Set when this partner was archived automatically because the source partner was archived. Cleared again when it is unarchived by the opposite propagation.'index=Truestring='Archived Due To' args: 'res.partner' -
show_prop_wizard_buttonBooleancompute='_compute_show_prop_wizard_button'help='Show or hide the wizard button, depending on child_ids'
-
action_archive(self)Archive only this partner via gear Do not super, otherwise core odoo archives children too -
action_archive_with_contacts(self)Show wizard only if there are type contact descendants. - If there are no type contact descendants: archive immediately. - If there are type contact descendants: open wizard listing only those, allowing the user to exclude some. -
write(self, vals)Enable (un)archiving propagation: - detect which partners are being (un)archived - calls _(un)archive_propagate() on them.
New fields (5)
-
emailCharrelated='partner_id.email' -
nameCharrelated='partner_id.name' -
partner_idMany2one → res.partnerrequired=Truestring='Contact' args: 'res.partner' -
phoneCharrelated='partner_id.phone' -
wizard_idMany2one → res.partner.archive.propagate.wizardondelete='cascade'required=True args: 'res.partner.archive.propagate.wizard'
No public methods.
New fields (2)
-
line_idsOne2many → res.partner.archive.propagate.linestring='Contacts to archive' args: 'res.partner.archive.propagate.line', 'wizard_id' -
partner_idMany2one → res.partnerreadonly=Truerequired=True args: 'res.partner'
-
action_confirm(self)Archive main partner from the ui: - silently archive NON-contact type descendants (invoice/delivery/etc) - skip descendants linked to active users and notify
Loading…