[MERGE]: Merge with lp:~openerp-commiter/openobject-addons/rha-dev-addons2

bzr revid: rpa@tinyerp.com-20101209115659-t9urdoh2ih4anb07
This commit is contained in:
rpa (Open ERP) 2010-12-09 17:26:59 +05:30
parent 4f62b6c9b8
commit 5577438dac
3 changed files with 15 additions and 6 deletions

View File

@ -559,6 +559,7 @@ class purchase_order(osv.osv):
allorders = []
orders_info = {}
for order_key, (order_data, old_ids) in new_orders.iteritems():
# skip merges with only one order
if len(old_ids) < 2:
@ -573,13 +574,14 @@ class purchase_order(osv.osv):
# create the new order
neworder_id = self.create(cr, uid, order_data)
orders_info.update({neworder_id: old_ids})
allorders.append(neworder_id)
# make triggers pointing to the old orders point to the new order
for old_id in old_ids:
wf_service.trg_redirect(uid, 'purchase.order', old_id, neworder_id, cr)
wf_service.trg_validate(uid, 'purchase.order', old_id, 'purchase_cancel', cr)
return allorders
return orders_info
purchase_order()

View File

@ -29,15 +29,15 @@ from tools.translate import _
class purchase_order_group(osv.osv_memory):
_name = "purchase.order.group"
_description = "Purchase Order Merge"
def fields_view_get(self, cr, uid, view_id=None, view_type='form',
def fields_view_get(self, cr, uid, view_id=None, view_type='form',
context=None, toolbar=False, submenu=False):
"""
"""
Changes the view dynamically
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
@param context: A standard dictionary
@param context: A standard dictionary
@return: New arch of view.
"""
if not context:
@ -61,14 +61,20 @@ class purchase_order_group(osv.osv_memory):
"""
order_obj = self.pool.get('purchase.order')
proc_obj = self.pool.get('procurement.order')
mod_obj =self.pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'purchase', 'view_purchase_order_filter')
id = mod_obj.read(cr, uid, result, ['res_id'])
allorders = order_obj.do_merge(cr, uid, context.get('active_ids',[]), context)
for new_order in allorders:
proc_ids = proc_obj.search(cr, uid, [('purchase_id', 'in', allorders[new_order])], context=context)
for proc in proc_obj.browse(cr, uid, proc_ids, context=context):
if proc.purchase_id:
proc_obj.write(cr, uid, [proc.id], {'purchase_id': new_order}, context)
return {
'domain': "[('id','in', [" + ','.join(map(str, allorders)) + "])]",
'domain': "[('id','in', [" + ','.join(map(str, allorders.keys())) + "])]",
'name': 'Purchase Orders',
'view_type': 'form',
'view_mode': 'tree,form',

View File

@ -1312,6 +1312,7 @@
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<tree colors="grey:state in ('cancel');red:(state not in ('cancel','done')) and date > current_date" string="Moves" editable="top">
<field name="name"/>
<field name="picking_id" string="Reference"/>
<field name="origin"/>
<field name="create_date" invisible="1"/>