[Fix]sale: remove res.address.partner.address

bzr revid: kjo@tinyerp.com-20120305132543-92ba124cpg4zbrix
This commit is contained in:
Kuldeep Joshi (OpenERP) 2012-03-05 18:55:43 +05:30
parent 9d8c3f8983
commit 50997f9fe8
12 changed files with 20 additions and 53 deletions

View File

@ -68,7 +68,7 @@ class sale_order(osv.osv, EDIMixin):
"""Exports a Sale order"""
edi_struct = dict(edi_struct or SALE_ORDER_EDI_STRUCT)
res_company = self.pool.get('res.company')
res_partner_address = self.pool.get('res.partner.address')
res_partner_address = self.pool.get('res.partner')
edi_doc_list = []
for order in records:
# generate the main report
@ -82,7 +82,7 @@ class sale_order(osv.osv, EDIMixin):
'__import_module': 'purchase',
'company_address': res_company.edi_export_address(cr, uid, order.company_id, context=context),
'partner_address': res_partner_address.edi_export(cr, uid, [order.partner_order_id], context=context)[0],
'partner_id': res_partner_address.edi_export(cr, uid, [order.partner_id], context=context)[0],
'currency': self.pool.get('res.currency').edi_export(cr, uid, [order.pricelist_id.currency_id],
context=context)[0],
@ -99,7 +99,6 @@ class sale_order(osv.osv, EDIMixin):
# the desired company among the user's allowed companies
self._edi_requires_attributes(('company_id','company_address'), edi_document)
res_partner_address = self.pool.get('res.partner.address')
res_partner = self.pool.get('res.partner')
# imported company = as a new partner
@ -111,16 +110,15 @@ class sale_order(osv.osv, EDIMixin):
# imported company_address = new partner address
address_info = edi_document.pop('company_address')
address_info['partner_id'] = (src_company_id, src_company_name)
# address_info['partner_id'] = (src_company_id, src_company_name)
address_info['type'] = 'default'
address_id = res_partner_address.edi_import(cr, uid, address_info, context=context)
address_id = res_partner.edi_import(cr, uid, address_info, context=context)
# modify edi_document to refer to new partner/address
partner_address = res_partner_address.browse(cr, uid, address_id, context=context)
edi_document['partner_id'] = (src_company_id, src_company_name)
partner_address = res_partner.browse(cr, uid, address_id, context=context)
# edi_document['partner_id'] = (src_company_id, src_company_name)
edi_document.pop('partner_address', False) # ignored
address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context)
edi_document['partner_order_id'] = address_edi_m2o
edi_document['partner_invoice_id'] = address_edi_m2o
edi_document['partner_shipping_id'] = address_edi_m2o

View File

@ -46,7 +46,7 @@
<field name="body_html"><![CDATA[
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
<p>Hello${object.partner_order_id.name and ' ' or ''}${object.partner_order_id.name or ''},</p>
<p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p>
<p>Here is your order confirmation for ${object.partner_id.name}: </p>
@ -128,7 +128,7 @@
</div>
]]></field>
<field name="body_text"><![CDATA[
Hello${object.partner_order_id.name and ' ' or ''}${object.partner_order_id.name or ''},
Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},
Here is your order confirmation for ${object.partner_id.name}:
| Order number: *${object.name}*

View File

@ -173,12 +173,12 @@
</td>
<td>
<para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para>
<para style="terp_default_9">[[ o.partner_order_id and display_address(o.partner_order_id) ]] </para>
<para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="terp_default_9">Tel. : [[ (o.partner_order_id and o.partner_order_id.phone) or removeParentNode('para') ]]</para>
<para style="terp_default_9">Fax : [[ (o.partner_order_id and o.partner_order_id.fax) or removeParentNode('para') ]]</para>
<para style="terp_default_9">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para>
<para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para>
<para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para>
<para style="terp_default_9">
<font color="white"> </font>

View File

@ -215,9 +215,8 @@ class sale_order(osv.osv):
'date_confirm': fields.date('Confirmation Date', readonly=True, select=True, help="Date on which sales order is confirmed."),
'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True),
'partner_id': fields.many2one('res.partner', 'Customer', readonly=True, states={'draft': [('readonly', False)]}, required=True, change_default=True, select=True),
'partner_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."),
'partner_order_id': fields.many2one('res.partner.address', 'Ordering Contact', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="The name and address of the contact who requested the order or quotation."),
'partner_shipping_id': fields.many2one('res.partner.address', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."),
'partner_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."),
'partner_shipping_id': fields.many2one('res.partner', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."),
'incoterm': fields.many2one('stock.incoterms', 'Incoterm', help="Incoterm which stands for 'International Commercial terms' implies its a series of sales terms which are used in the commercial transaction."),
'picking_policy': fields.selection([('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')],
@ -279,7 +278,6 @@ class sale_order(osv.osv):
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'sale.order'),
'invoice_quantity': 'order',
'partner_invoice_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['invoice'])['invoice'],
'partner_order_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['contact'])['contact'],
'partner_shipping_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['delivery'])['delivery'],
}
_sql_constraints = [
@ -347,7 +345,7 @@ class sale_order(osv.osv):
def onchange_partner_id(self, cr, uid, ids, part):
if not part:
return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}}
return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'payment_term': False, 'fiscal_position': False}}
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['delivery', 'invoice', 'contact'])
part = self.pool.get('res.partner').browse(cr, uid, part)
@ -357,7 +355,6 @@ class sale_order(osv.osv):
dedicated_salesman = part.user_id and part.user_id.id or uid
val = {
'partner_invoice_id': addr['invoice'],
'partner_order_id': addr['contact'],
'partner_shipping_id': addr['delivery'],
'payment_term': payment_term,
'fiscal_position': fiscal_position,
@ -429,8 +426,6 @@ class sale_order(osv.osv):
'account_id': order.partner_id.property_account_receivable.id,
'partner_id': order.partner_id.id,
'journal_id': journal_ids[0],
'address_invoice_id': order.partner_invoice_id.id,
'address_contact_id': order.partner_order_id.id,
'invoice_line': [(6, 0, lines)],
'currency_id': order.pricelist_id.currency_id.id,
'comment': order.note,
@ -964,7 +959,7 @@ class sale_order_line(osv.osv):
'type': fields.selection([('make_to_stock', 'from stock'), ('make_to_order', 'on order')], 'Procurement Method', required=True, readonly=True, states={'draft': [('readonly', False)]},
help="If 'on order', it triggers a procurement when the sale order is confirmed to create a task, purchase order or manufacturing order linked to this sale order line."),
'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft': [('readonly', False)]}),
'address_allotment_id': fields.many2one('res.partner.address', 'Allotment Partner'),
'address_allotment_id': fields.many2one('res.partner', 'Allotment Partner'),
'product_uom_qty': fields.float('Quantity (UoM)', digits_compute= dp.get_precision('Product UoS'), required=True, readonly=True, states={'draft': [('readonly', False)]}),
'product_uom': fields.many2one('product.uom', 'Unit of Measure ', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'product_uos_qty': fields.float('Quantity (UoS)' ,digits_compute= dp.get_precision('Product UoS'), readonly=True, states={'draft': [('readonly', False)]}),

View File

@ -11,7 +11,6 @@
<field ref="base.res_partner_agrolait" name="partner_id"/>
<field ref="base.res_partner_address_8" name="partner_invoice_id"/>
<field ref="base.res_partner_address_8" name="partner_shipping_id"/>
<field ref="base.res_partner_address_8" name="partner_order_id"/>
<field name="order_policy">picking</field>
<field name="invoice_quantity">procurement</field>
<field name="note">Invoice after delivery</field>
@ -68,7 +67,6 @@
<field name="partner_id" ref="base.res_partner_2"/>
<field name="partner_invoice_id" ref="base.res_partner_address_9"/>
<field name="partner_shipping_id" ref="base.res_partner_address_9"/>
<field name="partner_order_id" ref="base.res_partner_address_9"/>
<field name="invoice_quantity">order</field>
<field name="order_policy">postpaid</field>
@ -104,7 +102,6 @@
<field name="partner_id" ref="base.res_partner_agrolait"/>
<field name="partner_invoice_id" ref="base.res_partner_address_8"/>
<field name="partner_shipping_id" ref="base.res_partner_address_8"/>
<field name="partner_order_id" ref="base.res_partner_address_8"/>
<field name="order_policy">prepaid</field>
</record>
<record id="line5" model="sale.order.line">
@ -137,7 +134,6 @@
<field name="partner_id" ref="base.res_partner_5"/>
<field name="partner_invoice_id" ref="base.res_partner_address_10"/>
<field name="partner_shipping_id" ref="base.res_partner_address_10"/>
<field name="partner_order_id" ref="base.res_partner_address_10"/>
</record>
<record id="line7" model="sale.order.line">
<field name="order_id" ref="order4"/>
@ -170,7 +166,6 @@
<field name="partner_id" ref="base.res_partner_3"/>
<field name="partner_invoice_id" ref="base.res_partner_address_zen"/>
<field name="partner_shipping_id" ref="base.res_partner_address_zen"/>
<field name="partner_order_id" ref="base.res_partner_address_zen"/>
</record>
<record id="line9" model="sale.order.line">
<field name="order_id" ref="order5"/>
@ -203,7 +198,6 @@
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="partner_invoice_id" ref="base.res_partner_address_wong"/>
<field name="partner_shipping_id" ref="base.res_partner_address_wong"/>
<field name="partner_order_id" ref="base.res_partner_address_wong"/>
</record>
<record id="order6_line0" model="sale.order.line">
<field name="order_id" ref="order6"/>
@ -237,7 +231,6 @@
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field name="partner_invoice_id" ref="base.res_partner_address_3000"/>
<field name="partner_shipping_id" ref="base.res_partner_address_3000"/>
<field name="partner_order_id" ref="base.res_partner_address_3000"/>
</record>
<record id="order7_line0" model="sale.order.line">
<field name="order_id" ref="order7"/>

View File

@ -7,9 +7,8 @@
<field model="product.pricelist" name="pricelist_id" search="[]"/>
<field name="user_id" ref="base.user_root"/>
<field model="res.partner" name="partner_id" search="[]"/>
<field model="res.partner.address" name="partner_invoice_id" search="[]"/>
<field model="res.partner.address" name="partner_shipping_id" search="[]"/>
<field model="res.partner.address" name="partner_order_id" search="[]"/>
<field model="res.partner" name="partner_invoice_id" search="[]"/>
<field model="res.partner" name="partner_shipping_id" search="[]"/>
</record>
<!-- Resource: sale.order.line -->
<record id="test_order_1_line_1" model="sale.order.line">

View File

@ -116,11 +116,10 @@
<notebook colspan="5">
<page string="Sales Order">
<field name="partner_id" options='{"quick_create": false}' on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/>
<field domain="[('partner_id','=',partner_id)]" name="partner_order_id" on_change="onchange_partner_order_id(partner_order_id, partner_invoice_id, partner_shipping_id)" options='{"quick_create": false}'/>
<field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended" options='{"quick_create": false}'/>
<field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended" options='{"quick_create": false}'/>
<field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" on_change="onchange_pricelist_id(pricelist_id,order_line)"/>
<field name="project_id" context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/>
<field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/>
<newline/>
<field colspan="4" name="order_line" nolabel="1" widget="one2many_list">
<form string="Sales Order Lines">

View File

@ -67,8 +67,6 @@ class stock_picking(osv.osv):
"""
invoice_vals = super(stock_picking, self)._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context)
if picking.sale_id:
invoice_vals['address_contact_id'] = picking.sale_id.partner_order_id.id
invoice_vals['address_invoice_id'] = picking.sale_id.partner_invoice_id.id
invoice_vals['fiscal_position'] = picking.sale_id.fiscal_position.id
invoice_vals['payment_term'] = picking.sale_id.payment_term.id
invoice_vals['user_id'] = picking.sale_id.user_id.id

View File

@ -4,7 +4,6 @@
!record {model: sale.order, id: sale_order_edi_1}:
partner_id: base.res_partner_agrolait
partner_invoice_id: base.res_partner_address_8invoice
partner_order_id: base.res_partner_address_8invoice
partner_shipping_id: base.res_partner_address_8invoice
pricelist_id: 1
order_line:
@ -56,7 +55,7 @@
"company_address": {
"__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.some_address",
"__module": "base",
"__model": "res.partner.address",
"__model": "res.partner",
"phone": "(+32).81.81.37.00",
"street": "Chaussee de Namur 40",
"city": "Gerompont",
@ -67,16 +66,7 @@
],
},
"partner_id": ["purchase:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_test20", "jones white"],
"partner_address": {
"__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_address_7wdsjasdjh",
"__module": "base",
"__model": "res.partner.address",
"phone": "(+32).81.81.37.00",
"street": "Chaussee de Namur 40",
"city": "Gerompont",
"zip": "1367",
"country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"],
},
"order_line": [{
"__id": "purchase:5af1272e-dd26-11e0-b65e-701a04e25543.purchase_order_line-AlhsVDZGoKvJ",
"__module": "purchase",

View File

@ -116,7 +116,6 @@
assert invoice.account_id.id == ac,"Invoice account is not correspond."
assert invoice.reference == order.client_order_ref or order.name,"Reference is not correspond."
assert invoice.partner_id.id == order.partner_id.id,"Customer is not correspond."
assert invoice.address_invoice_id.id == order.partner_invoice_id.id,"Invoice Address is not correspond."
assert invoice.currency_id.id == order.pricelist_id.currency_id.id, "Currency is not correspond."
assert invoice.comment == order.note or '',"Note is not correspond."
assert invoice.journal_id.id in journal_ids,"Sales Journal is not link on Invoice."

View File

@ -66,8 +66,6 @@ class sale_order_line_make_invoice(osv.osv_memory):
'reference': "P%dSO%d" % (order.partner_id.id, order.id),
'account_id': a,
'partner_id': order.partner_id.id,
'address_invoice_id': order.partner_invoice_id.id,
'address_contact_id': order.partner_invoice_id.id,
'invoice_line': [(6, 0, lines)],
'currency_id' : order.pricelist_id.currency_id.id,
'comment': order.note,

View File

@ -92,8 +92,6 @@ class sale_advance_payment_inv(osv.osv_memory):
'reference': False,
'account_id': sale.partner_id.property_account_receivable.id,
'partner_id': sale.partner_id.id,
'address_invoice_id': sale.partner_invoice_id.id,
'address_contact_id': sale.partner_order_id.id,
'invoice_line': [(6, 0, create_ids)],
'currency_id': sale.pricelist_id.currency_id.id,
'comment': '',