TIP: You can type at any time to perform a new search.
Repair Order Group
repair_order_group · OCA/repair
- Repository
- OCA/repair · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Repair
- Folder size
- 0.09 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/repair
- Last tracking update
- 2026-08-07 08:43:05
- Authors
- Odoo Community Association (OCA), Cetmix OÜ
- Maintainers
- Odoo Community Association (OCA), Cetmix OÜ
- Committers
- Weblate, OCA-git-bot, oca-ci, Mohajiro
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- repair_order_group_services
- Description
This module allows to group several repair orders, managing them in a more convenient way. Such orders are synchronised in the following actions: - Partner selection. When a partner is updated in one of the group orders the same partner is set in all other orders of the same group. - Order confirmation. When one of the orders is confirmed all other orders of the same group are confirmed. - Order cancellation. When one of the orders is cancelled all other orders of the same group are cancelled. - Quotation creation. When a new quotation is created all orders of the same group are added to the same quotation.
Code Analysis ⓘ
Views touched (5)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
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 (2)
New fields (2)
-
group_idMany2one → repair.order.groupcheck_company=Truecopy=Falsehelp='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'
-
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. -
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.