From 74b431298eb256034e71a924430554ac819d20fa Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 11 Dec 2012 19:29:34 +0100 Subject: [PATCH 1/2] [FIX] remove res.partner.address model bzr revid: chs@openerp.com-20121211182934-up3sxi0pcw20qrit --- openerp/addons/base/__openerp__.py | 3 +- openerp/addons/base/res/res_partner.py | 57 +------------------ .../base/security/ir.model.access-1.csv | 4 -- openerp/osv/orm.py | 4 -- 4 files changed, 2 insertions(+), 66 deletions(-) delete mode 100644 openerp/addons/base/security/ir.model.access-1.csv diff --git a/openerp/addons/base/__openerp__.py b/openerp/addons/base/__openerp__.py index 257f3efdc66..b4473434cdf 100644 --- a/openerp/addons/base/__openerp__.py +++ b/openerp/addons/base/__openerp__.py @@ -3,7 +3,7 @@ # # OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). -# Copyright (C) 2010 OpenERP s.a. (). +# Copyright (C) 2010, 2012 OpenERP s.a. (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -85,7 +85,6 @@ The kernel of OpenERP, needed for all installation. 'res/ir_property_view.xml', 'security/base_security.xml', 'security/ir.model.access.csv', - 'security/ir.model.access-1.csv', # res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version ], 'demo': [ 'base_demo.xml', diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 07dba6b0d32..be4a83ac7a6 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -208,10 +208,6 @@ class res_partner(osv.osv, format_address): 'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'), 'website': fields.char('Website', size=64, help="Website of Partner or Company"), 'comment': fields.text('Notes'), - 'address': fields.one2many('res.partner.address', 'partner_id', 'Addresses', - deprecated="The address information is now directly stored on each Partner record. "\ - "Multiple contacts with their own address can be added via the child_ids relationship. "\ - "This field will be removed as of OpenERP 7.1."), 'category_id': fields.many2many('res.partner.category', id1='partner_id', id2='category_id', string='Tags'), 'credit_limit': fields.float(string='Credit Limit'), 'ean13': fields.char('EAN13', size=13), @@ -538,7 +534,7 @@ class res_partner(osv.osv, format_address): The purpose of this function is to build and return an address formatted accordingly to the standards of the country where it belongs. - :param address: browse record of the res.partner.address to format + :param address: browse record of the res.partner to format :returns: the address formatted in a display that fit its country habits (or the default ones if not country is specified) :rtype: string @@ -564,55 +560,4 @@ class res_partner(osv.osv, format_address): address_format = '%(company_name)s\n' + address_format return address_format % args -# res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version -class res_partner_address(osv.osv): - _table = "res_partner" - _name = 'res.partner.address' - _order = 'type, name' - _columns = { - 'parent_id': fields.many2one('res.partner', 'Company', ondelete='set null', select=True), - 'partner_id': fields.related('parent_id', type='many2one', relation='res.partner', string='Partner'), # for backward compatibility - 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), - 'function': fields.char('Function', size=128), - 'title': fields.many2one('res.partner.title','Title'), - 'name': fields.char('Contact Name', size=64, select=1), - 'street': fields.char('Street', size=128), - 'street2': fields.char('Street2', size=128), - 'zip': fields.char('Zip', change_default=True, size=24), - 'city': fields.char('City', size=128), - 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), - 'country_id': fields.many2one('res.country', 'Country'), - 'email': fields.char('Email', size=240), - 'phone': fields.char('Phone', size=64), - 'fax': fields.char('Fax', size=64), - 'mobile': fields.char('Mobile', size=64), - 'birthdate': fields.char('Birthdate', size=64), - 'is_customer_add': fields.related('partner_id', 'customer', type='boolean', string='Customer'), - 'is_supplier_add': fields.related('partner_id', 'supplier', type='boolean', string='Supplier'), - 'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."), - 'company_id': fields.many2one('res.company', 'Company',select=1), - 'color': fields.integer('Color Index'), - } - - _defaults = { - 'active': True, - 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c), - 'color': 0, - 'type': 'default', - } - - def write(self, cr, uid, ids, vals, context=None): - logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") - if 'partner_id' in vals: - vals['parent_id'] = vals.get('partner_id') - del(vals['partner_id']) - return self.pool.get('res.partner').write(cr, uid, ids, vals, context=context) - - def create(self, cr, uid, vals, context=None): - logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") - if 'partner_id' in vals: - vals['parent_id'] = vals.get('partner_id') - del(vals['partner_id']) - return self.pool.get('res.partner').create(cr, uid, vals, context=context) - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/security/ir.model.access-1.csv b/openerp/addons/base/security/ir.model.access-1.csv deleted file mode 100644 index 071458f2b8f..00000000000 --- a/openerp/addons/base/security/ir.model.access-1.csv +++ /dev/null @@ -1,4 +0,0 @@ -"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_res_partner_address_group_partner_manager","res_partner_address group_partner_manager","model_res_partner_address","group_partner_manager",1,1,1,1 -"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner_address","group_user",1,0,0,0 -"access_res_partner_address","res.partner.address","model_res_partner_address","group_system",1,1,1,1 diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 060d6da0277..1b2c5c5d34b 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -865,10 +865,6 @@ class BaseModel(object): parent_names = [parent_names] else: name = cls._name - # for res.parnter.address compatiblity, should be remove in v7 - if 'res.partner.address' in parent_names: - parent_names.pop(parent_names.index('res.partner.address')) - parent_names.append('res.partner') if not name: raise TypeError('_name is mandatory in case of multiple inheritance') From ea542472c97688bf82a5c1f9608307202c08e848 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 11 Dec 2012 19:46:24 +0100 Subject: [PATCH 2/2] [FIX] res.partner: column "address" does not exists anymore. bzr revid: chs@openerp.com-20121211184624-b7v3ffn0jsoa1jbq --- openerp/tests/test_orm.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/openerp/tests/test_orm.py b/openerp/tests/test_orm.py index 1dde83d026c..7d64df119b0 100644 --- a/openerp/tests/test_orm.py +++ b/openerp/tests/test_orm.py @@ -182,7 +182,7 @@ class TestO2MSerialization(common.TransactionCase): def test_no_command(self): " empty list of commands yields an empty list of records " results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', []) + self.cr, UID, 'child_ids', []) self.assertEqual(results, []) @@ -190,7 +190,7 @@ class TestO2MSerialization(common.TransactionCase): " returns the VALUES dict as-is " values = [{'foo': 'bar'}, {'foo': 'baz'}, {'foo': 'baq'}] results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', map(CREATE, values)) + self.cr, UID, 'child_ids', map(CREATE, values)) self.assertEqual(results, values) @@ -204,7 +204,7 @@ class TestO2MSerialization(common.TransactionCase): commands = map(LINK_TO, ids) results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', commands, ['name']) + self.cr, UID, 'child_ids', commands, ['name']) self.assertEqual(sorted_by_id(results), sorted_by_id([ {'id': ids[0], 'name': 'foo'}, @@ -221,7 +221,7 @@ class TestO2MSerialization(common.TransactionCase): ] results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', ids, ['name']) + self.cr, UID, 'child_ids', ids, ['name']) self.assertEqual(sorted_by_id(results), sorted_by_id([ {'id': ids[0], 'name': 'foo'}, @@ -236,7 +236,7 @@ class TestO2MSerialization(common.TransactionCase): id_baz = self.partner.create(self.cr, UID, {'name': 'baz', 'city': 'tag'}) results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', [ + self.cr, UID, 'child_ids', [ LINK_TO(id_foo), UPDATE(id_bar, {'name': 'qux', 'city': 'tagtag'}), UPDATE(id_baz, {'name': 'quux'}) @@ -258,7 +258,7 @@ class TestO2MSerialization(common.TransactionCase): commands = [DELETE(ids[0]), DELETE(ids[1]), DELETE(ids[2])] results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', commands, ['name']) + self.cr, UID, 'child_ids', commands, ['name']) self.assertEqual(results, []) @@ -269,7 +269,7 @@ class TestO2MSerialization(common.TransactionCase): ] results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', [ + self.cr, UID, 'child_ids', [ CREATE({'name': 'foo'}), UPDATE(ids[0], {'name': 'bar'}), LINK_TO(ids[1]), @@ -300,7 +300,7 @@ class TestO2MSerialization(common.TransactionCase): commands = map(lambda id: (4, id), ids) results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', commands, ['name']) + self.cr, UID, 'child_ids', commands, ['name']) self.assertEqual(sorted_by_id(results), sorted_by_id([ {'id': ids[0], 'name': 'foo'}, @@ -311,7 +311,7 @@ class TestO2MSerialization(common.TransactionCase): def test_singleton_commands(self): "DELETE_ALL can appear as a singleton" results = self.partner.resolve_2many_commands( - self.cr, UID, 'address', [DELETE_ALL()], ['name']) + self.cr, UID, 'child_ids', [DELETE_ALL()], ['name']) self.assertEqual(results, [])