unknown
12 years ago
committed by
Pedro M. Baeza
14 changed files with 686 additions and 0 deletions
-
25base_location/__init__.py
-
37base_location/__openerp__.py
-
72base_location/better_zip.py
-
51base_location/better_zip_view.xml
-
45base_location/company.py
-
19base_location/company_view.xml
-
107base_location/i18n/en.po
-
108base_location/i18n/es.po
-
107base_location/i18n/fr.po
-
40base_location/partner.py
-
17base_location/partner_view.xml
-
3base_location/security/ir.model.access.csv
-
29base_location/state.py
-
26base_location/state_view.xml
@ -0,0 +1,25 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Author: Nicolas Bessi. Copyright Camptocamp SA |
|||
# Contributor: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# Ignacio Ibeas <ignacio@acysos.com> |
|||
# |
|||
# 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 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. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from . import better_zip |
|||
from . import partner |
|||
from . import state |
|||
from . import company |
@ -0,0 +1,37 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Author: Nicolas Bessi. Copyright Camptocamp SA |
|||
# Contributor: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# Ignacio Ibeas <ignacio@acysos.com> |
|||
# |
|||
# 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 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. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
{'name': 'Location management (aka Better ZIP)', |
|||
'version': '0.3', |
|||
'depends': ['base'], |
|||
'author': 'Camptocamp', |
|||
'description': """ |
|||
Introduces a better zip/npa management system. |
|||
It enables zip/city auto-completion on partners""", |
|||
'website': 'http://www.camptocamp.com', |
|||
'data': ['better_zip_view.xml', |
|||
'state_view.xml', |
|||
'company_view.xml', |
|||
'partner_view.xml', |
|||
'security/ir.model.access.csv'], |
|||
'installable': True, |
|||
'active': False, |
|||
} |
@ -0,0 +1,72 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Author: Nicolas Bessi. Copyright Camptocamp SA |
|||
# Contributor: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# Ignacio Ibeas <ignacio@acysos.com> |
|||
# |
|||
# 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 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. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from openerp.osv import orm, fields |
|||
|
|||
|
|||
class BetterZip(orm.Model): |
|||
" City/locations completion object" |
|||
|
|||
_name = "res.better.zip" |
|||
_description = __doc__ |
|||
_order = "priority" |
|||
|
|||
_columns = {'priority': fields.integer('Priority', deprecated=True), |
|||
'name': fields.char('ZIP', required=True), |
|||
'city': fields.char('City', required=True), |
|||
'state_id': fields.many2one('res.country.state', 'State'), |
|||
'country_id': fields.many2one('res.country', 'Country'), |
|||
'code': fields.char('City Code', size=64, |
|||
help="The official code for the city"), |
|||
} |
|||
|
|||
_defaults = {'priority': 100} |
|||
|
|||
def name_get(self, cursor, uid, ids, context=None): |
|||
res = [] |
|||
for bzip in self.browse(cursor, uid, ids): |
|||
name = [bzip.name, bzip.city] |
|||
if bzip.state_id: |
|||
name.append(bzip.state_id.name) |
|||
if bzip.country_id: |
|||
name.append(bzip.country_id.name) |
|||
res.append((bzip.id, ", ".join(name))) |
|||
return res |
|||
|
|||
def onchange_state_id(self, cr, uid, ids, state_id=False, context={}): |
|||
result = {} |
|||
if state_id: |
|||
state = self.pool['res.country.state'].browse(cr, uid, state_id, context=context) |
|||
if state: |
|||
result['value'] = {'country_id': state.country_id.id} |
|||
return result |
|||
|
|||
def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): |
|||
if args is None: |
|||
args = [] |
|||
if context is None: |
|||
context = {} |
|||
ids = [] |
|||
if name: |
|||
ids = self.search(cr, uid, [('name', 'ilike', name)] + args, limit=limit) |
|||
if not ids: |
|||
ids = self.search(cr, uid, [('city', operator, name)] + args, limit=limit) |
|||
return self.name_get(cr, uid, ids, context=context) |
@ -0,0 +1,51 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<openerp> |
|||
<data> |
|||
|
|||
<record model="ir.ui.view" id="better_zip_form"> |
|||
<field name="name">res.better.zip.form</field> |
|||
<field name="model">res.better.zip</field> |
|||
<field name="arch" type="xml"> |
|||
<form string="ZIP" version="7.0"> |
|||
<group col="4"> |
|||
<field name="name"/> |
|||
<field name="code"/> |
|||
<field name="city"/> |
|||
<field name="priority"/> |
|||
<field name="state_id" on_change="onchange_state_id(state_id)"/> |
|||
<field name="country_id"/> |
|||
</group> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
|
|||
<record model="ir.ui.view" id="better_zip_tree"> |
|||
<field name="name">res.better.zip.tree</field> |
|||
<field name="model">res.better.zip</field> |
|||
<field name="arch" type="xml"> |
|||
<tree string="ZIP"> |
|||
<field name="name"/> |
|||
<field name="code"/> |
|||
<field name="city"/> |
|||
<field name="country_id"/> |
|||
<field name="priority"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="action_zip_tree" model="ir.actions.act_window"> |
|||
<field name="name">Cites/locations Management</field> |
|||
<field name="res_model">res.better.zip</field> |
|||
<field name="view_type">form</field> |
|||
<field name="view_mode">tree,form</field> |
|||
<field ref="better_zip_tree" name="view_id"/> |
|||
</record> |
|||
|
|||
<menuitem |
|||
name="Cities/Locations Management" |
|||
id="zip_base" |
|||
parent="base.menu_localisation" |
|||
action="action_zip_tree" |
|||
/> |
|||
</data> |
|||
</openerp> |
@ -0,0 +1,45 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Author: Nicolas Bessi. Copyright Camptocamp SA |
|||
# Contributor: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# Ignacio Ibeas <ignacio@acysos.com> |
|||
# |
|||
# 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 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. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from openerp.osv import orm, fields |
|||
|
|||
|
|||
class ResCompany(orm.Model): |
|||
|
|||
_inherit = 'res.company' |
|||
|
|||
def on_change_city(self, cursor, uid, ids, zip_id): |
|||
result = {} |
|||
if zip_id: |
|||
bzip = self.pool['res.better.zip'].browse(cursor, uid, zip_id) |
|||
result = {'value': {'zip': bzip.name, |
|||
'country_id': bzip.country_id.id if bzip.country_id else False, |
|||
'city': bzip.city, |
|||
'state_id': bzip.state_id.id if bzip.state_id else False |
|||
} |
|||
} |
|||
return result |
|||
|
|||
_columns = { |
|||
'better_zip_id': fields.many2one('res.better.zip', 'Location', select=1, |
|||
help=('Use the city name or the zip code' |
|||
' to search the location')), |
|||
} |
@ -0,0 +1,19 @@ |
|||
<?xml version="1.0"?> |
|||
<openerp> |
|||
<data> |
|||
<!-- Add cities to the company form --> |
|||
<record id="view_company_form_city" model="ir.ui.view"> |
|||
<field name="name">res.company.form.city</field> |
|||
<field name="model">res.company</field> |
|||
<field name="inherit_id" ref="base.view_company_form"/> |
|||
<field name="arch" type="xml"> |
|||
<field name="street2" position="after"> |
|||
<field name="better_zip_id" |
|||
colspan="4" |
|||
on_change="on_change_city(better_zip_id)" |
|||
placeholder="City completion" /> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
</data> |
|||
</openerp> |
@ -0,0 +1,107 @@ |
|||
# Translation of OpenERP Server. |
|||
# This file contains the translation of the following modules: |
|||
# * better_zip |
|||
# |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: OpenERP Server 7.0\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2013-06-07 14:17+0000\n" |
|||
"PO-Revision-Date: 2013-05-08 12:03+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: \n" |
|||
"Language: \n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Plural-Forms: \n" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.actions.act_window,name:better_zip.action_zip_tree |
|||
msgid "Cites/locations Management" |
|||
msgstr "Cites/locations Management" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,city:0 |
|||
msgid "City" |
|||
msgstr "City" |
|||
|
|||
#. module: better_zip |
|||
#: view:res.better.zip:0 field:res.better.zip,name:0 |
|||
msgid "ZIP" |
|||
msgstr "ZIP" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,country_id:0 |
|||
msgid "Country" |
|||
msgstr "Country" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,priority:0 |
|||
msgid "Priority" |
|||
msgstr "Priority" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_company |
|||
msgid "Companies" |
|||
msgstr "Companies" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,code:0 |
|||
msgid "City Code" |
|||
msgstr "City Code" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_better_zip |
|||
msgid " City/locations completion object" |
|||
msgstr " City/locations completion object" |
|||
|
|||
#. module: better_zip |
|||
#: help:res.company,better_zip_id:0 |
|||
msgid "Use the city name or the zip code to search the location" |
|||
msgstr "Use the city name or the zip code to search the location" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.partner,zip_id:0 |
|||
msgid "City/Location" |
|||
msgstr "City/Location" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,state_id:0 |
|||
msgid "State" |
|||
msgstr "State" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.company,better_zip_id:0 |
|||
msgid "Location" |
|||
msgstr "Location" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.ui.menu,name:better_zip.zip_base |
|||
msgid "Cities/Locations Management" |
|||
msgstr "Cities/Locations Management" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_partner |
|||
msgid "Partner" |
|||
msgstr "Partner" |
|||
|
|||
#. module: better_zip |
|||
#: view:res.company:0 view:res.partner:0 |
|||
msgid "City completion" |
|||
msgstr "City completion" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.country.state,better_zip_ids:0 |
|||
msgid "Cities" |
|||
msgstr "Cities" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_country_state |
|||
msgid "Country state" |
|||
msgstr "Country state" |
|||
|
|||
#. module: better_zip |
|||
#: help:res.better.zip,code:0 |
|||
msgid "The official code for the city" |
|||
msgstr "The official code for the city" |
@ -0,0 +1,108 @@ |
|||
# Translation of OpenERP Server. |
|||
# This file contains the translation of the following modules: |
|||
# * better_zip |
|||
# |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: OpenERP Server 7.0\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2013-06-07 14:17+0000\n" |
|||
"PO-Revision-Date: 2013-05-08 12:04+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: \n" |
|||
"Language: \n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Plural-Forms: \n" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.actions.act_window,name:better_zip.action_zip_tree |
|||
msgid "Cites/locations Management" |
|||
msgstr "Cites/locations Management" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,city:0 |
|||
msgid "City" |
|||
msgstr "City" |
|||
|
|||
#. module: better_zip |
|||
#: view:res.better.zip:0 field:res.better.zip,name:0 |
|||
msgid "ZIP" |
|||
msgstr "ZIP" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,country_id:0 |
|||
msgid "Country" |
|||
msgstr "Country" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,priority:0 |
|||
msgid "Priority" |
|||
msgstr "Priority" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_company |
|||
msgid "Companies" |
|||
msgstr "Companies" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,code:0 |
|||
msgid "City Code" |
|||
msgstr "City Code" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_better_zip |
|||
msgid " City/locations completion object" |
|||
msgstr " City/locations completion object" |
|||
|
|||
#. module: better_zip |
|||
#: help:res.company,better_zip_id:0 |
|||
msgid "Use the city name or the zip code to search the location" |
|||
msgstr "Use the city name or the zip code to search the location" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.partner,zip_id:0 |
|||
msgid "City/Location" |
|||
msgstr "City/Location" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,state_id:0 |
|||
msgid "State" |
|||
msgstr "State" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.company,better_zip_id:0 |
|||
msgid "Location" |
|||
msgstr "Location" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.ui.menu,name:better_zip.zip_base |
|||
msgid "Cities/Locations Management" |
|||
msgstr "Cities/Locations Management" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_partner |
|||
msgid "Partner" |
|||
msgstr "Partner" |
|||
|
|||
#. module: better_zip |
|||
#: view:res.company:0 view:res.partner:0 |
|||
#, fuzzy |
|||
msgid "City completion" |
|||
msgstr "City completion" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.country.state,better_zip_ids:0 |
|||
msgid "Cities" |
|||
msgstr "Cities" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_country_state |
|||
msgid "Country state" |
|||
msgstr "Country state" |
|||
|
|||
#. module: better_zip |
|||
#: help:res.better.zip,code:0 |
|||
msgid "The official code for the city" |
|||
msgstr "The official code for the city" |
@ -0,0 +1,107 @@ |
|||
# Translation of OpenERP Server. |
|||
# This file contains the translation of the following modules: |
|||
# * better_zip |
|||
# |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: OpenERP Server 7.0\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2013-06-07 14:17+0000\n" |
|||
"PO-Revision-Date: 2013-05-08 12:03+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: \n" |
|||
"Language: \n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Plural-Forms: \n" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.actions.act_window,name:better_zip.action_zip_tree |
|||
msgid "Cites/locations Management" |
|||
msgstr "Cites/locations Management" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,city:0 |
|||
msgid "City" |
|||
msgstr "Ville" |
|||
|
|||
#. module: better_zip |
|||
#: view:res.better.zip:0 field:res.better.zip,name:0 |
|||
msgid "ZIP" |
|||
msgstr "ZIP" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,country_id:0 |
|||
msgid "Country" |
|||
msgstr "Pays" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,priority:0 |
|||
msgid "Priority" |
|||
msgstr "Priorité" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_company |
|||
msgid "Companies" |
|||
msgstr "Sociétés" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,code:0 |
|||
msgid "City Code" |
|||
msgstr "Code de la ville" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_better_zip |
|||
msgid " City/locations completion object" |
|||
msgstr " City/locations completion object" |
|||
|
|||
#. module: better_zip |
|||
#: help:res.company,better_zip_id:0 |
|||
msgid "Use the city name or the zip code to search the location" |
|||
msgstr "Utilisez le nom de la ville ou le zip lors des recherches" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.partner,zip_id:0 |
|||
msgid "City/Location" |
|||
msgstr "Ville/location" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.better.zip,state_id:0 |
|||
msgid "State" |
|||
msgstr "Etat" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.company,better_zip_id:0 |
|||
msgid "Location" |
|||
msgstr "Location" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.ui.menu,name:better_zip.zip_base |
|||
msgid "Cities/Locations Management" |
|||
msgstr "Cities/Locations Management" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_partner |
|||
msgid "Partner" |
|||
msgstr "Partenaire" |
|||
|
|||
#. module: better_zip |
|||
#: view:res.company:0 view:res.partner:0 |
|||
msgid "City completion" |
|||
msgstr "Complétion par ville" |
|||
|
|||
#. module: better_zip |
|||
#: field:res.country.state,better_zip_ids:0 |
|||
msgid "Cities" |
|||
msgstr "Villes" |
|||
|
|||
#. module: better_zip |
|||
#: model:ir.model,name:better_zip.model_res_country_state |
|||
msgid "Country state" |
|||
msgstr "Etat" |
|||
|
|||
#. module: better_zip |
|||
#: help:res.better.zip,code:0 |
|||
msgid "The official code for the city" |
|||
msgstr "Code officiel de la ville" |
@ -0,0 +1,40 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Author: Nicolas Bessi. Copyright Camptocamp SA |
|||
# Contributor: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# Ignacio Ibeas <ignacio@acysos.com> |
|||
# |
|||
# 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 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. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from openerp.osv import orm, fields |
|||
|
|||
|
|||
class ResPartner(orm.Model): |
|||
_inherit = "res.partner" |
|||
_columns = {'zip_id': fields.many2one('res.better.zip', 'City/Location')} |
|||
|
|||
def onchange_zip_id(self, cursor, uid, ids, zip_id, context=None): |
|||
if not zip_id: |
|||
return {} |
|||
if isinstance(zip_id, list): |
|||
zip_id = zip_id[0] |
|||
bzip = self.pool['res.better.zip'].browse(cursor, uid, zip_id, context=context) |
|||
return {'value': {'zip': bzip.name, |
|||
'city': bzip.city, |
|||
'country_id': bzip.country_id.id if bzip.country_id else False, |
|||
'state_id': bzip.state_id.id if bzip.state_id else False, |
|||
} |
|||
} |
@ -0,0 +1,17 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<openerp> |
|||
<data> |
|||
<record id="view_partner_form" model="ir.ui.view"> |
|||
<field name="name">res.partner.zip_id.2</field> |
|||
<field name="model">res.partner</field> |
|||
<field name="inherit_id" ref="base.view_partner_form"/> |
|||
<field name="arch" type="xml"> |
|||
<field name="city" position="before"> |
|||
<field name="zip_id" |
|||
on_change="onchange_zip_id(zip_id)" |
|||
placeholder="City completion"/> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
</data> |
|||
</openerp> |
@ -0,0 +1,3 @@ |
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" |
|||
"ir_model_access_betterzip0","res_better_zip group_user_all","model_res_better_zip",base.group_user,1,0,0,0 |
|||
"ir_model_access_betterzip1","res_better_zip group_user","model_res_better_zip","base.group_partner_manager",1,1,1,1 |
@ -0,0 +1,29 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################## |
|||
# |
|||
# Author: Nicolas Bessi. Copyright Camptocamp SA |
|||
# Contributor: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# Ignacio Ibeas <ignacio@acysos.com> |
|||
# |
|||
# 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 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. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################## |
|||
from openerp.osv import orm, fields |
|||
|
|||
|
|||
class ResCountryState(orm.Model): |
|||
|
|||
_inherit = 'res.country.state' |
|||
|
|||
_columns = {'better_zip_ids': fields.one2many('res.better.zip', 'state_id', 'Cities')} |
@ -0,0 +1,26 @@ |
|||
<?xml version="1.0"?> |
|||
<openerp> |
|||
<data> |
|||
<!-- Add cities to the State form --> |
|||
<record model="ir.ui.view" id="view_country_state_form2"> |
|||
<field name="name">view_country_state_form2</field> |
|||
<field name="model">res.country.state</field> |
|||
<field name="inherit_id" ref="base.view_country_state_form"/> |
|||
<field name="arch" type="xml"> |
|||
<field name="country_id" position="after"> |
|||
<field name="better_zip_ids" |
|||
context="{'country_id': country_id}" |
|||
colspan="4" |
|||
nolabel="1"> |
|||
<tree editable="top"> |
|||
<field name="name"/> |
|||
<field name="code"/> |
|||
<field name="city"/> |
|||
<field name="country_id"/> |
|||
</tree> |
|||
</field> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
</data> |
|||
</openerp> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue