[IMP] purchase: Receive product (primary button)

- The button 'Receive Product' is highlighted and hidden after all the
  products are received
- The draft state is name 'RFQ' and not 'Draft PO'
- Do not display 'Re-print RFQ' in state 'sent', as it is not always the case
This commit is contained in:
mag-odoo
2016-04-12 09:48:04 +02:00
committed by Yannick Tivisse
parent 1fcf76ff1d
commit 3b061a4a23
2 changed files with 11 additions and 3 deletions
+8 -1
View File
@@ -88,6 +88,12 @@ class PurchaseOrder(models.Model):
order.picking_ids = pickings
order.picking_count = len(pickings)
@api.depends('picking_ids', 'picking_ids.state')
def _compute_is_shipped(self):
for order in self:
if order.picking_ids and all([x.state == 'done' for x in order.picking_ids]):
order.is_shipped = True
READONLY_STATES = {
'purchase': [('readonly', True)],
'done': [('readonly', True)],
@@ -113,7 +119,7 @@ class PurchaseOrder(models.Model):
currency_id = fields.Many2one('res.currency', 'Currency', required=True, states=READONLY_STATES,\
default=lambda self: self.env.user.company_id.currency_id.id)
state = fields.Selection([
('draft', 'Draft PO'),
('draft', 'RFQ'),
('sent', 'RFQ Sent'),
('to approve', 'To Approve'),
('purchase', 'Purchase Order'),
@@ -153,6 +159,7 @@ class PurchaseOrder(models.Model):
default_location_dest_id_usage = fields.Selection(related='picking_type_id.default_location_dest_id.usage', string='Destination Location Type',\
help="Technical field used to display the Drop Ship Address", readonly=True)
group_id = fields.Many2one('procurement.group', string="Procurement Group")
is_shipped = fields.Boolean(compute="_compute_is_shipped")
@api.model
def name_search(self, name, args=None, operator='ilike', limit=100):
+3 -2
View File
@@ -165,12 +165,12 @@
<button name="action_rfq_send" states="draft" string="Send RFQ by Email" type="object" context="{'send_rfq':True}" class="oe_highlight"/>
<button name="action_rfq_send" states="sent" string="Re-Send RFQ by Email" type="object" context="{'send_rfq':True}"/>
<button name="print_quotation" string="Print RFQ" type="object" states="draft" class="oe_highlight" groups="base.group_user"/>
<button name="print_quotation" string="Re-Print RFQ" type="object" states="sent" groups="base.group_user"/>
<button name="print_quotation" string="Print RFQ" type="object" states="sent" groups="base.group_user"/>
<button name="button_confirm" type="object" states="draft" string="Confirm Order" id="draft_confirm"/>
<button name="button_confirm" type="object" states="sent" string="Confirm Order" class="oe_highlight" id="bid_confirm"/>
<button name="button_approve" type="object" states='to approve' string="Approve Order" class="oe_highlight" groups="purchase.group_purchase_manager"/>
<button name="action_rfq_send" states="purchase" string="Send PO by Email" type="object" context="{'send_rfq':False}"/>
<button name="action_view_picking" string="Receive Products" type="object" attrs="{'invisible': ['|', ('state','not in', ('purchase','done')), ('picking_count', '=', 0)]}"/>
<button name="action_view_picking" string="Receive Products" class="oe_highlight" type="object" attrs="{'invisible': ['|', '|' , ('is_shipped', '=', True), ('state','not in', ('purchase','done')), ('picking_count', '=', 0)]}"/>
<button name="button_draft" states="cancel" string="Set to Draft" type="object" />
<button name="button_cancel" states="draft,to approve,sent,purchase" string="Cancel" type="object" />
<button name="button_done" type="object" string="Lock Bills" states="purchase"
@@ -203,6 +203,7 @@
<field name="partner_id" context="{'search_default_supplier':1, 'default_supplier':1, 'default_customer':0}" domain="[('supplier','=',True)]"/>
<field name="partner_ref"/>
<field name="currency_id" groups="base.group_multi_currency"/>
<field name="is_shipped" invisible="1"/>
</group>
<group>
<field name="date_order"/>