Repository
OCA/contract · module folder · Try on Runboat
Module version
1.0.0
Category
Sales
Folder size
0.07 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/contract
Last tracking update
2026-08-07 07:47:44
Authors
Odoo Community Association (OCA), Foodles
Maintainers
Odoo Community Association (OCA), Foodles
Committers
Weblate, Damien Crier, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_contract_contract_form contract.contract.form contract.contract form Inherits contract.contract_contract_form_view
view_split_contract_form split.contract.form split.contract form New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • original_contract_ids Many2many → contract.contract
    column1='contract_id' column2='split_contract_id' comodel_name='contract.contract' readonly=True relation='contract_split_contract_rel'
Public methods (0)

No public methods.

New fields (2)
  • splitted_from_contract_id Many2one → contract.contract
    comodel_name='contract.contract' readonly=True
  • splitted_from_line_id Many2one → contract.line
    comodel_name='contract.line' readonly=True
Public methods (0)

No public methods.

New fields (4)
  • invoice_partner_id Many2one → res.partner
    comodel_name='res.partner'
  • main_contract_id Many2one → contract.contract
    comodel_name='contract.contract'
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
  • split_line_ids One2many → split.contract.line
    comodel_name='split.contract.line' inverse_name='split_contract_id'
Public methods (2)
  • action_split_contract(self)
    If lines exists in the wizard, create a new contract <CONTRACT> For all lines that are kept in the wizard lines : - check if it needs to be split or only moved to the new contract <CONTRACT> - if original_qty == qty_to_split: just move the contract_id - if original_qty < qty_to_split: split the line (eg: duplicate and change qties) - if qty_to_split == 0: do nothing
  • default_get(self, fields) -> dict
    @api.model

New fields (7)
  • name Text → product.product
    comodel_name='product.product' readonly=True related='original_contract_line_id.name'
  • original_contract_line_id Many2one → contract.line
    comodel_name='contract.line'
  • original_qty Float
    readonly=True related='original_contract_line_id.quantity' store=False
  • product_id Many2one → product.product
    comodel_name='product.product' readonly=True related='original_contract_line_id.product_id' store=False
  • quantity_to_split Float
    default=0 string='Quantity to move'
  • split_contract_id Many2one → split.contract
    comodel_name='split.contract'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' readonly=True related='original_contract_line_id.uom_id' store=False
Public methods (0)

No public methods.