[[ line['blocked'] and 'X' or '' ]]
@@ -241,7 +236,7 @@
[[ formatLang((reduce(lambda x, y: x + ((y['account_id']['type'] == 'receivable' and y['credit'] or 0) or (y['account_id']['type'] == 'payable' and y['debit'] * -1 or 0)), getLines(o), 0))) ]]
- [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street2 or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.zip or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.city or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.state_id and o.employee_id.address_home_id.state_id.name or '' ]] [[o.employee_id.address_home_id and o.employee_id.address_home_id.country_id and o.employee_id.address_home_id.country_id.name or '' ]]
+ [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]]
+ [[o.employee_id.address_home_id and display_address(o.employee_id.address_home_id)]]
@@ -293,7 +294,7 @@
[[ formatLang(p.amount) ]]
- [[ formatLang(p.total) ]] [[o.company_id and o.company_id.currency_id.symbol or '']]
+ [[ formatLang(p.total, currency_obj = o.company_id and o.company_id.currency_id)]]
- [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street2 or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.zip or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.city or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.state_id and o.employee_id.address_home_id.state_id.name or '' ]] [[o.employee_id.address_home_id and o.employee_id.address_home_id.country_id and o.employee_id.address_home_id.country_id.name or '' ]]
+ [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]]
+ [[o.employee_id.address_home_id and display_address(o.employee_id.address_home_id)]]
@@ -334,7 +335,7 @@
[[ '..'*h['level'] ]][[ h['rule_category'] ]][[ h['level']!=0 and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font') ]]
- [[ formatLang(h['total']) ]] [[o.company_id and o.company_id.currency_id.symbol or '']] [[ h['level']==0 and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font') ]]
+ [[ formatLang(h['total'], currency_obj = o.company_id and o.company_id.currency_id)]] [[ h['level']==0 and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font') ]]
@@ -391,7 +392,7 @@
[[ formatLang(r['amount']) ]]
- [[ formatLang(r['total']) ]] [[ o.company_id and o.company_id.currency_id.symbol or '']][[ r.get('register_name', False) and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font')]]
+ [[ formatLang(r['total'], currency_obj = o.company_id and o.company_id.currency_id)]][[ r.get('register_name', False) and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font')]]
diff --git a/addons/hr_payroll_account/hr_payroll_account.py b/addons/hr_payroll_account/hr_payroll_account.py
index 184f9a06867..94df47f6e44 100644
--- a/addons/hr_payroll_account/hr_payroll_account.py
+++ b/addons/hr_payroll_account/hr_payroll_account.py
@@ -36,7 +36,7 @@ class hr_payslip(osv.osv):
_columns = {
'period_id': fields.many2one('account.period', 'Force Period',states={'draft': [('readonly', False)]}, readonly=True, domain=[('state','<>','done')], help="Keep empty to use the period of the validation(Payslip) date."),
- 'journal_id': fields.many2one('account.journal', 'Expense Journal',states={'draft': [('readonly', False)]}, readonly=True, required=True),
+ 'journal_id': fields.many2one('account.journal', 'Salary Journal',states={'draft': [('readonly', False)]}, readonly=True, required=True),
'move_id': fields.many2one('account.move', 'Accounting Entry', readonly=True),
}
@@ -215,7 +215,7 @@ class hr_payslip_run(osv.osv):
_inherit = 'hr.payslip.run'
_description = 'Payslip Run'
_columns = {
- 'journal_id': fields.many2one('account.journal', 'Expense Journal', states={'draft': [('readonly', False)]}, readonly=True, required=True),
+ 'journal_id': fields.many2one('account.journal', 'Salary Journal', states={'draft': [('readonly', False)]}, readonly=True, required=True),
}
def _get_default_journal(self, cr, uid, context=None):
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index ccfcae0d26e..56c517620e0 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -297,7 +297,6 @@ class hr_applicant(base_stage, osv.Model):
res['context'] = {
'default_partner_ids': applicant.partner_id and [applicant.partner_id.id] or False,
'default_user_id': uid,
- 'default_state': 'open',
'default_name': applicant.name,
'default_categ_ids': category and [category.id] or False,
}
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index d48086f5663..d6d04c1b969 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -289,7 +289,8 @@
[[o.employee_id.name or '_']]
- [[o.employee_id.address_home_id.street or '_' ]]
- [[o.employee_id.address_home_id.street2 or '' ]]
- [[o.employee_id.address_home_id.zip or '_' ]] [[o.employee_id.address_home_id.city or '' ]]
+ [[display_address(o.employee_id.address_home_id) or '_' ]]
- [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street2 or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.zip or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.city or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.state_id and o.employee_id.address_home_id.state_id.name or '' ]] [[o.employee_id.address_home_id and o.employee_id.address_home_id.country_id and o.employee_id.address_home_id.country_id.name or '' ]]
+ [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]],[[o.employee_id.address_home_id and display_address(o.employee_id.address_home_id)]]
@@ -334,7 +334,7 @@
[[ '..'*h['level'] ]][[ h['rule_category'] ]][[ h['level']!=0 and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font') ]]
- [[ formatLang(h['total']) ]] [[o.company_id and o.company_id.currency_id.symbol or '']] [[ h['level']==0 and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font') ]]
+ [[ formatLang(h['total'], currency_obj = o.company_id and o.company_id.currency_id)]] [[ h['level']==0 and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font') ]]
When you sell this product, OpenERP will trigger a manufacturing
order using the bill of materials assigned to this product.
The delivery order will be ready once the production is done.
- [[ formatLang(pos_payment_user_total(data['form'])) or removeParentNode('blockTable')]] [[company.currency_id.symbol]]
+ [[ formatLang(pos_payment_user_total(data['form'], currency_obj = company.currency_id)) or removeParentNode('blockTable')]]
diff --git a/addons/point_of_sale/report/pos_receipt.rml b/addons/point_of_sale/report/pos_receipt.rml
index 55873887210..d7b8b08ad29 100644
--- a/addons/point_of_sale/report/pos_receipt.rml
+++ b/addons/point_of_sale/report/pos_receipt.rml
@@ -72,8 +72,7 @@
[[ repeatIn(objects,'o') ]][[o.user_id.company_id.name]]
- [[ address and address.street ]], [[ address and address.zip ]] [[ address and address.city ]]
- [[ address and address.country_id.name ]]
+ [[ address and display_address(address)]]Tel : [[ address and address.phone ]]User : [[ o.user_id.name ]]Shop : [[ o.shop_id.name ]]
@@ -109,7 +108,7 @@
[[o.state=='cancel' and o.statement_ids and '-' or '']][['%.f' % line.qty ]]
- [[o.state=='cancel' and o.statement_ids and '-' or '']][[ '%.2f' % net(line.id) ]] [[company.currency_id.symbol]] [[ line and line.discount == 0.0 and removeParentNode('font') ]] ([[ '%.2f' % line.discount ]]%) [[company.currency_id.symbol]]
+ [[o.state=='cancel' and o.statement_ids and '-' or '']][[ formatLang(net(line.id), currency_obj=company.currency_id) ]] [[ line and line.discount == 0.0 and removeParentNode('font') ]] ([[ formatLang(line.discount, currency_obj=company.currency_id) ]])
@@ -119,7 +118,7 @@
Taxes :
- [[o.state=='cancel' and o.statement_ids and '-' or '']][['%.2f' % o.amount_tax]] [[company.currency_id.symbol]]
+ [[o.state=='cancel' and o.statement_ids and '-' or '']][[formatLang(o.amount_tax, currency_obj=company.currency_id)]]
@@ -129,7 +128,7 @@
Total :
- [[o.state=='cancel' and o.statement_ids and '-' or '']][['%.2f' % o.amount_total]] [[company.currency_id.symbol]]
+ [[o.state=='cancel' and o.statement_ids and '-' or '']][[formatLang(o.amount_total, currency_obj=company.currency_id)]]
@@ -158,7 +157,7 @@
- [[ '%.2f' %(d['amt'] or 0) ]] [[company.currency_id.symbol]]
+ [[ formatLang(d['amt'] or 0, currency_obj=company.currency_id) ]]
diff --git a/addons/process/static/src/js/process.js b/addons/process/static/src/js/process.js
index c593c1569fc..386a9653c02 100644
--- a/addons/process/static/src/js/process.js
+++ b/addons/process/static/src/js/process.js
@@ -239,7 +239,7 @@ instance.web.ViewManager.include({
title: _t('Process')
});
var form_controller = pop.view_form;
- pop.on('on_write_complete', self, self.initialize_process_view);
+ pop.on('write_completed', self, self.initialize_process_view);
}
});
};
diff --git a/addons/procurement/__openerp__.py b/addons/procurement/__openerp__.py
index a1aed1dfba8..48569fa76c4 100644
--- a/addons/procurement/__openerp__.py
+++ b/addons/procurement/__openerp__.py
@@ -57,7 +57,7 @@ depending on the product's configuration.
'company_view.xml',
'board_mrp_procurement_view.xml',
],
- 'demo': ['stock_orderpoint.xml'],
+ 'demo': ['stock_orderpoint.xml','procurement_demo.xml'],
'test': ['test/procurement.yml'],
'installable': True,
'auto_install': True,
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 5d81bcbb9ba..b21cef30773 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -102,7 +102,6 @@ class procurement_order(osv.osv):
'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', states={'draft':[('readonly',False)], 'confirmed':[('readonly',False)]},
readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \
" a make to order method."),
-
'note': fields.text('Note'),
'message': fields.char('Latest error', size=124, help="Exception occurred while computing procurement orders."),
'state': fields.selection([
@@ -362,11 +361,10 @@ class procurement_order(osv.osv):
""" Changes procurement state to Running and writes message.
@return: True
"""
- message = _('From stock: products assigned.')
+ message = _('Products reserved from stock.')
self.write(cr, uid, ids, {'state': 'running',
'message': message}, context=context)
self.message_post(cr, uid, ids, body=message, context=context)
- self.running_send_note(cr, uid, ids, context=context)
return True
def _check_make_to_stock_service(self, cr, uid, procurement, context=None):
@@ -390,8 +388,6 @@ class procurement_order(osv.osv):
order_point_id = self.pool.get('stock.warehouse.orderpoint').search(cr, uid, [('product_id', '=', procurement.product_id.id)], context=context)
if not order_point_id and not ok:
message = _("Not enough stock and no minimum orderpoint rule defined.")
- elif not order_point_id:
- message = _("No minimum orderpoint rule defined.")
elif not ok:
message = _("Not enough stock.")
@@ -407,7 +403,6 @@ class procurement_order(osv.osv):
"""
for procurement in self.browse(cr, uid, ids, context=context):
self.write(cr, uid, [procurement.id], {'state': 'running'})
- self.running_send_note(cr, uid, ids, context=None)
return True
def action_produce_assign_product(self, cr, uid, ids, context=None):
@@ -469,7 +464,6 @@ class procurement_order(osv.osv):
@return: True
"""
res = self.write(cr, uid, ids, {'state': 'ready'})
- self.ready_send_note(cr, uid, ids, context=None)
return res
def action_done(self, cr, uid, ids):
@@ -503,12 +497,6 @@ class procurement_order(osv.osv):
def confirm_send_note(self, cr, uid, ids, context=None):
self.message_post(cr, uid, ids, body=_("Procurement confirmed."), context=context)
- def running_send_note(self, cr, uid, ids, context=None):
- self.message_post(cr, uid, ids, body=_("Procurement set to running."), context=context)
-
- def ready_send_note(self, cr, uid, ids, context=None):
- self.message_post(cr, uid, ids, body=_("Procurement set to ready."), context=context)
-
def cancel_send_note(self, cr, uid, ids, context=None):
self.message_post(cr, uid, ids, body=_("Procurement cancelled."), context=context)
@@ -641,7 +629,18 @@ class stock_warehouse_orderpoint(osv.osv):
})
return super(stock_warehouse_orderpoint, self).copy(cr, uid, id, default, context=context)
-stock_warehouse_orderpoint()
+class product_template(osv.osv):
+ _inherit="product.template"
+
+ _columns = {
+ 'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Will change the way procurements are processed. Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual."),
+ 'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."),
+ 'supply_method': fields.selection([('produce','Manufacture'),('buy','Buy')], 'Supply Method', required=True, help="Produce will generate production order or tasks, according to the product type. Buy will trigger purchase orders when requested."),
+ }
+ _defaults = {
+ 'procure_method': 'make_to_stock',
+ 'supply_method': 'buy',
+ }
class product_product(osv.osv):
_inherit="product.product"
@@ -649,6 +648,6 @@ class product_product(osv.osv):
'orderpoint_ids': fields.one2many('stock.warehouse.orderpoint', 'product_id', 'Minimum Stock Rules'),
}
-product_product()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/procurement/procurement_demo.xml b/addons/procurement/procurement_demo.xml
new file mode 100644
index 00000000000..608eb56f3ba
--- /dev/null
+++ b/addons/procurement/procurement_demo.xml
@@ -0,0 +1,204 @@
+
+
+
+
+
+ make_to_order
+ produce
+
+
+
+ make_to_order
+ produce
+
+
+
+ product
+ make_to_order
+ produce
+
+
+
+ product
+ make_to_order
+ produce
+
+
+
+ product
+ make_to_order
+ produce
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+ make_to_order
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+ make_to_order
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+ make_to_order
+ produce
+
+
+
+ product
+
+
+
+ product
+ make_to_order
+ produce
+
+
+
+ product
+ make_to_order
+ produce
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+ make_to_order
+ produce
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+ make_to_order
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+ make_to_order
+
+
+
+ product
+
+
+
+ product
+
+
+
+ make_to_order
+ produce
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+ product
+
+
+
+
+
\ No newline at end of file
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index bf73b383216..973a09477fc 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -294,6 +294,29 @@
stock.warehouse.orderpoint
+
+ product.template.procurement
+ product.template
+
+
+
+
+
+
+
+
+
+
+ product.search.procurment.form
+ product.product
+
+
+
+
+
+
+
+
product.product.procurementproduct.product
@@ -303,6 +326,33 @@
+
+
+
+
+
+
+
+ When you sell this service, nothing special will be triggered
+ to deliver the customer, as you set the procurement method as
+ 'Make to Stock'.
+
+
+ When you sell this product, OpenERP will use the available
+ inventory for the delivery order.
+
+ If there are not enough quantities available, the delivery order
+ will wait for new products. To fulfill the inventory, you should
+ create others rules like orderpoints.
+
+
+ When you sell this product, a delivery order will be created.
+ OpenERP will consider that the required quantities are always
+ available as it's a consumable (as a result of this, the quantity
+ on hand may become negative).
+
+
+
diff --git a/addons/product/product.py b/addons/product/product.py
index d5acee0333b..6c6c5f2650c 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -109,8 +109,8 @@ class product_uom(osv.osv):
_order = "name"
_columns = {
- 'name': fields.char('Name', size=64, required=True, translate=True),
- 'category_id': fields.many2one('product.uom.categ', 'Unit of Measure Category', required=True, ondelete='cascade',
+ 'name': fields.char('Unit of Measure', size=64, required=True, translate=True),
+ 'category_id': fields.many2one('product.uom.categ', 'Category', required=True, ondelete='cascade',
help="Quantity conversions may happen automatically between Units of Measure in the same category, according to their respective ratios."),
'factor': fields.float('Ratio', required=True,digits=(12, 12),
help='How many times this Unit of Measure is smaller than the reference Unit of Measure in this category:\n'\
@@ -126,7 +126,7 @@ class product_uom(osv.osv):
'active': fields.boolean('Active', help="By unchecking the active field you can disable a unit of measure without deleting it."),
'uom_type': fields.selection([('bigger','Bigger than the reference Unit of Measure'),
('reference','Reference Unit of Measure for this category'),
- ('smaller','Smaller than the reference Unit of Measure')],'Unit of Measure Type', required=1),
+ ('smaller','Smaller than the reference Unit of Measure')],'Type', required=1),
}
_defaults = {
@@ -280,11 +280,8 @@ class product_template(osv.osv):
'description': fields.text('Description',translate=True),
'description_purchase': fields.text('Purchase Description',translate=True),
'description_sale': fields.text('Sale Description',translate=True),
- 'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Will change the way procurements are processed. Consumable are product where you don't manage stock."),
- 'supply_method': fields.selection([('produce','Manufacture'),('buy','Buy')], 'Supply Method', required=True, help="Produce will generate production order or tasks, according to the product type. Buy will trigger purchase orders when requested."),
- 'sale_delay': fields.float('Customer Lead Time', help="This is the average delay in days between the confirmation of the customer order and the delivery of the finished products. It's the time you promise to your customers."),
+ 'type': fields.selection([('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual."),
'produce_delay': fields.float('Manufacturing Lead Time', help="Average delay in days to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different lead times will be summed for all levels and purchase orders."),
- 'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."),
'rental': fields.boolean('Can be Rent'),
'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]" ,help="Select category for the current product"),
'list_price': fields.float('Sale Price', digits_compute=dp.get_precision('Product Price'), help="Base price for computing the customer price. Sometimes called the catalog price."),
@@ -296,7 +293,6 @@ class product_template(osv.osv):
help="Standard Price: the cost price is fixed and recomputed periodically (usually at the end of the year), Average Price: the cost price is recomputed at each reception of products."),
'warranty': fields.float('Warranty'),
'sale_ok': fields.boolean('Can be Sold', help="Determines if the product can be visible in the list of product within a selection from a sale order line."),
- 'purchase_ok': fields.boolean('Can be Purchased', help="Determine if the product is visible in the list of products within a selection from a purchase order line."),
'state': fields.selection([('',''),
('draft', 'In Development'),
('sellable','Normal'),
@@ -309,11 +305,8 @@ class product_template(osv.osv):
'uos_coeff': fields.float('Unit of Measure -> UOS Coeff', digits_compute= dp.get_precision('Product UoS'),
help='Coefficient to convert Unit of Measure to UOS\n'
' uos = uom * coeff'),
- 'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type', required=True),
+ 'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type'),
'seller_ids': fields.one2many('product.supplierinfo', 'product_id', 'Partners'),
- 'loc_rack': fields.char('Rack', size=16),
- 'loc_row': fields.char('Row', size=16),
- 'loc_case': fields.char('Case', size=16),
'company_id': fields.many2one('res.company', 'Company', select=1),
}
@@ -351,21 +344,17 @@ class product_template(osv.osv):
_defaults = {
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'product.template', context=c),
- 'list_price': lambda *a: 1,
- 'cost_method': lambda *a: 'standard',
- 'supply_method': lambda *a: 'buy',
- 'standard_price': lambda *a: 0.0,
- 'sale_ok': lambda *a: 1,
- 'sale_delay': lambda *a: 7,
- 'produce_delay': lambda *a: 1,
- 'purchase_ok': lambda *a: 1,
- 'procure_method': lambda *a: 'make_to_stock',
+ 'list_price': 1,
+ 'cost_method': 'standard',
+ 'standard_price': 0.0,
+ 'sale_ok': 1,
+ 'produce_delay': 1,
'uom_id': _get_uom_id,
'uom_po_id': _get_uom_id,
- 'uos_coeff' : lambda *a: 1.0,
- 'mes_type' : lambda *a: 'fixed',
+ 'uos_coeff' : 1.0,
+ 'mes_type' : 'fixed',
'categ_id' : _default_category,
- 'type' : lambda *a: 'consu',
+ 'type' : 'consu',
}
def _check_uom(self, cursor, user, ids, context=None):
diff --git a/addons/product/product_data.xml b/addons/product/product_data.xml
index 1974acc6df2..8e5280d036a 100644
--- a/addons/product/product_data.xml
+++ b/addons/product/product_data.xml
@@ -197,7 +197,6 @@ parameter) will see those record just disappear.
Serviceservice
-
diff --git a/addons/product/product_demo.xml b/addons/product/product_demo.xml
index 66b86fc7b63..14477d2401a 100644
--- a/addons/product/product_demo.xml
+++ b/addons/product/product_demo.xml
@@ -70,8 +70,6 @@
20.530.75service
- make_to_order
- produceThis type of service include basic monitoring of products.
@@ -84,8 +82,6 @@
25.538.25service
- make_to_order
- produceThis type of service include assistance for security questions, system configuration requirements, implementation or special needs.
@@ -97,9 +93,7 @@
450.0300.0
- product
- make_to_order
- produce
+ consu4.0
@@ -115,9 +109,8 @@ HDD SH-1500.0750.0
- product
- make_to_order
- produce
+ consu
+
4.0
@@ -133,9 +126,7 @@ HDD SH-1600.0900.0
- product
- make_to_order
- produce
+ consu7.0
@@ -148,7 +139,7 @@ HDD SH-1
800.01200.0
- product
+ consu
@@ -158,7 +149,7 @@ HDD SH-1
880.01350.0
- product
+ consu
@@ -168,7 +159,7 @@ HDD SH-1
10.013.0
- product
+ consu
@@ -178,8 +169,7 @@ HDD SH-1
10.013.0
- product
- make_to_order
+ consu
@@ -189,7 +179,7 @@ HDD SH-1
12.5014
- product
+ consu
@@ -199,7 +189,7 @@ HDD SH-1
1416.50
- product
+ consu
@@ -209,8 +199,7 @@ HDD SH-1
1812.50
- product
- make_to_order
+ consu
@@ -220,7 +209,7 @@ HDD SH-1
78.085.0
- product
+ consu
@@ -230,7 +219,7 @@ HDD SH-1
87.095.0
- product
+ consu
@@ -240,7 +229,7 @@ HDD SH-1
80.085.0
- product
+ consu
@@ -250,9 +239,7 @@ HDD SH-1
20.025.0
- product
- make_to_order
- produce
+ consu
@@ -262,7 +249,7 @@ HDD SH-1
860.0975.0
- product
+ consu
@@ -272,9 +259,7 @@ HDD SH-1
1020.01150.0
- product
- make_to_order
- produce
+ consu
@@ -284,9 +269,7 @@ HDD SH-1
1100.01250.0
- product
- make_to_order
- produce
+ consuOn demand hard-disk having capacity based on requirement.
@@ -297,7 +280,7 @@ HDD SH-1
1700.01950.0
- product
+ consu
@@ -307,7 +290,7 @@ HDD SH-1
1790.02000.0
- product
+ consu
@@ -317,7 +300,7 @@ HDD SH-1
2010.02100.0
- product
+ consu
@@ -327,7 +310,7 @@ HDD SH-1
1910.01980.0
- product
+ consu
@@ -337,7 +320,7 @@ HDD SH-1
876.0885.0
- product
+ consu
@@ -347,7 +330,7 @@ HDD SH-1
2870.02950.0
- product
+ consu17" Monitor
@@ -361,7 +344,7 @@ QWERTY keyboard3000.03245.0
- product
+ consu17" Monitor
@@ -375,9 +358,7 @@ QWERTY keyboard3300.03645.0
- product
- make_to_order
- produce
+ consuCustom Laptop based on customer's requirement.
@@ -388,7 +369,7 @@ QWERTY keyboard
390.0405.0
- product
+ consu
@@ -399,7 +380,7 @@ QWERTY keyboard
90.0100.0
- product
+ consu
@@ -410,7 +391,7 @@ QWERTY keyboard
126.0145.0
- product
+ consu
@@ -420,7 +401,7 @@ QWERTY keyboard
134.0150.0
- product
+ consu.
@@ -431,7 +412,7 @@ QWERTY keyboard
57.062.0
- product
+ consuHands free headset for laptop PC with in-line microphone and headphone plug.
@@ -442,8 +423,7 @@ QWERTY keyboard
60.065.0
- product
- make_to_order
+ consuHeadset for laptop PC with USB connector.
@@ -455,7 +435,7 @@ QWERTY keyboard
38.045.0
- product
+ consu
@@ -466,7 +446,7 @@ QWERTY keyboard
18.4020.0
- product
+ consu
@@ -477,7 +457,7 @@ QWERTY keyboard
21.6024.0
- product
+ consu
@@ -488,8 +468,7 @@ QWERTY keyboard
4258.04410.0
- product
- make_to_order
+ consuAll in one hi-speed printer with fax and scanner.
@@ -501,7 +480,7 @@ QWERTY keyboard
60.065.0
- product
+ consu
@@ -512,7 +491,7 @@ QWERTY keyboard
66.070.0
- product
+ consu
@@ -569,8 +548,6 @@ QWERTY keyboard
155.0173.0consu
- make_to_order
- produceFull featured image editing software.
@@ -582,7 +559,7 @@ QWERTY keyboard
55.060.0
- product
+ consu
@@ -593,7 +570,7 @@ QWERTY keyboard
35.040.0
- product
+ consu
@@ -604,7 +581,7 @@ QWERTY keyboard
55.070.0
- product
+ consu
@@ -615,7 +592,7 @@ QWERTY keyboard
13.018.0
- product
+ consu
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index 8c19aee026f..748d6c5d7cf 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -10,11 +10,9 @@
-
+
-
-
@@ -60,7 +58,7 @@