Divyesh Makwana(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-addons_issue_sales-mdi into
lp:openobject-addons.
Requested reviews:
OpenERP Core Team (openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-addons_issue_sales-mdi/+merge/121573
Hello Sir,
I have done the following things:
1. If sale order is not fully 'invoiced', 'Create Invoice' button must be
visible.
2. Fix the error : ValueError: Non-db action dictionaries should provide
either multiple view modes or a single view mode and an optional view id.
Thanks,
Divyesh
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-addons_issue_sales-mdi/+merge/121573
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-addons_issue_sales-mdi.
=== modified file 'sale/sale.py'
--- sale/sale.py 2012-08-23 12:19:52 +0000
+++ sale/sale.py 2012-08-28 10:06:20 +0000
@@ -553,33 +553,22 @@
This function returns an action that display existing delivery orders of given sale order ids. It can either be a in a list or in a form view, if there is only one delivery order to show.
'''
mod_obj = self.pool.get('ir.model.data')
- result = {
- 'name': _('Delivery Order'),
- 'view_type': 'form',
- 'res_model': 'stock.picking',
- 'context': "{'type':'out'}",
- 'type': 'ir.actions.act_window',
- 'nodestroy': True,
- 'target': 'current',
- }
+ act_obj = self.pool.get('ir.actions.act_window')
+
+ result = mod_obj.get_object_reference(cr, uid, 'stock', 'action_picking_tree')
+ id = result and result[1] or False
+ result = act_obj.read(cr, uid, [id], context=context)[0]
#compute the number of delivery orders to display
pick_ids = []
for so in self.browse(cr, uid, ids, context=context):
pick_ids += [picking.id for picking in so.picking_ids]
#choose the view_mode accordingly
if len(pick_ids) > 1:
- res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_out_tree')
- result.update({
- 'view_mode': 'tree,form',
- 'res_id': pick_ids or False
- })
+ result['domain'] = "[('id','in',["+','.join(map(str, pick_ids))+"])]"
else:
res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_out_form')
- result.update({
- 'view_mode': 'form',
- 'res_id': pick_ids and pick_ids[0] or False,
- })
- result.update(view_id = res and res[1] or False)
+ result['views'] = [(res and res[1] or False, 'form')]
+ result['res_id'] = pick_ids and pick_ids[0] or False
return result
def action_invoice_create(self, cr, uid, ids, grouped=False, states=['confirmed', 'done', 'exception'], date_inv = False, context=None):
=== modified file 'sale/sale_view.xml'
--- sale/sale_view.xml 2012-08-23 12:19:52 +0000
+++ sale/sale_view.xml 2012-08-28 10:06:20 +0000
@@ -167,7 +167,7 @@
<button name="action_view_delivery" string="View Delivery Order" type="object" class="oe_highlight"
attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}"/>
<button name="%(action_view_sale_advance_payment_inv)d" string="Create Invoice"
- type="action" states="manual" class="oe_highlight"/>
+ attrs="{'invisible' : ['|',('state', '!=', 'manual'), ('invoiced', '=', True)]}" type="action" class="oe_highlight"/>
<button name="cancel" states="draft,sent" string="Cancel"/>
<button name="action_cancel" states="manual,progress" string="Cancel" type="object"/>
<button name="ship_cancel" states="shipping_except" string="Cancel"/>
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp