In below example I have written Python script to Include the default begin date in OpenERP. You can directly use the below sales module in your addons and run in Odoo server.
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import SUPERUSER_ID
from openerp import api
class sup_brand(osv.osv):
_name = "supplier.brand"
_rec_name = "supplier_brand"
_columns = {
'supplier_brand':fields.char('Supplier Brand'),
}
sup_brand()
class sup_refrence(osv.osv):
_name = "supplier.refrence"
_rec_name = "item_list"
_columns = {
'item_list' : fields.char('Supplier reference'),
}
sup_refrence()
class colour_code(osv.osv):
_name = "colour.code"
_rec_name = "color_code"
_columns = {
'color_code':fields.char('Color Code'),
}
colour_code()
class colour_name(osv.osv):
_name = "colour.name"
_rec_name = "color_name"
_columns = {
'color_name':fields.char('Color Name'),
}
colour_name()
class product_template(osv.osv):
_name = "product.template"
_inherit = "product.template"
_columns = {
'l_price': fields.float('Lower Price'),
'supp_ref' : fields.char('I Type'),
'project_price' : fields.float('Project Price'),
'distributor_pirce' : fields.float('Distributor price'),
'squ_meter':fields.float('Square Meter', digits=(8,3)),
'qty_warehous_onhand': fields.float('Qty Sqm in Warehouse', compute='_compute_qty_warehous_onhand', require = True),
'qty_available_onhand': fields.float('Qty Sqm Available', compute='_compute_qty_available_onhand', require = True),
'qty_avb':fields.related('qty_available', relation='product.product', string='Quantity on Hand'),
'qty_avl':fields.related('virtual_available', relation='product.product', string='Quantity on Hand'),
'opening_stock':fields.float('Opening Stock'),
'size':fields.char('Size'),
'unit_measure':fields.char('Unit Of Measure'),
'item_list' : fields.many2one('supplier.refrence','Supplier reference'),
'supplier_brand':fields.many2one('supplier.brand','Supplier Brand'),
'color_code':fields.many2one('colour.code','Color Code'),
'color_name':fields.many2one('colour.name','Color Name'),
}
def button_dummy(self, cr, uid, ids, context=None):
return True
@api.depends('qty_avb','squ_meter')
def _compute_qty_warehous_onhand(self):
for record in self:
print "sssssssss", record.qty_avb
print "sssssssss", record.squ_meter
print "sssssssss", record._compute_qty_warehous_onhand
record.qty_warehous_onhand = record.qty_avb * record.squ_meter
@api.depends('qty_avl', 'squ_meter')
def _compute_qty_available_onhand(self):
for record in self:
record.qty_available_onhand = record.qty_avl * record.squ_meter
# print "plsssssssssssssssss", record.qty_warehous_onhand
product_template()
class product_product(osv.osv):
_name = "product.product"
_inherit = "product.product"
def name_get(self, cr, user, ids, context=None):
if context is None:
context = {}
if isinstance(ids, (int, long)):
ids = [ids]
if not len(ids):
return []
def _name_get(d):
name = d.get('name','')
code = context.get('display_default_code', True) and d.get('default_code',False) or False
item_list = d.get('item_list', '')
print item_list , 'the following is the supplier refrence code'
# if code:
# name = '[%s] %s' % (code,name)
# return (d['id'], name)
if item_list:
name = '[%s] - [%s] %s' % (code,item_list,name)
return (d['id'], name)
partner_id = context.get('partner_id', False)
if partner_id:
partner_ids = [partner_id, self.pool['res.partner'].browse(cr, user, partner_id, context=context).commercial_partner_id.id]
else:
partner_ids = []
# all user don't have access to seller and partner
# check access and use superuser
self.check_access_rights(cr, user, "read")
self.check_access_rule(cr, user, ids, "read", context=context)
result = []
for product in self.browse(cr, SUPERUSER_ID, ids, context=context):
variant = ", ".join([v.name for v in product.attribute_value_ids])
name = variant and "%s (%s)" % (product.name, variant) or product.name
sellers = []
if partner_ids:
sellers = filter(lambda x: x.name.id in partner_ids, product.seller_ids)
if sellers:
for s in sellers:
seller_variant = s.product_name and (
variant and "%s (%s)" % (s.product_name, variant) or s.product_name
) or False
mydict = {
'id': product.id,
'name': seller_variant or name,
'default_code': s.product_code or product.default_code,
'item_list' : product.item_list,
}
result.append(_name_get(mydict))
else:
mydict = {
'id': product.id,
'name': name,
'default_code': product.default_code,
'item_list' : product.item_list,
}
result.append(_name_get(mydict))
return result
product_product()
0 Comment(s)