TIP: You can type at any time to perform a new search.
Repair Order Group
repair_order_group · OCA/repair
Security findings
- Repository
- OCA/repair · module folder · Try on Runboat
- Module version
- Category
- Repair
- Folder size
- 0.12 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/repair
- Last tracking update
- 2026-09-16 17:18:54
- Authors
- Odoo Community Association (OCA), Cetmix OÜ
- Maintainers
- Odoo Community Association (OCA), Cetmix OÜ
- Committers
- Weblate, OCA-git-bot, oca-ci, George Smirnov, Mohajiro, tendil
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- repair_order_group_services
- Description
This module allows users to group several repair orders and manage them in a more convenient way. Grouped repair orders are synchronized for the following actions: - **Partner selection**: when a partner is changed in one repair order, the same partner is set on all other repair orders from the same group. - **Order confirmation**: when one repair order is confirmed, all other repair orders from the same group are confirmed as well. - **Order cancellation**: when one repair order is cancelled, all other repair orders from the same group are cancelled as well. - **Quotation creation**: when a quotation is created, all repair orders from the same group are added to the same quotation. The module also allows configuring the repair order states where the **Add Grouped Repair** button is available. This is configured with the **Available in** tags field in the Repair settings. The button is always hidden when the related sales order is confirmed or cancelled.
Code Analysis
Views touched (6)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form_inherit_repair_order_group |
res.config.settings.repair.order.group | res.config.settings | form | Inherits base_repair_config.res_config_settings_view_form |
view_repair_order_form_inherit_group |
repair.order.form.inherit.group | repair.order | form | Inherits repair.view_repair_order_form |
view_repair_order_group_form |
repair.order.group.form | repair.order.group | form | New |
view_repair_order_group_list |
repair.order.group.list | repair.order.group | list | New |
view_repair_order_search_inherit_group |
repair.order.search.inherit.group | repair.order | search | Inherits repair.view_repair_order_form_filter |
view_repair_order_tree_inherit_group |
repair.order.tree.inherit.group | repair.order | tree | Inherits repair.view_repair_order_tree |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (3)
-
group_idMany2one → repair.order.groupcheck_company=Truecopy=Truehelp='Repairs sharing the same group can be processed and quoted together.'index=Truereadonly=Truestring='Repair Group' args: 'repair.order.group' -
grouped_repair_idsOne2many → repair.ordercompute='_compute_grouped_repair_ids'help='All other repairs that belong to the same group.'string='Grouped Repairs' args: 'repair.order' -
show_add_grouped_repairBooleancompute='_compute_show_add_grouped_repair'help='Technical field used to control the Add Grouped Repair button.'
-
action_add_another_repair(self)Create a new empty repair linked to the same group. If the current repair is not yet assigned to a group, a new `repair.order.group` is automatically created first. The new repair will reuse basic logistics fields such as partner, company, and locations, but not copy any parts or products. -
action_create_sale_order(self)Create Sale Order - single one for group or standard behavior if no group. For repair groups: creates one sale order containing all valid repairs from the same group. Maintains core Odoo validations while extending functionality for grouped repairs. Features: • Consolidated SO creation for repair groups • Standard individual SO creation for non-grouped repairs • Mixed selection handling with focused UX • Detailed validation messages with repair order references Returns: dict: Action to view the created sale order(s) -
action_repair_cancel(self)Cancel repairs and cascade cancellation to other group members. The original method is called once on the combined set of selected repairs and their group members to preserve all Odoo core logic and side effects. -
copy(self, default=None)Keep the group only for draft repairs when duplicating. Duplicating a grouped repair order: - if original is in Draft -> duplicated repair stays in the same group - otherwise -> duplicated repair is not assigned to any group -
write(self, vals)Propagate partner changes across all repairs in the same group. When a user changes the partner on one repair, all other repairs of the same group automatically receive the same partner, ensuring data consistency. Recursion is prevented via the context flag `skip_group_sync`. All related repairs are updated in a single write operation.
New fields (5)
-
company_idMany2one → res.companycompute='_compute_partner_company'store=True args: 'res.company' -
nameChardefault='New'index=Truerequired=True -
partner_idMany2one → res.partnercompute='_compute_partner_company'store=True args: 'res.partner' -
repair_countIntegercompute='_compute_repair_count'store=True -
repair_idsOne2many → repair.orderargs: 'repair.order', 'group_id'
-
create(self, vals_list)@api.model_create_multiAssign sequence when records are created programmatically.
New fields (1)
-
add_grouped_repair_state_idsMany2many → ir.model.fields.selectioncolumn1='company_id'column2='selection_id'comodel_name='ir.model.fields.selection'default=<expr>domain=[('field_id.model', '=', 'repair.order'), ('field_id.name', '=', 'state')]relation='res_company_add_grouped_repair_state_rel'string='Add Grouped Repair Available In'
No public methods.
New fields (1)
-
add_grouped_repair_state_idsMany2manyreadonly=Falserelated='company_id.add_grouped_repair_state_ids'
No public methods.