Browse Source
[ADD] Commit of the modules used by C2C to move in our new public branch
[ADD] Commit of the modules used by C2C to move in our new public branch
(lp:c2c-addons/6.1 rev 2)pull/7/head
Joël Grand-Guillaume
13 years ago
6 changed files with 340 additions and 0 deletions
-
31base_address_category/__init__.py
-
53base_address_category/__openerp__.py
-
95base_address_category/base_address.py
-
154base_address_category/base_address_view.xml
-
3base_address_category/security/ir.model.access.csv
-
4base_address_category/security/security.xml
@ -0,0 +1,31 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Copyright (c) 2010 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 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 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. |
|||
# |
|||
############################################################################## |
|||
import base_address |
@ -0,0 +1,53 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Copyright (c) 2010 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 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 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. |
|||
# |
|||
############################################################################## |
|||
|
|||
{ |
|||
"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. |
|||
""", |
|||
"version" : "1.2", |
|||
"author" : "Camptocamp", |
|||
"category" : "Generic Modules/Base", |
|||
"website": "http://www.camptocamp.com", |
|||
"depends" : [ |
|||
"base", |
|||
], |
|||
"init_xml" : [ |
|||
"security/security.xml" |
|||
], |
|||
"update_xml" : [ |
|||
"base_address_view.xml", |
|||
'security/ir.model.access.csv', |
|||
], |
|||
"active": False, |
|||
"installable": True |
|||
} |
@ -0,0 +1,95 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Copyright (c) 2010 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 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 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. |
|||
# |
|||
############################################################################## |
|||
|
|||
|
|||
from osv import osv, fields |
|||
import time |
|||
from mx import DateTime |
|||
import netsvc |
|||
import string |
|||
|
|||
class ResPartnerAdressCategory(osv.osv): |
|||
def name_get(self, cr, uid, ids, context={}): |
|||
if not len(ids): |
|||
return [] |
|||
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 |
|||
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())) |
|||
if not level: |
|||
return False |
|||
level -= 1 |
|||
return True |
|||
|
|||
|
|||
|
|||
_description='Partner address Categories' |
|||
_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'), |
|||
'active' : fields.boolean('Active'), |
|||
} |
|||
_constraints = [ |
|||
(_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): |
|||
_inherit = "res.partner.address" |
|||
|
|||
_columns = { |
|||
'category_id': fields.many2many('res.partner.address.category', 'res_partner_address_category_rel', 'adress_id', 'category_id', 'Adress categories'), |
|||
} |
|||
|
|||
ResPartnerAddress() |
@ -0,0 +1,154 @@ |
|||
<openerp> |
|||
<data> |
|||
#--------------------------------------------------------------------------------------------------------- |
|||
# Search Address |
|||
#--------------------------------------------------------------------------------------------------------- |
|||
<record id="view_res_partner_address_filter" model="ir.ui.view"> |
|||
<field name="name">res.partner.address.select</field> |
|||
<field name="model">res.partner.address</field> |
|||
<field name="inherit_id" ref="base.view_res_partner_address_filter" /> |
|||
<field name="type">search</field> |
|||
<field name="arch" type="xml"> |
|||
<field name="country_id" position="after" > |
|||
<field name="category_id" /> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
#--------------------------------------------------------------------------------------------------------- |
|||
# Partner form->contact and view of address |
|||
#--------------------------------------------------------------------------------------------------------- |
|||
|
|||
<record model="ir.ui.view" id="view_partner_address_categ_form1_inherit"> |
|||
<field name="name">res.partner.address.form1.c2c_partner_adress</field> |
|||
<field name="model">res.partner.address</field> |
|||
<field name="type">form</field> |
|||
<field name="inherit_id" ref="base.view_partner_address_form1" /> |
|||
<field name="priority" eval="17" /> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="/form/group[3]" position="after"> |
|||
<group colspan="4"> |
|||
<separator string="Address Categories" colspan="4"/> |
|||
<field name="category_id" nolabel="1"/> |
|||
</group> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
<!-- |
|||
========================================= |
|||
the short form used in the partner form |
|||
========================================= |
|||
--> |
|||
|
|||
<record model="ir.ui.view" id="view_partner_address_form2_inerit_categ"> |
|||
<field name="name">res.partner.address.form2_c2c_partner_address</field> |
|||
<field name="model">res.partner.address</field> |
|||
<field name="type">form</field> |
|||
<field name="inherit_id" ref="base.view_partner_address_form2" /> |
|||
<field name="priority" eval="17" /> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="/form/field[@name='email']" position="after"> |
|||
<newline/> |
|||
<separator string="Address Categories" colspan="4"/> |
|||
<field name="category_id" nolabel="1"/> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
<!-- |
|||
========================================= |
|||
the short form used in the res_partner stdandard form |
|||
========================================= |
|||
--> |
|||
<record model="ir.ui.view" id="view_partner_form_inherite_categ_infos"> |
|||
<field name="name">res.partner.form_partner</field> |
|||
<field name="model">res.partner</field> |
|||
<field name="type">form</field> |
|||
<field name="inherit_id" ref="base.view_partner_form" /> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="/form/notebook/page[@string='General']/field[@name='address']/form[@string='Partner Contacts']/group[3]" position="after"> |
|||
<group colspan="4" > |
|||
<separator string="Address Categories" colspan="4"/> |
|||
<field name="category_id" nolabel="1"/> |
|||
</group> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- |
|||
====================== |
|||
Adresses categories |
|||
====================== |
|||
--> |
|||
<record model="ir.ui.view" id="view_partner_address_category_form"> |
|||
<field name="name">res.partner.address.category.form</field> |
|||
<field name="model">res.partner.address.category</field> |
|||
<field name="type">form</field> |
|||
<field name="arch" type="xml"> |
|||
<form string="Partner categories"> |
|||
<field name="name" select="1"/> |
|||
<field name="active" select="1" /> |
|||
<field name="parent_id"/> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
<record model="ir.ui.view" id="view_partner_address_category_list"> |
|||
<field name="name">res.partner.address.category.list</field> |
|||
<field name="model">res.partner.address.category</field> |
|||
<field name="type">tree</field> |
|||
<field name="priority" eval="6"/> |
|||
<field name="arch" type="xml"> |
|||
<tree string="Partner categories"> |
|||
<field name="complete_name"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
<record model="ir.ui.view" id="view_partner_address_category_tree"> |
|||
<field name="name">res.partner.address.category.tree</field> |
|||
<field name="model">res.partner.address.category</field> |
|||
<field name="type">tree</field> |
|||
<field name="field_parent">child_ids</field> |
|||
<field name="arch" type="xml"> |
|||
<tree string="Partner Categories"> |
|||
<field name="name"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
<record model="ir.actions.act_window" id="action_partner_address_category"> |
|||
<field name="name">Address categories</field> |
|||
<field name="type">ir.actions.act_window</field> |
|||
<field name="res_model">res.partner.address.category</field> |
|||
<field name="view_type">tree</field> |
|||
<field name="view_id" ref="view_partner_address_category_tree"/> |
|||
<field name="domain">[('parent_id','=',False)]</field> |
|||
</record> |
|||
<menuitem parent="base.menu_address_book" action="action_partner_address_category" id="menu_partner_address_category"/> |
|||
|
|||
<record model="ir.actions.act_window" id="action_partner_by_category"> |
|||
<field name="res_model">res.partner.address</field> |
|||
<field name="view_type">form</field> |
|||
<field name="view_mode">tree,form</field> |
|||
<field name="domain">[('category_id','child_of', [active_id])]</field> |
|||
</record> |
|||
<record model="ir.values" id="ir_action_partner_by_category"> |
|||
<field name="key2" eval="'tree_but_open'"/> |
|||
<field name="model" eval="'res.partner.address.category'"/> |
|||
<field name="name">Open partners</field> |
|||
<field name="value" eval="'ir.actions.act_window,%d'%action_partner_by_category"/> |
|||
<field name="object" eval="True"/> |
|||
</record> |
|||
|
|||
<record model="ir.actions.act_window" id="action_partner_address_category_form"> |
|||
<field name="name">Address categories</field> |
|||
<field name="type">ir.actions.act_window</field> |
|||
<field name="res_model">res.partner.address.category</field> |
|||
<field name="view_type">form</field> |
|||
</record> |
|||
<menuitem parent="base.menu_config_address_book" action="action_partner_address_category_form" id="menu_partner_address_category_form"/> |
|||
|
|||
</data> |
|||
</openerp> |
@ -0,0 +1,3 @@ |
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" |
|||
"access_res_partner_address_category_group_user","res.partner.address.category","model_res_partner_address_category",base.group_user,1,0,0,0 |
|||
"access_res_partner_address_category_partner_manager","res.partner.address.category","model_res_partner_address_category","base.group_partner_manager",1,1,1,1 |
@ -0,0 +1,4 @@ |
|||
<openerp> |
|||
<data> |
|||
</data> |
|||
</openerp> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue