diff --git a/addons/purchase_requisition/models/purchase_requisition.py b/addons/purchase_requisition/models/purchase_requisition.py
index dffda14ab6e..3de53910d9d 100644
--- a/addons/purchase_requisition/models/purchase_requisition.py
+++ b/addons/purchase_requisition/models/purchase_requisition.py
@@ -6,6 +6,16 @@ from odoo.addons import decimal_precision as dp
from odoo.exceptions import UserError
+PURCHASE_REQUISITION_STATES = [
+ ('draft', 'Draft'),
+ ('ongoing', 'Ongoing'),
+ ('in_progress', 'Confirmed'),
+ ('open', 'Bid Selection'),
+ ('done', 'Closed'),
+ ('cancel', 'Cancelled')
+]
+
+
class PurchaseRequisitionType(models.Model):
_name = "purchase.requisition.type"
_description = "Purchase Agreement Type"
@@ -59,15 +69,18 @@ class PurchaseRequisition(models.Model):
purchase_ids = fields.One2many('purchase.order', 'requisition_id', string='Purchase Orders', states={'done': [('readonly', True)]})
line_ids = fields.One2many('purchase.requisition.line', 'requisition_id', string='Products to Purchase', states={'done': [('readonly', True)]}, copy=True)
warehouse_id = fields.Many2one('stock.warehouse', string='Warehouse')
- state = fields.Selection([('draft', 'Draft'), ('in_progress', 'Confirmed'),
- ('open', 'Bid Selection'), ('done', 'Done'),
- ('cancel', 'Cancelled')],
+ state = fields.Selection(PURCHASE_REQUISITION_STATES,
'Status', track_visibility='onchange', required=True,
copy=False, default='draft')
+ state_blanket_order = fields.Selection(PURCHASE_REQUISITION_STATES, compute='_set_state')
account_analytic_id = fields.Many2one('account.analytic.account', 'Analytic Account')
picking_type_id = fields.Many2one('stock.picking.type', 'Operation Type', required=True, default=_get_picking_in)
is_quantity_copy = fields.Selection(related='type_id.quantity_copy', readonly=True)
+ @api.depends('state')
+ def _set_state(self):
+ self.state_blanket_order = self.state
+
@api.model
def create(self, vals):
rec = super(PurchaseRequisition, self).create(vals)
@@ -123,7 +136,9 @@ class PurchaseRequisition(models.Model):
if requisition_line.product_qty <= 0.0:
raise UserError(_('You cannot confirm the blanket order without quantity.'))
requisition_line.create_supplier_info()
- self.write({'state': 'in_progress'})
+ self.write({'state': 'ongoing'})
+ else:
+ self.write({'state': 'in_progress'})
@api.multi
def action_open(self):
diff --git a/addons/purchase_requisition/views/purchase_requisition_views.xml b/addons/purchase_requisition/views/purchase_requisition_views.xml
index e1f17b6dc5b..220e4e22998 100644
--- a/addons/purchase_requisition/views/purchase_requisition_views.xml
+++ b/addons/purchase_requisition/views/purchase_requisition_views.xml
@@ -80,7 +80,7 @@
+ domain="[('state', 'in', ('in_progress', 'open', 'ongoing')), ('vendor_id', 'in', (partner_id, False))]"/>
@@ -139,13 +139,14 @@
attrs="{'invisible': [('state', '!=', 'open')]}"/>
+ attrs="{'invisible': [('state', 'not in', ('in_progress', 'ongoing'))]}"/>
-
+
-
-
+
+
+