diff --git a/base_address_category/__init__.py b/base_address_category/__init__.py index 56a751a80..87c311825 100644 --- a/base_address_category/__init__.py +++ b/base_address_category/__init__.py @@ -1,31 +1,23 @@ # -*- coding: utf-8 -*- ############################################################################## # -# Copyright (c) 2010 Camptocamp SA (http://www.camptocamp.com) +# Copyright (c) 2010-2013 Camptocamp SA (http://www.camptocamp.com) # All Right Reserved # # Author : Nicolas Bessi (Camptocamp), Joel Grand-Guillaume # -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. # -# This program is Free Software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . # ############################################################################## import base_address \ No newline at end of file diff --git a/base_address_category/__openerp__.py b/base_address_category/__openerp__.py index 6829801a7..a448ef0a0 100644 --- a/base_address_category/__openerp__.py +++ b/base_address_category/__openerp__.py @@ -1,38 +1,41 @@ # -*- coding: utf-8 -*- ############################################################################## # -# Copyright (c) 2010 Camptocamp SA (http://www.camptocamp.com) +# Copyright (c) 2010-2013 Camptocamp SA (http://www.camptocamp.com) # All Right Reserved # # Author : Nicolas Bessi (Camptocamp), Joel Grand-Guillaume # -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. # -# This program is Free Software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . # ############################################################################## { - "name" : "Partner Adress Category", - "description" : """Add categories on Address like there is on Partner. This is interesting for managing mailling list based on address - for example. + "name" : "Partner Address Category", + "description" : """\ + res.partner.address.category + ---------------------------- + + This module is deprecated as of OpenERP 7.0, because that version + deprecated res.partner.address, and res.partner already has multi + category support (visible as Tags in the user interface). + + The port of this module to OpenERP 7 keeps the model definitions, but + removes the views (for which the base views are no longer + available). The migration process should ensure that the + res.partner.address.category records are migrated to + res.partner.category records. """, "version" : "1.2", "author" : "Camptocamp", @@ -41,13 +44,10 @@ "depends" : [ "base", ], - "init_xml" : [ - "security/security.xml" - ], - "update_xml" : [ - "base_address_view.xml", - 'security/ir.model.access.csv', - ], + "data" : [ + "security/security.xml" + 'security/ir.model.access.csv', + ], "active": False, - "installable": False + "installable": True } diff --git a/base_address_category/base_address.py b/base_address_category/base_address.py index 513b551fb..dcc1824b8 100644 --- a/base_address_category/base_address.py +++ b/base_address_category/base_address.py @@ -1,59 +1,54 @@ # -*- coding: utf-8 -*- ############################################################################## # -# Copyright (c) 2010 Camptocamp SA (http://www.camptocamp.com) +# Copyright (c) 2010-2013 Camptocamp SA (http://www.camptocamp.com) # All Right Reserved # # Author : Nicolas Bessi (Camptocamp), Joel Grand-Guillaume # -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. # -# This program is Free Software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . # -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## -from osv import osv, fields +from openerp.osv import osv, fields, orm -class ResPartnerAdressCategory(osv.osv): - def name_get(self, cr, uid, ids, context={}): +class ResPartnerAdressCategory(orm.Model): + def name_get(self, cr, uid, ids, context=None): if not len(ids): return [] - reads = self.read(cr, uid, ids, ['name','parent_id'], context) + reads = self.read(cr, uid, ids, ['name', 'parent_id'], context) res = [] for record in reads: name = record['name'] if record['parent_id']: - name = record['parent_id'][1]+' / '+name + name = '%s / %s ' % (record['parent_id'][1], name) res.append((record['id'], name)) return res def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, unknow_dict): res = self.name_get(cr, uid, ids) return dict(res) + def _check_recursion(self, cr, uid, ids): level = 100 - while len(ids): - cr.execute('select distinct parent_id from res_partner_address_category\ - where id in ('+','.join(map(unicode,ids))+')') - ids = filter(None, map(lambda x:x[0], cr.fetchall())) + while ids: + cr.execute('select distinct parent_id ' + 'from res_partner_address_category ' + 'where id in %s', ids) + ids = [parent_id for (parent_id,) in cr.fetchall() if parent_id] if not level: return False level -= 1 @@ -65,27 +60,36 @@ class ResPartnerAdressCategory(osv.osv): _name = 'res.partner.address.category' _columns = { 'name': fields.char('Category Name', required=True, size=64), - 'parent_id': fields.many2one('res.partner.address.category', 'Parent Category', select=True), - 'complete_name': fields.function(_name_get_fnc, method=True, type="char", string='Name'), - 'child_ids': fields.one2many('res.partner.address.category', 'parent_id', 'Childs Category'), + 'parent_id': fields.many2one('res.partner.address.category', + 'Parent Category', + select=True), + 'complete_name': fields.function(_name_get_fnc, + type="char", + string='Name'), + 'child_ids': fields.one2many('res.partner.address.category', + 'parent_id', + 'Children Category'), 'active' : fields.boolean('Active'), } _constraints = [ - (_check_recursion, 'Error ! You can not create recursive categories.', ['parent_id']) + (_check_recursion, + 'Error: you can not create recursive categories.', + ['parent_id']) ] _defaults = { 'active' : lambda *a: 1, } _order = 'parent_id,name' -ResPartnerAdressCategory() - -class ResPartnerAddress(osv.osv): +class ResPartnerAddress(orm.Model): _inherit = "res.partner.address" _columns = { - 'category_id': fields.many2many('res.partner.address.category', 'res_partner_address_category_rel', 'adress_id', 'category_id', 'Adress categories'), + 'category_id': fields.many2many('res.partner.address.category', + 'res_partner_address_category_rel', + 'adress_id', + 'category_id', + 'Address categories'), } -ResPartnerAddress() diff --git a/base_address_category/base_address_view.xml b/base_address_category/base_address_view.xml index c1927f8fe..b020c6a30 100644 --- a/base_address_category/base_address_view.xml +++ b/base_address_category/base_address_view.xml @@ -1,154 +1,4 @@ - #--------------------------------------------------------------------------------------------------------- - # Search Address - #--------------------------------------------------------------------------------------------------------- - - res.partner.address.select - res.partner.address - - search - - - - - - - - - #--------------------------------------------------------------------------------------------------------- - # Partner form->contact and view of address - #--------------------------------------------------------------------------------------------------------- - - - res.partner.address.form1.c2c_partner_adress - res.partner.address - form - - - - - - - - - - - - - - - - - res.partner.address.form2_c2c_partner_address - res.partner.address - form - - - - - - - - - - - - - - - res.partner.form_partner - res.partner - form - - - - - - - - - - - - - - res.partner.address.category.form - res.partner.address.category - form - -
- - - - - -
- - res.partner.address.category.list - res.partner.address.category - tree - - - - - - - - - res.partner.address.category.tree - res.partner.address.category - tree - child_ids - - - - - - - - Address categories - ir.actions.act_window - res.partner.address.category - tree - - [('parent_id','=',False)] - - - - - res.partner.address - form - tree,form - [('category_id','child_of', [active_id])] - - - - - Open partners - - - - - - Address categories - ir.actions.act_window - res.partner.address.category - form - - -
-
\ No newline at end of file +