Purchase Update Proposal

purchase_update_proposal
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/8.0/purchase_update_proposal
VERSION
VERSION 0.2.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSDavid Beal, oca-travis, OCA-git-bot
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
    - account
    - analytic
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
purchase_line_proposal_tree purchase.line.proposal tree New
purchase_order_form purchase.order xpath 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 field Inherits base.view_partner_form
view_purchase_order_filter purchase.order filter Inherits purchase.view_purchase_order_filter
view_supplier_purchase_order_filter purchase.order search New
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.