class product_ul(osv.osv):
_name = "product.ul"
- _description = "Shipping Unit"
+ _description = "Logistic Unit"
_columns = {
'name' : fields.char('Name', select=True, required=True, translate=True),
'type' : fields.selection([('unit','Unit'),('pack','Pack'),('box', 'Box'), ('pallet', 'Pallet')], 'Type', required=True),
'is_only_child': fields.function(
_is_only_child, type='boolean', string='Sole child of the parent template'),
'ean13': fields.char('EAN13 Barcode', size=13, help="International Article Number used for product identification."),
- 'packaging': fields.one2many('product.packaging', 'product_id', 'Logistical Units', help="Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."),
+ 'packaging': fields.one2many('product.packaging', 'product_id', 'Packaging', help="Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."),
'price_extra': fields.float('Variant Price Extra', digits_compute=dp.get_precision('Product Price'), help="Price Extra: Extra price for the variant on sale price. eg. 200 price extra, 1000 + 200 = 1200."),
'price_margin': fields.float('Variant Price Margin', digits_compute=dp.get_precision('Product Price'), help="Price Margin: Margin in percentage amount on sale price for the variant. eg. 10 price margin, 1000 * 1.1 = 1100."),
'pricelist_id': fields.dummy(string='Pricelist', relation='product.pricelist', type='many2one'),
'name' : fields.text('Description'),
'qty' : fields.float('Quantity by Package',
help="The total number of products you can put by pallet or box."),
- 'ul' : fields.many2one('product.ul', 'Type of Package', required=True),
+ 'ul' : fields.many2one('product.ul', 'Package Logistic Unit', required=True),
'ul_qty' : fields.integer('Package by layer', help='The number of packages by layer'),
- 'ul_container': fields.many2one('product.ul', 'Container Type of Package'),
+ 'ul_container': fields.many2one('product.ul', 'Pallet Logistic Unit'),
'rows' : fields.integer('Number of Layers', required=True,
help='The number of layers on a pallet or box'),
'product_id' : fields.many2one('product.product', 'Product', select=1, ondelete='cascade', required=True),
<field name="qty"/>
<field name="ul"/>
<separator colspan="4" string="Palletization"/>
- <field name="ul_container"/>
<field name="ul_qty"/>
+ <field name="ul_container"/>
<field name="rows"/>
<field name="weight"/>
</group>
<field name="name">product.ul.form.view</field>
<field name="model">product.ul</field>
<field name="arch" type="xml">
- <form string="Packaging" version="7.0">
+ <form string="Logistic Units" version="7.0">
<group>
<field name="name"/>
<field name="type"/>
<field name="name">product.ul.tree</field>
<field name="model">product.ul</field>
<field name="arch" type="xml">
- <tree string="Packaging">
+ <tree string="Logistic Units">
<field name="name"/>
<field name="type"/>
</tree>
</field>
</record>
<record id="product_ul_form_action" model="ir.actions.act_window">
- <field name="name">Packaging</field>
+ <field name="name">Logistic Units</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.ul</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
- Click to add a new packaging type.
+ Click to add a new Logistic Unit
</p><p>
- The packaging type define the dimensions as well as the number
- of products per package. This will ensure salesperson sell the
- right number of products according to the package selected.
+ The logistic unit defines the container used for the package.
+ It has a type (e.g. pallet, box, ...) and you can specify its
+ size.
</p>
</field>
</record>
<field name="qty"/>
<field name="ul"/>
<separator colspan="4" string="Palletization"/>
- <field name="ul_container"/>
<field name="ul_qty"/>
<field name="rows"/>
+ <field name="ul_container"/>
<field name="weight"/>
<separator colspan="4" string="Other Info"/>
<field colspan="4" name="name"/>
'complete_name': fields.function(_complete_name, type='char', string="Package Name",),
'parent_left': fields.integer('Left Parent', select=1),
'parent_right': fields.integer('Right Parent', select=1),
- 'packaging_id': fields.many2one('product.packaging', 'Type of Packaging'),
- 'ul_id': fields.many2one('product.ul', 'Type of Package'),
+ 'packaging_id': fields.many2one('product.packaging', 'Packaging'),
+ 'ul_id': fields.many2one('product.ul', 'Logistic Unit'),
'location_id': fields.function(_get_package_info, type='many2one', relation='stock.location', string='Location', multi="package",
store={
'stock.quant': (_get_packages, ['location_id'], 10),
<filter string='Owner' context="{'group_by' : 'owner_id'}" groups="stock.group_tracking_owner"/>
<filter string='Lot' context="{'group_by' : 'lot_id'}" groups="stock.group_production_lot"/>
<filter name="locationgroup" string='Location' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'location_id'}"/>
- <filter string='Packaging' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'package_id'}" groups="stock.group_tracking_lot"/>
- <filter string='Packaging Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'packaging_type_id'}" groups="stock.group_tracking_lot"/>
+ <filter string='Package' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'package_id'}" groups="stock.group_tracking_lot"/>
+ <filter string='Packaging' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'packaging_type_id'}" groups="stock.group_tracking_lot"/>
<filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company"/>
</group>
</search>