[MERGE]: merge with lp:~openerp-dev/openobject-addons/ron-dev-addons2

bzr revid: rpa@tinyerp.com-20101118084254-r8rlpp12hd24jsng
This commit is contained in:
rpa (Open ERP) 2010-11-18 14:12:54 +05:30
commit 0ea8b6a3f5
5 changed files with 80 additions and 30 deletions

View File

@ -654,7 +654,7 @@ class product_supplierinfo(osv.osv):
return res and res[0] or False
_columns = {
'name' : fields.many2one('res.partner', 'Supplier', required=True, ondelete='cascade', help="Supplier of this product"),
'name' : fields.many2one('res.partner', 'Supplier', required=True,domain = [('supplier','=',True)], ondelete='cascade', help="Supplier of this product"),
'product_name': fields.char('Supplier Product Name', size=128, help="This supplier's product name will be used when printing a request for quotation. Keep empty to use the internal one."),
'product_code': fields.char('Supplier Product Code', size=64, help="This supplier's product code will be used when printing a request for quotation. Keep empty to use the internal one."),
'sequence' : fields.integer('Sequence', help="Assigns the priority to the list of product supplier."),

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!--
Resource: product.category
<!--
Resource: product.category
-->
<record id="cat1" model="product.category">
<field name="parent_id" ref="product.cat0"/>
<field name="name">Sellable</field>
@ -55,37 +55,37 @@
<record id="product_category_marketableproduct0" model="product.category">
<field name="name">Marketable Products</field>
</record>
<record id="product_category_shelves0" model="product.category">
<field name="parent_id" ref="product_category_marketableproduct0"/>
<field name="name">Shelves</field>
</record>
<record id="product_category_otherproducts0" model="product.category">
<field name="name">Other Products</field>
</record>
<record id="product_category_rawmaterial0" model="product.category">
<field name="parent_id" ref="product_category_otherproducts0"/>
<field name="name">Raw Materials</field>
</record>
<record id="product_category_services0" model="product.category">
<field name="parent_id" ref="product_category_marketableproduct0"/>
<field name="name">Marketable Services</field>
</record>
<record id="product_category_misc0" model="product.category">
<field name="parent_id" ref="product_category_otherproducts0"/>
<field name="name">Misc</field>
</record>
<record id="product_ul_box" model="product.ul">
<field name="name">Box 20x20x40</field>
<field name="type">box</field>
@ -94,11 +94,11 @@
<field name="name">Box 30x40x60</field>
<field name="type">box</field>
</record>
<!--
Resource: product.product
-->
<record id="product_product_0" model="product.product">
<field name="list_price">38.25</field>
<field name="standard_price">25.5</field>
@ -126,6 +126,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">2.0</field>
<field name="name">Basic PC</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_pc"/>
</record>
<record id="product_product_pc2" model="product.product">
@ -138,6 +139,7 @@
<field name="procure_method">make_to_order</field>
<field name="sale_delay">18.0</field>
<field name="name">Basic+ PC (assembly on order)</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_pc"/>
</record>
<record id="product_product_pc3" model="product.product">
@ -149,6 +151,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">3.0</field>
<field name="name">Medium PC</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_pc"/>
</record>
<record id="product_product_pc4" model="product.product">
@ -160,6 +163,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="procure_method">make_to_order</field>
<field name="name">Customizable PC</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_pc"/>
<field name="state">end</field>
</record>
@ -171,6 +175,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">Mainboard ASUStek A7N8X</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_mb2" model="product.product">
@ -181,6 +186,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">Mainboard ASUStek A7V8X-X</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
<field name="state">draft</field>
</record>
@ -192,6 +198,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">Processor AMD Athlon XP 1800+</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_cpu3" model="product.product">
@ -202,6 +209,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">Processor AMD Athlon XP 2200+</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_hdd1" model="product.product">
@ -212,6 +220,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">HDD Seagate 7200.8 80GB</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_hdd2" model="product.product">
@ -222,6 +231,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">HDD Seagate 7200.8 120GB</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_hdd3" model="product.product">
@ -233,6 +243,7 @@
<field name="procure_method">make_to_order</field>
<field name="sale_delay">1.0</field>
<field name="name">HDD Seagate 7200.8 160GB</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_fan" model="product.product">
@ -243,6 +254,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">Regular case fan 80mm</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_fan2" model="product.product">
@ -253,6 +265,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">Silent fan</field>
<field name="type">product</field>
<field name="categ_id" ref="cat1"/>
</record>
<record id="product_product_cpu_gen" model="product.product">
@ -265,6 +278,7 @@
<field name="sale_delay">1.0</field>
<field name="name">Regular processor config</field>
<field name="procure_method">make_to_order</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_ram" model="product.product">
@ -275,6 +289,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">DDR 256MB PC400</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_pc"/>
</record>
<record id="product_product_ram512" model="product.product">
@ -285,6 +300,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">DDR 512MB PC400</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_cpu2" model="product.product">
@ -297,6 +313,7 @@
<field name="procure_method">make_to_order</field>
<field name="sale_delay">1.0</field>
<field name="name">High speed processor config</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_tow1" model="product.product">
@ -307,6 +324,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">1.0</field>
<field name="name">ATX Mid-size Tower</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_20" model="product.product">
@ -319,6 +337,7 @@
<field name="procure_method">make_to_order</field>
<field name="sale_delay">1.0</field>
<field name="name">HDD on demand</field>
<field name="type">product</field>
<field eval="False" name="sale_ok"/>
<field name="categ_id" ref="product_category_10"/>
</record>
@ -331,6 +350,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">RAM on demand</field>
<field eval="False" name="sale_ok"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_22" model="product.product">
@ -341,6 +361,7 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Processor on demand</field>
<field name="type">product</field>
<field eval="False" name="sale_ok"/>
<field name="categ_id" ref="product_category_10"/>
</record>
@ -352,6 +373,7 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Complete PC With Peripherals</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_24" model="product.product">
@ -362,6 +384,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Keyboard</field>
<field name="variants">AZERTY</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_25" model="product.product">
@ -371,6 +394,7 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Mouse</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_10"/>
</record>
<record id="product_product_26" model="product.product">
@ -381,6 +405,7 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Kit Keyboard + Mouse</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_11"/>
</record>
@ -396,9 +421,10 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Shelf of 100cm</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_shelves0"/>
</record>
<record id="product_product_shelfofcm1" model="product.product">
<field name="default_code">SHE200</field>
<field name="supply_method">produce</field>
@ -408,6 +434,7 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Shelf of 200cm</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_shelves0"/>
</record>
<record id="product_product_woodmm0" model="product.product">
@ -419,6 +446,7 @@
<field name="name">Wood 2mm</field>
<field eval="10" name="seller_delay"/>
<field eval="7.0" name="sale_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_rawmaterial0"/>
</record>
@ -452,12 +480,13 @@
<field name="default_code">REST</field>
<field name="supply_method">produce</field>
<field eval="'make_to_order'" name="procure_method"/>
<field name="type">consu</field>
<field name="type">product</field>
<field name="list_price">1.0</field>
<field name="standard_price">1.0</field>
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Restaurant Expenses</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_otherproducts0"/>
</record>
@ -467,7 +496,7 @@
<field name="type">service</field>
<field eval="'make_to_order'" name="procure_method"/>
<field eval="0" name="sale_ok"/>
<field eval="1" name="purchase_ok"/>
<field eval="1" name="purchase_ok"/>
<field name="standard_price">20.0</field>
<field name="uom_id" ref="uom_hour"/>
<field name="uom_po_id" ref="uom_hour"/>
@ -484,6 +513,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Rear Panel SHE100</field>
<field eval="5" name="seller_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -496,6 +526,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Rear Panel SHE200</field>
<field eval="5" name="seller_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -508,6 +539,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Side Panel</field>
<field eval="5" name="seller_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -520,6 +552,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Rack 100cm</field>
<field eval="8" name="seller_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -532,6 +565,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Rack 200cm</field>
<field eval="8" name="seller_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -544,6 +578,7 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Assembly Section</field>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -556,6 +591,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Wood Lintel 4m</field>
<field eval="10" name="seller_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -567,6 +603,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">Metal Cleats</field>
<field eval="20" name="seller_delay"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_misc0"/>
</record>
@ -574,7 +611,7 @@
<field name="default_code">HOT</field>
<field name="supply_method">produce</field>
<field eval="'make_to_order'" name="procure_method"/>
<field name="type">consu</field>
<field name="type">product</field>
<field name="list_price">1.0</field>
<field name="standard_price">1.0</field>
<field name="uom_id" ref="product_uom_unit"/>
@ -593,6 +630,7 @@
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="name">KIT Shelf of 100cm</field>
<field eval="0" name="purchase_ok"/>
<field name="type">product</field>
<field name="categ_id" ref="product_category_shelves0"/>
</record>

View File

@ -646,6 +646,11 @@ class purchase_order_line(osv.osv):
return {'value': {'price_unit': price_unit or 0.0, 'name': name or '',
'notes': notes or'', 'product_uom' : uom or False}, 'domain':{'product_uom':[]}}
prod= self.pool.get('product.product').browse(cr, uid, product)
if prod.product_tmpl_id.seller_ids:
seller_get_id = prod.product_tmpl_id.seller_ids[0].name.id
else:
seller_get_id = False
lang=False
if partner_id:
lang=self.pool.get('res.partner').read(cr, uid, partner_id, ['lang'])['lang']
@ -675,8 +680,15 @@ class purchase_order_line(osv.osv):
'date': date_order,
})[pricelist]
dt = (datetime.now() + relativedelta(days=int(seller_delay) or 0.0)).strftime('%Y-%m-%d %H:%M:%S')
prod_name = self.pool.get('product.product').name_get(cr, uid, [prod.id])[0][1]
if seller_get_id == partner_id:
prod_suppl_name = self.pool.get('product.product').browse(cr, uid, prod.id).seller_ids[0].product_name
prod_suppl_code = self.pool.get('product.product').browse(cr, uid, prod.id).seller_ids[0].product_code
if prod_suppl_name == False or prod_suppl_code == False:
prod_name = self.pool.get('product.product').name_get(cr, uid, [prod.id])[0][1]
else:
prod_name= '[' + prod_suppl_code + '] '+ prod_suppl_name
else:
prod_name = self.pool.get('product.product').name_get(cr, uid, [prod.id])[0][1]
res = {'value': {'price_unit': price, 'name': name or prod_name,
'taxes_id':map(lambda x: x.id, prod.supplier_taxes_id),

View File

@ -5,17 +5,17 @@
<!--Resource: purchase.order-->
<record id="order_purchase1" model="purchase.order">
<field model="stock.location" name="location_id" search="[]"/>
<field name="location_id" ref="stock.stock_location_stock"/>
<field model="product.pricelist" name="pricelist_id" search="[]"/>
<field model="res.partner" name="partner_id" search="[('supplier','=','True')]" />
<field model="res.partner.address" name="partner_address_id" search="[]"/>
<field name="partner_id" ref="base.res_partner_asus"/>
<field name="partner_address_id" ref="base.res_partner_address_tang"/>
</record>
<record id="order_purchase2" model="purchase.order">
<field model="stock.location" name="location_id" search="[]"/>
<field name="location_id" ref="stock.stock_location_stock"/>
<field model="product.pricelist" name="pricelist_id" search="[]"/>
<field model="res.partner" name="partner_id" search="[('supplier','=','True')]" />
<field model="res.partner.address" name="partner_address_id" search="[]"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="partner_address_id" ref="base.res_partner_address_zen"/>
</record>
<!--Resource: purchase.order.line-->

View File

@ -632,7 +632,7 @@ class stock_picking(osv.osv):
'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}),
'auto_picking': fields.boolean('Auto-Picking'),
'address_id': fields.many2one('res.partner.address', 'Address', help="Address of partner"),
'partner_id': fields.related('address_id','partner_id',type='many2one',relation='res.partner',string='Partner'),
'partner_id': fields.related('address_id','partner_id',type='many2one',relation='res.partner',string='Partner',store=True),
'invoice_state': fields.selection([
("invoiced", "Invoiced"),
("2binvoiced", "To Be Invoiced"),