Repository
OCA/purchase-workflow · module folder · Try on Runboat
Module version
0.2.0
Category
Purchase Management
Folder size
0.27 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-07 07:03:09
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
David Beal, OCA-git-bot, oca-travis
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
purchase_line_proposal_tree purchase.line.proposal tree New
purchase_order_form purchase.order form Inherits purchase.purchase_order_form
supplier_purchase_order_form purchase.order form New
supplier_purchase_order_tree purchase.order tree New
view_partner_form res.partner form Inherits base.view_partner_form
view_purchase_order_filter purchase.order Inherits purchase.view_purchase_order_filter
view_supplier_purchase_order_filter purchase.order search New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (13)
  • check_price Boolean
    related='order_id.partner_id.check_price_on_proposal'
  • date Date
    string='New Date'
  • date_planned Date
    readonly=True related='line_id.date_planned' string='Old Date'
  • line_id Many2one → purchase.order.line
    comodel_name='purchase.order.line' ondelete='cascade' required=True string='Purchase Line'
  • line_id_ Integer
    compute='_compute_line_id'
  • order_id Many2one → purchase.order
    comodel_name='purchase.order' ondelete='cascade' required=True string='Purchase'
  • partially_received Boolean
    related='order_id.partially_received'
  • price_u Float
    digits_compute=dp.get_precision('Product Price') string='New Price U.'
  • price_unit Float
    readonly=True related='line_id.price_unit' string='Old Price'
  • product_id Many2one
    readonly=True related='line_id.product_id'
  • product_qty Float
    readonly=True related='line_id.product_qty' string='Old Qty'
  • qty Float
    digits_compute=dp.get_precision('Product Unit of Measure') string='New Qty'
  • supplier_ref Char
    compute='_compute_supplier_ref' readonly=True string='Ref'
Public methods (0)

No public methods.

New fields (8)
  • check_price_on_proposal Boolean
    related='partner_id.check_price_on_proposal'
  • partially_received Boolean
    compute='_compute_partially_received' compute_sudo=True help='Checked if at least partially delivered' store=False
  • proposal_count Integer
    compute='_compute_proposal'
  • proposal_date Date
    copy=False help='Update all date of the order with this date' string='Update all dates at once'
  • proposal_display Boolean
    help='If checked, rejected proposals are hidden.' string='Display/Hide Proposal'
  • proposal_ids One2many → purchase.line.proposal
    comodel_name='purchase.line.proposal' inverse_name='order_id'
  • proposal_state Selection
    copy=False default='draft' readonly=True selection=[('draft', 'To Submit'), ('submitted', 'To Approve by an internal user'), ('rejected', 'Rejected'), ('approved', 'Approved')]
  • proposal_updatable Selection
    copy=False default='' help='Computed to be sure that stock move are in a state compatible with update' selection=[('', 'undefined'), ('yes', 'Yes'), ('no', 'No')]
Public methods (9)
  • approve_proposal(self)
    @api.multi
    We need to update purchase lines with approved lines. If 1 purchase line has created more than 1 line, we update the first one and create another purchase line
  • button_switch2other_view(self)
    @api.multi
  • onchange_proposal_date(self)
    @api.onchange('proposal_date')
  • populate_all_purchase_lines(self)
    @api.multi
  • reject_proposal(self)
    @api.multi
  • reset_proposal(self)
    @api.multi
  • submit_proposal(self)
    @api.multi
  • wkf_confirm_order(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (3)
  • proposal_count Integer
    related='order_id.proposal_count' store=False
  • received Selection
    compute='_compute_received' compute_sudo=True help='Defined if quantity is partially or completely received (at least the quantity of the line)' selection=[('', 'No'), ('partially', 'Partially'), ('all', 'All')] store=False
  • supplier_cancel_status Char
    compute='_compute_supplier_cancel_status' help='Indicate if the line is cancelled' string='Status'
Public methods (2)
  • button_supplier_update_proposal(self)
    @api.multi
    Call button_update_proposal() but from the view supplier_purchase_order_form We can't pass the context from the view because the button is linked to the tree view of order_line
  • button_update_proposal(self)
    @api.multi

New fields (1)
  • check_price_on_proposal Boolean
    help='If checked, match price on purchase proposal'
Public methods (0)

No public methods.