Mayur Maheshwari(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma into
lp:~openerp-dev/openobject-addons/trunk-stock_picking_usability.
Requested reviews:
OpenERP R&D Team (openerp-dev)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma/+merge/98358
Hello,
I have made following changes in stock
1] Improved view of stock.picking model as per specification of pad
[http://pad.openerp.com/internalv61-project-task-2667-I5N6E7GV]
2] set related string for button and separator in partial wizard on related
view of stock.picking model
3] fix the view_ref issue of sale in history tab for open partial wizard and
improve a string
Thanks.
mma
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma/+merge/98358
Your team OpenERP R&D Team is requested to review the proposed merge of
lp:~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma into
lp:~openerp-dev/openobject-addons/trunk-stock_picking_usability.
=== modified file 'purchase/stock_view.xml'
--- purchase/stock_view.xml 2011-12-19 16:54:40 +0000
+++ purchase/stock_view.xml 2012-03-20 08:39:23 +0000
@@ -19,7 +19,7 @@
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<field name="auto_picking" position="after">
- <field name="purchase_id"/>
+ <field name="purchase_id" invisible="1"/>
</field>
</field>
</record>
@@ -52,9 +52,9 @@
<field name="type">form</field>
<field name="inherit_id" ref="stock.view_picking_in_form"/>
<field name="arch" type="xml">
- <field name="backorder_id" position="after">
+ <xpath expr="/form/notebook/page/field[@name='date']" position="before">
<field name="purchase_id"/>
- </field>
+ </xpath>
</field>
</record>
=== modified file 'sale/sale_view.xml'
--- sale/sale_view.xml 2012-01-31 13:36:57 +0000
+++ sale/sale_view.xml 2012-03-20 08:39:23 +0000
@@ -246,8 +246,8 @@
<page string="History" groups="base.group_extended">
<separator colspan="4" string="Invoices"/>
<field colspan="4" name="invoice_ids" nolabel="1" context="{'form_view_ref':'account.invoice_form'}"/>
- <separator colspan="4" string="Packings"/>
- <field colspan="4" name="picking_ids" nolabel="1"/>
+ <separator colspan="4" string="Delivery Orders"/>
+ <field colspan="4" name="picking_ids" nolabel="1" context="{'form_view_ref':'stock.view_picking_out_form', 'default_type': 'out'}"/>
</page>
</notebook>
</form>
=== modified file 'sale/stock_view.xml'
--- sale/stock_view.xml 2011-12-19 16:54:40 +0000
+++ sale/stock_view.xml 2012-03-20 08:39:23 +0000
@@ -8,7 +8,7 @@
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<field name="auto_picking" position="after">
- <field name="sale_id"/>
+ <field name="sale_id" invisible="1"/>
</field>
</field>
</record>
@@ -57,9 +57,9 @@
<field name="type">form</field>
<field name="inherit_id" ref="stock.view_picking_out_form"/>
<field name="arch" type="xml">
- <field name="move_type" position="after">
+ <xpath expr="/form/notebook/page/field[@name='date']" position="after">
<field name="sale_id"/>
- </field>
+ </xpath>
</field>
</record>
=== modified file 'stock/stock.py'
--- stock/stock.py 2012-03-14 11:18:28 +0000
+++ stock/stock.py 2012-03-20 08:39:23 +0000
@@ -639,7 +639,7 @@
"* Done: has been processed, can't be modified or cancelled anymore\n"\
"* Cancelled: has been cancelled, can't be confirmed anymore"),
'min_date': fields.function(get_min_max_date, fnct_inv=_set_minimum_date, multi="min_max_date",
- store=True, type='datetime', string='Expected Date', select=1, help="Expected date for the picking to be processed"),
+ store=True, type='datetime', string='Scheduled Date', select=1, help="Expected date for the picking to be processed"),
'date': fields.datetime('Order Date', help="Date of Order", select=True),
'date_done': fields.datetime('Date Done', help="Date of Completion"),
'max_date': fields.function(get_min_max_date, fnct_inv=_set_maximum_date, multi="min_max_date",
@@ -741,7 +741,7 @@
wf_service = netsvc.LocalService("workflow")
for pick in self.browse(cr, uid, ids):
if pick.state == 'draft':
- wf_service.trg_validate(uid, 'stock.picking', pick.id,'button_confirm', cr)
+ wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_confirm', cr)
move_ids = [x.id for x in pick.move_lines if x.state == 'confirmed']
if not move_ids:
raise osv.except_osv(_('Warning !'),_('Not enough stock, unable to reserve the products.'))
=== modified file 'stock/stock_view.xml'
--- stock/stock_view.xml 2012-03-14 11:18:28 +0000
+++ stock/stock_view.xml 2012-03-20 08:39:23 +0000
@@ -696,14 +696,12 @@
<group colspan="4" col="4">
<field name="name" readonly="1"/>
<field name="origin"/>
- <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
+ <field name="address_id" string="Warehouse" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
<field name="invoice_state" string="Invoice Control" groups="base.group_extended"/>
+ </group>
+ <group colspan="2" col="2">
<field name="backorder_id" readonly="1" groups="base.group_extended"/>
- </group>
- <group colspan="2" col="2">
- <field name="date"/>
<field name="min_date" readonly="1"/>
- <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
</group>
</group>
<notebook colspan="4">
@@ -737,8 +735,9 @@
groups="base.group_extended"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed"/>
+ <field name="location_id"/>
<field name="location_dest_id"/>
- <field name="date_expected" string="Date Expected"/>
+ <field name="date_expected" />
<field name="state"/>
</tree>
<form string="Stock Moves">
@@ -809,10 +808,12 @@
</page>
<page string="Additional info" groups="base.group_extended,base.group_multi_company">
<field name="auto_picking" groups="base.group_extended"/>
- <field name="date_done" groups="base.group_extended"/>
+ <field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="move_type" groups="base.group_extended"/>
- <field name="type" groups="base.group_extended"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+ <field name="date"/>
+ <field name="type" groups="base.group_extended" invisible="1"/>
+ <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
+ <field name="date_done" string="Received Date" groups="base.group_extended"/>
</page>
<page string="Notes">
<field colspan="4" name="note" nolabel="1"/>
@@ -889,12 +890,12 @@
<group colspan="4" col="4">
<field name="name" readonly="1"/>
<field name="origin" readonly="1"/>
- <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
+ <field name="address_id" string="Customer" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
<field name="invoice_state"/>
+
+ </group>
+ <group colspan="2" col="2">
<field name="backorder_id" readonly="1" groups="base.group_extended"/>
- </group>
- <group colspan="2" col="2">
- <field name="date"/>
<field name="min_date" readonly="1"/>
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
</group>
@@ -928,7 +929,7 @@
groups="base.group_extended"
states="draft,assigned,confirmed"/>
<field name="location_id"/>
- <field name="date"/>
+ <field name="date_expected"/>
<field name="state"/>
<button name="%(action_partial_move_server)d" string="Process" type="action" states="confirmed,assigned" icon="gtk-go-forward"/>
</tree>
@@ -1001,10 +1002,11 @@
</page>
<page string="Additional info" groups="base.group_extended,base.group_multi_company">
<field name="auto_picking" groups="base.group_extended"/>
- <field name="date_done" groups="base.group_extended"/>
+ <field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="move_type" groups="base.group_extended"/>
- <field name="type" groups="base.group_extended"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+ <field name="date"/>
+ <field name="date_done" string="Delivery Date" groups="base.group_extended"/>
+ <field name="type" groups="base.group_extended" invisible="1"/>
</page>
<page string="Notes">
<field colspan="4" name="note" nolabel="1"/>
@@ -1110,12 +1112,12 @@
<group colspan="4" col="4">
<field name="name" readonly="1"/>
<field name="origin"/>
- <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" domain="[('partner_id','<>',False)]" colspan="4"/>
+ <field name="address_id" string="Supplier" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" domain="[('partner_id','<>',False)]" colspan="4"/>
<field name="invoice_state" string="Invoice Control"/>
+
+ </group>
+ <group colspan="2" col="2">
<field name="backorder_id" readonly="1" groups="base.group_extended"/>
- </group>
- <group colspan="2" col="2">
- <field name="date"/>
<field name="min_date" readonly="1"/>
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
</group>
@@ -1220,7 +1222,8 @@
</group>
</page>
<page string="Additional Info" groups="base.group_extended,base.group_multi_company">
- <field name="type" groups="base.group_extended"/>
+ <field name="type" groups="base.group_extended" invisible="1"/>
+ <field name="date"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</page>
<page string="Notes">
=== modified file 'stock/wizard/stock_partial_picking.py'
--- stock/wizard/stock_partial_picking.py 2012-01-31 13:36:57 +0000
+++ stock/wizard/stock_partial_picking.py 2012-03-20 08:39:23 +0000
@@ -23,6 +23,7 @@
from osv import fields, osv
from tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
import decimal_precision as dp
+from lxml import etree
from tools.translate import _
class stock_partial_picking_line(osv.TransientModel):
@@ -71,6 +72,36 @@
'picking_id': fields.many2one('stock.picking', 'Picking', required=True, ondelete='CASCADE'),
'hide_tracking': fields.function(_hide_tracking, string='Tracking', type='boolean', help='This field is for internal purpose. It is used to decide if the column prodlot has to be shown on the move_ids field or not'),
}
+
+ def fields_view_get(self, cr, uid, view_id=None, view_type='form',
+ context=None, toolbar=False, submenu=False):
+ # remove the entry with key 'form_view_ref', otherwise fields_view_get crashes
+ context.pop('form_view_ref', None)
+ if context is None:
+ context={}
+ res = super(stock_partial_picking, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
+ type = context.get('default_type', False)
+ doc = etree.XML(res['arch'])
+ nodes = doc.xpath("//group/button[@string='_Validate']")
+ separator_extended = ''
+ for field in res['fields']:
+ if type == 'in':
+ separator_extended = '''<separator colspan="4" string="Receive Products"/>'''
+ for node in nodes:
+ node.set('string', '_Receive')
+ elif type == 'internal':
+ separator_extended = '''<separator colspan="4" string="Move Products"/>'''
+ for node in nodes:
+ node.set('string', '_Move')
+ elif type == 'out':
+ separator_extended = '''<separator colspan="4" string="Deliver Products"/>'''
+ for node in nodes:
+ node.set('string', '_Deliver')
+
+ res['arch'] = etree.tostring(doc)
+ if separator_extended:
+ res['arch'] = res['arch'].replace('<separator colspan="4" string="Products"/>', separator_extended)
+ return res
def default_get(self, cr, uid, fields, context=None):
if context is None: context = {}
_______________________________________________
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