[FIX]: Allow add rfq manually with warning if same suppliers if given.
bzr revid: atp@tinyerp.com-20120601171345-o4uxah793kvxhs5v
This commit is contained in:
@@ -207,23 +207,38 @@ class purchase_order(osv.osv):
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
val_list = []
|
||||
requisition_id = {}
|
||||
product_obj = self.pool.get('product.product')
|
||||
pur_req_line_obj = self.pool.get('purchase.requisition.line')
|
||||
requisition_line_obj = self.pool.get('purchase.requisition.line')
|
||||
purchase_order_line_obj = self.pool.get('purchase.order.line')
|
||||
res = super(purchase_order, self).default_get(cr, uid, fields, context=context)
|
||||
product_ids = context.get('product_ids', False)
|
||||
val_list = []
|
||||
if product_ids:
|
||||
for id in product_ids:
|
||||
if id[0] == 4:
|
||||
product_data = pur_req_line_obj.browse(cr, uid, id[1], context=context)
|
||||
line_vals={'product_id': product_data.product_id.id, 'product_qty': product_data.product_qty, 'name': product_data.product_id.name}
|
||||
requisition_data = requisition_line_obj.browse(cr, uid, id[1], context=context)
|
||||
requisition_id.update({'requisition_id': requisition_data.requisition_id.id})
|
||||
line_vals={'product_id': requisition_data.product_id.id, 'product_qty': requisition_data.product_qty, 'name': requisition_data.product_id.name}
|
||||
elif id[0] == 0:
|
||||
product_data = id[2]
|
||||
product_data = id[2]
|
||||
name = product_obj.browse(cr, uid, product_data.get('product_id'), context=context).name
|
||||
line_vals = {'product_id': product_data.get('product_id'), 'product_qty': product_data.get('product_qty'), 'name': name}
|
||||
val_list.append((0,0,line_vals))
|
||||
res.update({'order_line': val_list})
|
||||
val_list.append((0,0,line_vals))
|
||||
res.update({'order_line': val_list, 'requisition_id': requisition_id.get('requisition_id')})
|
||||
return res
|
||||
|
||||
def onchange_partner_id(self, cr, uid, ids, partner_id, requisition_id):
|
||||
res = {}
|
||||
res = super(purchase_order, self).onchange_partner_id(cr, uid, ids, partner_id)
|
||||
res_partner = self.pool.get('res.partner')
|
||||
value = {'partner_id': ''}
|
||||
requisition_pool = self.pool.get('purchase.requisition')
|
||||
supplier = res_partner.browse(cr, uid, partner_id)
|
||||
if requisition_id:
|
||||
requisition = requisition_pool.browse(cr, uid, requisition_id)
|
||||
if supplier.id in filter(lambda x: x, [rfq.state <> 'cancel' and rfq.partner_id.id or None for rfq in requisition.purchase_ids]):
|
||||
raise osv.except_osv(_('Warning'), _('You have already one %s purchase order for this partner, you must cancel this purchase order to create a new quotation.') % rfq.state)
|
||||
return res
|
||||
|
||||
def wkf_confirm_order(self, cr, uid, ids, context=None):
|
||||
|
||||
@@ -9,9 +9,14 @@
|
||||
<field name="model">purchase.order</field>
|
||||
<field name="inherit_id" ref="purchase.purchase_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<field name="shipped" position="after">
|
||||
<field name="requisition_id"/>
|
||||
</field>
|
||||
<field name= 'partner_id' position="replace">
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, requisition_id)" context="{'search_default_supplier':1,'default_supplier':1,'default_customer':0}" options='{"quick_create": false}'/>
|
||||
</field>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -49,10 +54,11 @@
|
||||
<field name="exclusive"/>
|
||||
<field name="user_id"/>
|
||||
<field name="date_start"/>
|
||||
<field name="warehouse_id" widget="selection" groups="stock.group_locations"/>
|
||||
<field name="date_end"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
<field name="origin"/>
|
||||
<field name="date_end"/>
|
||||
<field name="warehouse_id" widget="selection" groups="stock.group_locations"/>
|
||||
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Products">
|
||||
|
||||
Reference in New Issue
Block a user