summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJigar Amin - OpenERP <jam@tinyerp.com>2012-08-24 18:59:57 +0530
committerJigar Amin - OpenERP <jam@tinyerp.com>2012-08-24 18:59:57 +0530
commita4c132fcb690a0b95bc0840efeebcfe88ff3dae5 (patch)
treeca988a85efcb1e9f4105269a30ee54c054f6da27
parent260e25084dacc25b43b0b53a3d2edb88caec0501 (diff)
parent0b464f088272417a0f71b7778ea31c4661e73214 (diff)
merge lp:openobject-server
bzr revid: jam@tinyerp.com-20120824132957-6z5ovpfqqvjnazj3
-rwxr-xr-xopenerp-server2
-rw-r--r--openerp/addons/base/__openerp__.py14
-rw-r--r--openerp/addons/base/base.sql10
-rw-r--r--openerp/addons/base/base_data.xml28
-rw-r--r--openerp/addons/base/base_demo.xml13
-rw-r--r--openerp/addons/base/i18n/ab.po4
-rw-r--r--openerp/addons/base/i18n/af.po4
-rw-r--r--openerp/addons/base/i18n/am.po4
-rw-r--r--openerp/addons/base/i18n/ar.po4
-rw-r--r--openerp/addons/base/i18n/base.pot4
-rw-r--r--openerp/addons/base/i18n/bg.po4
-rw-r--r--openerp/addons/base/i18n/bs.po4
-rw-r--r--openerp/addons/base/i18n/ca.po4
-rw-r--r--openerp/addons/base/i18n/cs.po4
-rw-r--r--openerp/addons/base/i18n/da.po4
-rw-r--r--openerp/addons/base/i18n/de.po4
-rw-r--r--openerp/addons/base/i18n/el.po4
-rw-r--r--openerp/addons/base/i18n/en_GB.po4
-rw-r--r--openerp/addons/base/i18n/es.po4
-rw-r--r--openerp/addons/base/i18n/es_AR.po4
-rw-r--r--openerp/addons/base/i18n/es_CL.po4
-rw-r--r--openerp/addons/base/i18n/es_CR.po6
-rw-r--r--openerp/addons/base/i18n/es_EC.po4
-rw-r--r--openerp/addons/base/i18n/et.po4
-rw-r--r--openerp/addons/base/i18n/eu.po4
-rw-r--r--openerp/addons/base/i18n/fa.po4
-rw-r--r--openerp/addons/base/i18n/fa_AF.po4
-rw-r--r--openerp/addons/base/i18n/fi.po4
-rw-r--r--openerp/addons/base/i18n/fr.po4
-rw-r--r--openerp/addons/base/i18n/gl.po4
-rw-r--r--openerp/addons/base/i18n/gu.po4
-rw-r--r--openerp/addons/base/i18n/he.po4
-rw-r--r--openerp/addons/base/i18n/hr.po4
-rw-r--r--openerp/addons/base/i18n/hu.po4
-rw-r--r--openerp/addons/base/i18n/hy.po4
-rw-r--r--openerp/addons/base/i18n/id.po4
-rw-r--r--openerp/addons/base/i18n/is.po4
-rw-r--r--openerp/addons/base/i18n/it.po4
-rw-r--r--openerp/addons/base/i18n/ja.po4
-rw-r--r--openerp/addons/base/i18n/ka.po4
-rw-r--r--openerp/addons/base/i18n/kk.po4
-rw-r--r--openerp/addons/base/i18n/ko.po4
-rw-r--r--openerp/addons/base/i18n/lt.po4
-rw-r--r--openerp/addons/base/i18n/lt_LT.po2
-rw-r--r--openerp/addons/base/i18n/lv.po4
-rw-r--r--openerp/addons/base/i18n/mk.po4
-rw-r--r--openerp/addons/base/i18n/mn.po4
-rw-r--r--openerp/addons/base/i18n/nb.po4
-rw-r--r--openerp/addons/base/i18n/nl.po4
-rw-r--r--openerp/addons/base/i18n/nl_BE.po4
-rw-r--r--openerp/addons/base/i18n/nl_NL.po2
-rw-r--r--openerp/addons/base/i18n/pl.po4
-rw-r--r--openerp/addons/base/i18n/pt.po4
-rw-r--r--openerp/addons/base/i18n/pt_BR.po6
-rw-r--r--openerp/addons/base/i18n/ro.po4
-rw-r--r--openerp/addons/base/i18n/ru.po4
-rw-r--r--openerp/addons/base/i18n/sk.po4
-rw-r--r--openerp/addons/base/i18n/sl.po4
-rw-r--r--openerp/addons/base/i18n/sq.po4
-rw-r--r--openerp/addons/base/i18n/sr.po4
-rw-r--r--openerp/addons/base/i18n/sr@latin.po4
-rw-r--r--openerp/addons/base/i18n/sv.po4
-rw-r--r--openerp/addons/base/i18n/th.po4
-rw-r--r--openerp/addons/base/i18n/tlh.po4
-rw-r--r--openerp/addons/base/i18n/tr.po4
-rw-r--r--openerp/addons/base/i18n/uk.po4
-rw-r--r--openerp/addons/base/i18n/uk_UA.po2
-rw-r--r--openerp/addons/base/i18n/ur.po4
-rw-r--r--openerp/addons/base/i18n/vi.po4
-rw-r--r--openerp/addons/base/i18n/zh_CN.po4
-rw-r--r--openerp/addons/base/i18n/zh_HK.po4
-rw-r--r--openerp/addons/base/i18n/zh_TW.po4
-rw-r--r--openerp/addons/base/ir/ir.xml73
-rw-r--r--openerp/addons/base/ir/ir_actions.py4
-rw-r--r--openerp/addons/base/ir/ir_config_parameter_view.xml3
-rw-r--r--openerp/addons/base/ir/ir_filters.xml3
-rw-r--r--openerp/addons/base/ir/ir_model.py8
-rw-r--r--openerp/addons/base/ir/ir_model_constraint.py4
-rw-r--r--openerp/addons/base/ir/ir_model_relation.py5
-rw-r--r--openerp/addons/base/ir/ir_ui_view.py25
-rw-r--r--openerp/addons/base/ir/wizard/wizard_menu_view.xml1
-rw-r--r--openerp/addons/base/ir/workflow/workflow_view.xml17
-rw-r--r--openerp/addons/base/module/module.py27
-rw-r--r--openerp/addons/base/module/module_view.xml12
-rw-r--r--openerp/addons/base/module/wizard/base_export_language_view.xml1
-rw-r--r--openerp/addons/base/module/wizard/base_import_language_view.xml1
-rw-r--r--openerp/addons/base/module/wizard/base_language_install_view.xml1
-rw-r--r--openerp/addons/base/module/wizard/base_module_configuration_view.xml1
-rw-r--r--openerp/addons/base/module/wizard/base_module_import_view.xml1
-rw-r--r--openerp/addons/base/module/wizard/base_module_scan_view.xml1
-rw-r--r--openerp/addons/base/module/wizard/base_module_update_view.xml1
-rw-r--r--openerp/addons/base/module/wizard/base_module_upgrade_view.xml2
-rw-r--r--openerp/addons/base/module/wizard/base_update_translations_view.xml1
-rw-r--r--openerp/addons/base/publisher_warranty/publisher_warranty.py4
-rw-r--r--openerp/addons/base/publisher_warranty/publisher_warranty_view.xml5
-rw-r--r--openerp/addons/base/res/ir_property_view.xml3
-rw-r--r--openerp/addons/base/res/photo.pngbin2685 -> 0 bytes
-rw-r--r--openerp/addons/base/res/res_bank_view.xml7
-rw-r--r--openerp/addons/base/res/res_company.py6
-rw-r--r--openerp/addons/base/res/res_company_view.xml5
-rw-r--r--openerp/addons/base/res/res_config.xml9
-rw-r--r--openerp/addons/base/res/res_country_view.xml4
-rw-r--r--openerp/addons/base/res/res_currency_view.xml5
-rw-r--r--openerp/addons/base/res/res_lang_view.xml3
-rw-r--r--openerp/addons/base/res/res_partner.py29
-rw-r--r--openerp/addons/base/res/res_partner_demo.xml1056
-rw-r--r--openerp/addons/base/res/res_partner_demo.yml273
-rw-r--r--openerp/addons/base/res/res_partner_view.xml23
-rw-r--r--openerp/addons/base/res/res_request_view.xml3
-rw-r--r--openerp/addons/base/res/res_security.xml63
-rw-r--r--openerp/addons/base/res/res_users.py350
-rw-r--r--openerp/addons/base/res/res_users_view.xml25
-rw-r--r--openerp/addons/base/res/res_widget_view.xml6
-rw-r--r--openerp/addons/base/rng/view.rng7
-rw-r--r--openerp/addons/base/security/base_security.xml86
-rw-r--r--openerp/addons/base/static/src/img/company_image.png (renamed from openerp/addons/base/res/company_icon.png)bin4127 -> 4127 bytes
-rw-r--r--openerp/addons/base/static/src/img/partner_image.pngbin0 -> 2723 bytes
-rw-r--r--openerp/addons/base/test/base_test.xml2
-rw-r--r--openerp/addons/base/test/base_test.yml12
-rw-r--r--openerp/addons/base/test/test_osv_expression.yml22
-rw-r--r--openerp/import_xml.rng1
-rw-r--r--openerp/modules/loading.py6
-rw-r--r--openerp/modules/registry.py17
-rw-r--r--openerp/netsvc.py6
-rw-r--r--openerp/osv/fields.py37
-rw-r--r--openerp/osv/orm.py12
-rw-r--r--openerp/release.py6
-rw-r--r--openerp/service/web_services.py8
-rw-r--r--openerp/tests/__init__.py6
-rw-r--r--openerp/tests/addons/test_exceptions/view.xml1
-rw-r--r--openerp/tests/addons/test_impex/tests/test_import.py2
-rw-r--r--openerp/tests/common.py8
-rwxr-xr-xopenerp/tests/test_html_sanitize.py37
-rw-r--r--openerp/tests/test_ir_sequence.py45
-rw-r--r--openerp/tests/test_view_validation.py131
-rw-r--r--openerp/tools/__init__.py1
-rw-r--r--openerp/tools/convert.py44
-rw-r--r--openerp/tools/html_sanitize.py62
-rw-r--r--openerp/tools/misc.py33
-rw-r--r--openerp/tools/view_validation.py85
-rw-r--r--openerp/tools/yaml_import.py27
-rwxr-xr-xsetup.py1
142 files changed, 1542 insertions, 1567 deletions
diff --git a/openerp-server b/openerp-server
index 12b6962e4e6..be0710cbce9 100755
--- a/openerp-server
+++ b/openerp-server
@@ -105,7 +105,7 @@ def run_test_file(dbname, test_file):
db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=config['init'] or config['update'], pooljobs=False)
cr = db.cursor()
_logger.info('loading test file %s', test_file)
- openerp.tools.convert_yaml_import(cr, 'base', file(test_file), {}, 'test', True)
+ openerp.tools.convert_yaml_import(cr, 'base', file(test_file), 'test', {}, 'test', True)
cr.rollback()
cr.close()
except Exception:
diff --git a/openerp/addons/base/__openerp__.py b/openerp/addons/base/__openerp__.py
index 090fc0c5526..3fdb8c6448d 100644
--- a/openerp/addons/base/__openerp__.py
+++ b/openerp/addons/base/__openerp__.py
@@ -25,20 +25,21 @@
'name': 'Base',
'version': '1.3',
'category': 'Hidden',
- 'description': """The kernel of OpenERP, needed for all installation.""",
+ 'description': """
+The kernel of OpenERP, needed for all installation.
+===================================================
+""",
'author': 'OpenERP SA',
'maintainer': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': [],
- 'init_xml': [
+ 'data': [
'base_data.xml',
'security/base_security.xml',
'base_menu.xml',
'res/res_security.xml',
'res/res_config.xml',
- 'data/res.country.state.csv'
- ],
- 'update_xml': [
+ 'data/res.country.state.csv',
'ir/wizard/wizard_menu_view.xml',
'ir/ir.xml',
'ir/ir_filters.xml',
@@ -77,9 +78,10 @@
'res/res_widget_data.xml',
'publisher_warranty/publisher_warranty_data.xml',
],
- 'demo_xml': [
+ 'demo': [
'base_demo.xml',
'res/res_partner_demo.xml',
+ 'res/res_partner_demo.yml',
'res/res_widget_demo.xml',
],
'test': [
diff --git a/openerp/addons/base/base.sql b/openerp/addons/base/base.sql
index 26d70b7ede6..441fe536a0a 100644
--- a/openerp/addons/base/base.sql
+++ b/openerp/addons/base/base.sql
@@ -146,17 +146,15 @@ select setval('ir_ui_menu_id_seq', 2);
CREATE TABLE res_users (
id serial NOT NULL,
- name varchar(64) not null,
active boolean default True,
login varchar(64) NOT NULL UNIQUE,
password varchar(64) default null,
- email varchar(64) default null,
- context_tz varchar(64) default null,
- signature text,
- context_lang varchar(64) default '',
+ tz varchar(64) default null,
+ lang varchar(64) default '',
-- No FK references below, will be added later by ORM
-- (when the destination rows exist)
company_id int,
+ partner_id int,
primary key(id)
);
alter table res_users add constraint res_users_login_uniq unique (login);
@@ -385,7 +383,7 @@ CREATE TABLE ir_model_relation (
-- Users
---------------------------------
-insert into res_users (id,login,password,name,active,company_id,context_lang) values (1,'admin','admin','Administrator',True,1,'en_US');
+insert into res_users (id,login,password,active,company_id,partner_id,lang) values (1,'admin','admin',True,1,1,'en_US');
insert into ir_model_data (name,module,model,noupdate,res_id) values ('user_root','base','res.users',True,1);
-- Compatibility purpose, to remove V6.0
diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml
index 7f5b4dec109..c892e98d183 100644
--- a/openerp/addons/base/base_data.xml
+++ b/openerp/addons/base/base_data.xml
@@ -4,7 +4,6 @@
<record id="view_menu" model="ir.ui.view">
<field name="name">ir.ui.menu.tree</field>
<field name="model">ir.ui.menu</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Menu" toolbar="1">
<field icon="icon" name="name"/>
@@ -1061,6 +1060,12 @@
<field name="company_id" eval="None"/>
<field name="customer" eval="False"/>
<field name="is_company" eval="True"/>
+ <field name="street"></field>
+ <field name="city"></field>
+ <field name="zip"></field>
+ <field name="phone"></field>
+ <field name="email">info@yourcompany.com</field>
+ <field name="website">www.yourcompany.com</field>
</record>
<!-- Currencies -->
@@ -1082,24 +1087,29 @@
<record id="main_company" model="res.company">
<field name="name">Your Company</field>
<field name="partner_id" ref="main_partner"/>
- <field name="rml_footer1">Web: www.companyname.com - Tel: +1-212-555-12345</field>
- <field name="rml_footer2">IBAN: XX12 3456 7890 1234 5678 - SWIFT: SWIFTCODE - VAT: Company vat number</field>
+ <field name="rml_header1">Your Company Slogan</field>
+ <field name="rml_footer1">Web: http://www.yourcompany.com - Tel: +33 1 49 51 23 94</field>
+ <field name="rml_footer2">Bank Accounts... to be configured in menu Settings > Accounting/Invoicing.</field>
<field name="currency_id" ref="base.EUR"/>
</record>
+ <record model="res.partner" id="base.partner_root">
+ <field name="name">Administrator</field>
+ <field name="company_id" ref="main_company"/>
+ <field name="customer" eval="False"/>
+ </record>
+
<record model="res.users" id="base.user_root">
- <field name="signature">Administrator</field>
+ <field name="partner_id" ref="base.partner_root"/>
<field name="company_id" ref="main_company"/>
- <field name="menu_id" ref="action_menu_admin"/>
<field name="company_ids" eval="[(4, ref('main_company'))]"/>
+ <field name="menu_id" ref="action_menu_admin"/>
+ <field name="signature">Administrator</field>
</record>
<record id="main_partner" model="res.partner">
<field name="company_id" ref="main_company"/>
</record>
- <record id="EUR" model="res.currency">
- <field name="company_id" ref="main_company"/>
- </record>
<!-- The Following currency rates are considered as on 1st Jan,2010 against EUR. -->
<!-- Currencies -->
@@ -1624,7 +1634,7 @@
</record>
<record id="res_bank_1" model="res.bank">
- <field name="name">Reserve</field>
+ <field name="name">International Bank</field>
</record>
<record id="CRC" model="res.currency">
diff --git a/openerp/addons/base/base_demo.xml b/openerp/addons/base/base_demo.xml
index a0149096902..34feb3af990 100644
--- a/openerp/addons/base/base_demo.xml
+++ b/openerp/addons/base/base_demo.xml
@@ -1,19 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
-
- <record id="demo_address" model="res.partner">
- <field name="name">Fabien D'souza</field>
- <field name="street">Chaussee de Namur</field>
- <field name="zip">1367</field>
- <field name="city">Gerompont</field>
- <field name="phone">(+32).81.81.37.00</field>
- <field name="type">default</field>
- <field model="res.country" name="country_id" ref="be"/>
- <!-- Company ID will be set later -->
- <field name="company_id" eval="None"/>
- </record>
-
<record id="user_demo" model="res.users">
<field name="login">demo</field>
<field name="password">demo</field>
diff --git a/openerp/addons/base/i18n/ab.po b/openerp/addons/base/i18n/ab.po
index e7888a8a720..5f5c450592a 100644
--- a/openerp/addons/base/i18n/ab.po
+++ b/openerp/addons/base/i18n/ab.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/af.po b/openerp/addons/base/i18n/af.po
index 4f2dd5fb776..597bf9ab330 100644
--- a/openerp/addons/base/i18n/af.po
+++ b/openerp/addons/base/i18n/af.po
@@ -3653,7 +3653,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9864,7 +9864,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/am.po b/openerp/addons/base/i18n/am.po
index 1ccb028cac0..4627d531674 100644
--- a/openerp/addons/base/i18n/am.po
+++ b/openerp/addons/base/i18n/am.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/ar.po b/openerp/addons/base/i18n/ar.po
index 1a2642d9e1f..8b2dbeb7c2e 100644
--- a/openerp/addons/base/i18n/ar.po
+++ b/openerp/addons/base/i18n/ar.po
@@ -3721,7 +3721,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "ضريبة القيمة المضافة"
#. module: base
@@ -9975,7 +9975,7 @@ msgstr "الأسابيع"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/base.pot b/openerp/addons/base/i18n/base.pot
index b4d28052ba8..884dac7d821 100644
--- a/openerp/addons/base/i18n/base.pot
+++ b/openerp/addons/base/i18n/base.pot
@@ -3383,7 +3383,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9064,7 +9064,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/bg.po b/openerp/addons/base/i18n/bg.po
index ab9556f269c..2bb32e19c40 100644
--- a/openerp/addons/base/i18n/bg.po
+++ b/openerp/addons/base/i18n/bg.po
@@ -3705,7 +3705,7 @@ msgstr "Проверка на EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "ДДС"
#. module: base
@@ -9961,7 +9961,7 @@ msgstr "Седмици"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/bs.po b/openerp/addons/base/i18n/bs.po
index 778679bb04d..97e44c61523 100644
--- a/openerp/addons/base/i18n/bs.po
+++ b/openerp/addons/base/i18n/bs.po
@@ -3642,7 +3642,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9853,7 +9853,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/ca.po b/openerp/addons/base/i18n/ca.po
index fa5f95b14da..340ddb494f5 100644
--- a/openerp/addons/base/i18n/ca.po
+++ b/openerp/addons/base/i18n/ca.po
@@ -3757,7 +3757,7 @@ msgstr "Verificació EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@@ -10082,7 +10082,7 @@ msgstr "Setmanes"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/cs.po b/openerp/addons/base/i18n/cs.po
index 4819a321dda..79939664d5c 100644
--- a/openerp/addons/base/i18n/cs.po
+++ b/openerp/addons/base/i18n/cs.po
@@ -3787,7 +3787,7 @@ msgstr "Kontrola Ean"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "DIČ"
#. module: base
@@ -10090,7 +10090,7 @@ msgstr "Týdnů"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "DPH: "
#. module: base
diff --git a/openerp/addons/base/i18n/da.po b/openerp/addons/base/i18n/da.po
index 2710b5c4629..854dd6e6293 100644
--- a/openerp/addons/base/i18n/da.po
+++ b/openerp/addons/base/i18n/da.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "Moms"
#. module: base
@@ -9845,7 +9845,7 @@ msgstr "Uger"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/de.po b/openerp/addons/base/i18n/de.po
index 9db01f56eb0..017a2d48b6b 100644
--- a/openerp/addons/base/i18n/de.po
+++ b/openerp/addons/base/i18n/de.po
@@ -4266,7 +4266,7 @@ msgstr "EAN Prüfung"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "USt-IdNr. / UID"
#. module: base
@@ -10907,7 +10907,7 @@ msgstr "Wochen"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "UID: "
#. module: base
diff --git a/openerp/addons/base/i18n/el.po b/openerp/addons/base/i18n/el.po
index 7a9c9db6811..f8975ee4dad 100644
--- a/openerp/addons/base/i18n/el.po
+++ b/openerp/addons/base/i18n/el.po
@@ -3728,7 +3728,7 @@ msgstr "Έλεγχος ean"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "ΦΠΑ"
#. module: base
@@ -9997,7 +9997,7 @@ msgstr "Εβδομάδες"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/en_GB.po b/openerp/addons/base/i18n/en_GB.po
index d7bc4f79bbf..259f120278d 100644
--- a/openerp/addons/base/i18n/en_GB.po
+++ b/openerp/addons/base/i18n/en_GB.po
@@ -4123,7 +4123,7 @@ msgstr "Ean check"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "VAT"
#. module: base
@@ -10427,7 +10427,7 @@ msgstr "Weeks"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/es.po b/openerp/addons/base/i18n/es.po
index ef47237de9f..2c3cc3414af 100644
--- a/openerp/addons/base/i18n/es.po
+++ b/openerp/addons/base/i18n/es.po
@@ -3977,7 +3977,7 @@ msgstr "Verificación EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@@ -10306,7 +10306,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/es_AR.po b/openerp/addons/base/i18n/es_AR.po
index fdc9c0340dd..b36b88a179a 100644
--- a/openerp/addons/base/i18n/es_AR.po
+++ b/openerp/addons/base/i18n/es_AR.po
@@ -3668,7 +3668,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "CUIT"
#. module: base
@@ -9900,7 +9900,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/es_CL.po b/openerp/addons/base/i18n/es_CL.po
index 9c200b406c5..d484cdd7f94 100644
--- a/openerp/addons/base/i18n/es_CL.po
+++ b/openerp/addons/base/i18n/es_CL.po
@@ -3795,7 +3795,7 @@ msgstr "Verificación EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "RUT"
#. module: base
@@ -10124,7 +10124,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/es_CR.po b/openerp/addons/base/i18n/es_CR.po
index a5124cc2596..3eaeea2e0b0 100644
--- a/openerp/addons/base/i18n/es_CR.po
+++ b/openerp/addons/base/i18n/es_CR.po
@@ -1975,7 +1975,7 @@ msgstr ""
"``BE0477472701``\n"
"será validado con la normativa belga.\n"
"\n"
-"Hay dos niveles diferentes de validación del número de VAT: \n"
+"Hay dos niveles diferentes de validación del número de TIN: \n"
"\n"
"*Por defecto, un simple fuera de linea de verificación se realiza mediante "
"la validación conocida\n"
@@ -4391,7 +4391,7 @@ msgstr "Verificación EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@@ -12421,7 +12421,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "IVA: "
#. module: base
diff --git a/openerp/addons/base/i18n/es_EC.po b/openerp/addons/base/i18n/es_EC.po
index 9a8ee789f45..233214a8b3f 100644
--- a/openerp/addons/base/i18n/es_EC.po
+++ b/openerp/addons/base/i18n/es_EC.po
@@ -3971,7 +3971,7 @@ msgstr "Ean de verificación"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@@ -10350,7 +10350,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "IVA "
#. module: base
diff --git a/openerp/addons/base/i18n/et.po b/openerp/addons/base/i18n/et.po
index 92461a33610..164dbde7e9b 100644
--- a/openerp/addons/base/i18n/et.po
+++ b/openerp/addons/base/i18n/et.po
@@ -3665,7 +3665,7 @@ msgstr "Ean kontroll"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "Käibemaks"
#. module: base
@@ -9890,7 +9890,7 @@ msgstr "Nädalad"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/eu.po b/openerp/addons/base/i18n/eu.po
index cac59f27002..16081128c30 100644
--- a/openerp/addons/base/i18n/eu.po
+++ b/openerp/addons/base/i18n/eu.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/fa.po b/openerp/addons/base/i18n/fa.po
index 74885636856..fc9e0b5910a 100644
--- a/openerp/addons/base/i18n/fa.po
+++ b/openerp/addons/base/i18n/fa.po
@@ -3667,7 +3667,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "مالیات بر ارزش افزوده"
#. module: base
@@ -9894,7 +9894,7 @@ msgstr "هفته‌ها"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/fa_AF.po b/openerp/addons/base/i18n/fa_AF.po
index 99a346be694..86d22d26b10 100644
--- a/openerp/addons/base/i18n/fa_AF.po
+++ b/openerp/addons/base/i18n/fa_AF.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/fi.po b/openerp/addons/base/i18n/fi.po
index c2de09b902d..6cf9e4d0979 100644
--- a/openerp/addons/base/i18n/fi.po
+++ b/openerp/addons/base/i18n/fi.po
@@ -3751,7 +3751,7 @@ msgstr "EAN tarkistus"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "ALV"
#. module: base
@@ -10091,7 +10091,7 @@ msgstr "Viikot"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "ALV: "
#. module: base
diff --git a/openerp/addons/base/i18n/fr.po b/openerp/addons/base/i18n/fr.po
index 3f755a59d14..4849ed703f7 100644
--- a/openerp/addons/base/i18n/fr.po
+++ b/openerp/addons/base/i18n/fr.po
@@ -4371,7 +4371,7 @@ msgstr "Vérification EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "TVA"
#. module: base
@@ -11707,7 +11707,7 @@ msgstr "Semaines"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "TVA: "
#. module: base
diff --git a/openerp/addons/base/i18n/gl.po b/openerp/addons/base/i18n/gl.po
index 91ac9510620..bce4cfa8d20 100644
--- a/openerp/addons/base/i18n/gl.po
+++ b/openerp/addons/base/i18n/gl.po
@@ -3757,7 +3757,7 @@ msgstr "comprobar EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "IVE"
#. module: base
@@ -10069,7 +10069,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/gu.po b/openerp/addons/base/i18n/gu.po
index 91597862bf5..91a923c6c5b 100644
--- a/openerp/addons/base/i18n/gu.po
+++ b/openerp/addons/base/i18n/gu.po
@@ -3692,7 +3692,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9903,7 +9903,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/he.po b/openerp/addons/base/i18n/he.po
index 967b11c89a0..51dc0b68178 100644
--- a/openerp/addons/base/i18n/he.po
+++ b/openerp/addons/base/i18n/he.po
@@ -3654,7 +3654,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "מע\"מ"
#. module: base
@@ -9877,7 +9877,7 @@ msgstr "שבועות"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/hr.po b/openerp/addons/base/i18n/hr.po
index e50c21bd73c..da97294a878 100644
--- a/openerp/addons/base/i18n/hr.po
+++ b/openerp/addons/base/i18n/hr.po
@@ -3784,7 +3784,7 @@ msgstr "Provjera Ean"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "PDV"
#. module: base
@@ -10050,7 +10050,7 @@ msgstr "Tjedni"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "PDV "
#. module: base
diff --git a/openerp/addons/base/i18n/hu.po b/openerp/addons/base/i18n/hu.po
index d98ee515473..94525dfaff2 100644
--- a/openerp/addons/base/i18n/hu.po
+++ b/openerp/addons/base/i18n/hu.po
@@ -3744,7 +3744,7 @@ msgstr "EAN ellenőrzés"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "Közösségi/nemzetközi adószám"
#. module: base
@@ -10063,7 +10063,7 @@ msgstr "Hetek"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/hy.po b/openerp/addons/base/i18n/hy.po
index 2c5ed383c32..8d3072b598f 100644
--- a/openerp/addons/base/i18n/hy.po
+++ b/openerp/addons/base/i18n/hy.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/id.po b/openerp/addons/base/i18n/id.po
index de2d31683ee..f71c65e63e8 100644
--- a/openerp/addons/base/i18n/id.po
+++ b/openerp/addons/base/i18n/id.po
@@ -3638,7 +3638,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9849,7 +9849,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/is.po b/openerp/addons/base/i18n/is.po
index bab1f557502..d84c81ee518 100644
--- a/openerp/addons/base/i18n/is.po
+++ b/openerp/addons/base/i18n/is.po
@@ -3668,7 +3668,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "VSK"
#. module: base
@@ -9880,7 +9880,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/it.po b/openerp/addons/base/i18n/it.po
index e1f369680a2..8b33bb7a1e7 100644
--- a/openerp/addons/base/i18n/it.po
+++ b/openerp/addons/base/i18n/it.po
@@ -3807,7 +3807,7 @@ msgstr "Verifica EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "Partita IVA"
#. module: base
@@ -10132,7 +10132,7 @@ msgstr "Settimane"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/ja.po b/openerp/addons/base/i18n/ja.po
index 35382f62daa..a3fe9843e4e 100644
--- a/openerp/addons/base/i18n/ja.po
+++ b/openerp/addons/base/i18n/ja.po
@@ -4131,7 +4131,7 @@ msgstr "EANチェック"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "VAT(Value Added Tax)"
#. module: base
@@ -11571,7 +11571,7 @@ msgstr "週"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/ka.po b/openerp/addons/base/i18n/ka.po
index a7a4c233c3c..9edba583232 100644
--- a/openerp/addons/base/i18n/ka.po
+++ b/openerp/addons/base/i18n/ka.po
@@ -4267,7 +4267,7 @@ msgstr "EAN-ის შემოწმება"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "დღგ"
#. module: base
@@ -11688,7 +11688,7 @@ msgstr "კვირეები"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "დღგ: "
#. module: base
diff --git a/openerp/addons/base/i18n/kk.po b/openerp/addons/base/i18n/kk.po
index 09a985213b8..bffba2e7eb6 100644
--- a/openerp/addons/base/i18n/kk.po
+++ b/openerp/addons/base/i18n/kk.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr "апта"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/ko.po b/openerp/addons/base/i18n/ko.po
index b66cb25933e..95a91eb27cb 100644
--- a/openerp/addons/base/i18n/ko.po
+++ b/openerp/addons/base/i18n/ko.po
@@ -3681,7 +3681,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "부가세"
#. module: base
@@ -9906,7 +9906,7 @@ msgstr "주"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/lt.po b/openerp/addons/base/i18n/lt.po
index eb59a102506..fd31f08f45d 100644
--- a/openerp/addons/base/i18n/lt.po
+++ b/openerp/addons/base/i18n/lt.po
@@ -3646,7 +3646,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "PVM"
#. module: base
@@ -9877,7 +9877,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/lt_LT.po b/openerp/addons/base/i18n/lt_LT.po
index 13846af119e..be05dc522d1 100644
--- a/openerp/addons/base/i18n/lt_LT.po
+++ b/openerp/addons/base/i18n/lt_LT.po
@@ -4533,7 +4533,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/lv.po b/openerp/addons/base/i18n/lv.po
index 0a83e177d06..ddffb721e47 100644
--- a/openerp/addons/base/i18n/lv.po
+++ b/openerp/addons/base/i18n/lv.po
@@ -3678,7 +3678,7 @@ msgstr "EAN pārbaude"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "PVN"
#. module: base
@@ -9919,7 +9919,7 @@ msgstr "Nedēļas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/mk.po b/openerp/addons/base/i18n/mk.po
index 3414ae7063c..c83e232dc72 100644
--- a/openerp/addons/base/i18n/mk.po
+++ b/openerp/addons/base/i18n/mk.po
@@ -3645,7 +3645,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9856,7 +9856,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/mn.po b/openerp/addons/base/i18n/mn.po
index c80aa9afb14..3dfce8aabd9 100644
--- a/openerp/addons/base/i18n/mn.po
+++ b/openerp/addons/base/i18n/mn.po
@@ -4166,7 +4166,7 @@ msgstr "Зур.код чеклэх"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "НӨАТ"
#. module: base
@@ -11762,7 +11762,7 @@ msgstr "7 хоног"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "НӨАТ: "
#. module: base
diff --git a/openerp/addons/base/i18n/nb.po b/openerp/addons/base/i18n/nb.po
index 1542c677529..fc9ab46d995 100644
--- a/openerp/addons/base/i18n/nb.po
+++ b/openerp/addons/base/i18n/nb.po
@@ -3686,7 +3686,7 @@ msgstr "Ean sjekk"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "MVA"
#. module: base
@@ -9926,7 +9926,7 @@ msgstr "Uker"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/nl.po b/openerp/addons/base/i18n/nl.po
index 45560f7e363..ba5b8b3cd07 100644
--- a/openerp/addons/base/i18n/nl.po
+++ b/openerp/addons/base/i18n/nl.po
@@ -3863,7 +3863,7 @@ msgstr "Ean controle"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "BTW"
#. module: base
@@ -10292,7 +10292,7 @@ msgstr "Weken"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "BTW: "
#. module: base
diff --git a/openerp/addons/base/i18n/nl_BE.po b/openerp/addons/base/i18n/nl_BE.po
index cf2cc84f2fd..d7f03b217f4 100644
--- a/openerp/addons/base/i18n/nl_BE.po
+++ b/openerp/addons/base/i18n/nl_BE.po
@@ -3649,7 +3649,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9860,7 +9860,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/nl_NL.po b/openerp/addons/base/i18n/nl_NL.po
index bfb371faf05..267b058bfef 100644
--- a/openerp/addons/base/i18n/nl_NL.po
+++ b/openerp/addons/base/i18n/nl_NL.po
@@ -4711,7 +4711,7 @@ msgstr "html"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "BTW"
#. module: base
diff --git a/openerp/addons/base/i18n/pl.po b/openerp/addons/base/i18n/pl.po
index b0e489d3b03..a58a4b07acc 100644
--- a/openerp/addons/base/i18n/pl.po
+++ b/openerp/addons/base/i18n/pl.po
@@ -3730,7 +3730,7 @@ msgstr "Sprawdzanie EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "NIP"
#. module: base
@@ -10025,7 +10025,7 @@ msgstr "Tygodni"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "NIP: "
#. module: base
diff --git a/openerp/addons/base/i18n/pt.po b/openerp/addons/base/i18n/pt.po
index b60b9b98d76..ef27a385d12 100644
--- a/openerp/addons/base/i18n/pt.po
+++ b/openerp/addons/base/i18n/pt.po
@@ -3959,7 +3959,7 @@ msgstr "Verificar EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "IVA"
#. module: base
@@ -10340,7 +10340,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "IVA: "
#. module: base
diff --git a/openerp/addons/base/i18n/pt_BR.po b/openerp/addons/base/i18n/pt_BR.po
index 97cbcce0eb6..01db31d7ebe 100644
--- a/openerp/addons/base/i18n/pt_BR.po
+++ b/openerp/addons/base/i18n/pt_BR.po
@@ -4164,7 +4164,7 @@ msgstr "Verificar EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "Imposto"
#. module: base
@@ -10849,8 +10849,8 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
-msgstr "VAT: "
+msgid "TIN: "
+msgstr "TIN: "
#. module: base
#: model:res.country,name:base.af
diff --git a/openerp/addons/base/i18n/ro.po b/openerp/addons/base/i18n/ro.po
index f079b8bd10a..aa7d5de6a86 100644
--- a/openerp/addons/base/i18n/ro.po
+++ b/openerp/addons/base/i18n/ro.po
@@ -4363,7 +4363,7 @@ msgstr "Verificati codul EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "TVA"
#. module: base
@@ -12351,7 +12351,7 @@ msgstr "Saptamani"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "TVA: "
#. module: base
diff --git a/openerp/addons/base/i18n/ru.po b/openerp/addons/base/i18n/ru.po
index c3ba2f63acd..d879ea9fefc 100644
--- a/openerp/addons/base/i18n/ru.po
+++ b/openerp/addons/base/i18n/ru.po
@@ -3811,7 +3811,7 @@ msgstr "Проверка кода Ean"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "ИНН"
#. module: base
@@ -10154,7 +10154,7 @@ msgstr "Недели"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/sk.po b/openerp/addons/base/i18n/sk.po
index 94ee24e819d..d1da2e46b6d 100644
--- a/openerp/addons/base/i18n/sk.po
+++ b/openerp/addons/base/i18n/sk.po
@@ -3712,7 +3712,7 @@ msgstr "Ean kontrola"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "DPH"
#. module: base
@@ -9991,7 +9991,7 @@ msgstr "Týždne"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/sl.po b/openerp/addons/base/i18n/sl.po
index f9eeb1456c2..8a800c2d8ea 100644
--- a/openerp/addons/base/i18n/sl.po
+++ b/openerp/addons/base/i18n/sl.po
@@ -3741,7 +3741,7 @@ msgstr "Preveri ean"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "DDV"
#. module: base
@@ -10047,7 +10047,7 @@ msgstr "Tedni"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/sq.po b/openerp/addons/base/i18n/sq.po
index b1f0478ed8a..735a237fbed 100644
--- a/openerp/addons/base/i18n/sq.po
+++ b/openerp/addons/base/i18n/sq.po
@@ -3633,7 +3633,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9844,7 +9844,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/sr.po b/openerp/addons/base/i18n/sr.po
index e8c74060cc3..a1d444c03b0 100644
--- a/openerp/addons/base/i18n/sr.po
+++ b/openerp/addons/base/i18n/sr.po
@@ -3710,7 +3710,7 @@ msgstr "EAN provera"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "PDV"
#. module: base
@@ -9975,7 +9975,7 @@ msgstr "Nedelje"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/sr@latin.po b/openerp/addons/base/i18n/sr@latin.po
index 5c187aeec8b..2632130f415 100644
--- a/openerp/addons/base/i18n/sr@latin.po
+++ b/openerp/addons/base/i18n/sr@latin.po
@@ -4309,7 +4309,7 @@ msgstr "EAN provera"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "PDV"
#. module: base
@@ -11242,7 +11242,7 @@ msgstr "Nedelje"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "PDV: "
#. module: base
diff --git a/openerp/addons/base/i18n/sv.po b/openerp/addons/base/i18n/sv.po
index 2e9ff2e0539..ba4f6334f63 100644
--- a/openerp/addons/base/i18n/sv.po
+++ b/openerp/addons/base/i18n/sv.po
@@ -3952,7 +3952,7 @@ msgstr "EAN kontroll"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "Moms"
#. module: base
@@ -10426,7 +10426,7 @@ msgstr "Veckor"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "Moms: "
#. module: base
diff --git a/openerp/addons/base/i18n/th.po b/openerp/addons/base/i18n/th.po
index df20f7a2adc..2e53f3a9734 100644
--- a/openerp/addons/base/i18n/th.po
+++ b/openerp/addons/base/i18n/th.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/tlh.po b/openerp/addons/base/i18n/tlh.po
index 805035cf850..58b349f8bbd 100644
--- a/openerp/addons/base/i18n/tlh.po
+++ b/openerp/addons/base/i18n/tlh.po
@@ -3633,7 +3633,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9844,7 +9844,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/tr.po b/openerp/addons/base/i18n/tr.po
index b6670894b5c..9d54b0aed7e 100644
--- a/openerp/addons/base/i18n/tr.po
+++ b/openerp/addons/base/i18n/tr.po
@@ -3773,7 +3773,7 @@ msgstr "EAN kontrolü"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "KDV"
#. module: base
@@ -10097,7 +10097,7 @@ msgstr "Hafta"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "VNO: "
#. module: base
diff --git a/openerp/addons/base/i18n/uk.po b/openerp/addons/base/i18n/uk.po
index 79d5db6ef59..8310cd833ce 100644
--- a/openerp/addons/base/i18n/uk.po
+++ b/openerp/addons/base/i18n/uk.po
@@ -3669,7 +3669,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "ПДВ"
#. module: base
@@ -9893,7 +9893,7 @@ msgstr "Тижні"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/uk_UA.po b/openerp/addons/base/i18n/uk_UA.po
index 8263fde5c5e..8a8f1d3613f 100644
--- a/openerp/addons/base/i18n/uk_UA.po
+++ b/openerp/addons/base/i18n/uk_UA.po
@@ -4551,7 +4551,7 @@ msgstr "html"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "ПДВ"
#. module: base
diff --git a/openerp/addons/base/i18n/ur.po b/openerp/addons/base/i18n/ur.po
index 4239bc2adf3..c48f39785d1 100644
--- a/openerp/addons/base/i18n/ur.po
+++ b/openerp/addons/base/i18n/ur.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/vi.po b/openerp/addons/base/i18n/vi.po
index 0255aaf2f57..51c018a9672 100644
--- a/openerp/addons/base/i18n/vi.po
+++ b/openerp/addons/base/i18n/vi.po
@@ -3661,7 +3661,7 @@ msgstr "Kiểm tra EAN"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "Thuế GTGT"
#. module: base
@@ -9878,7 +9878,7 @@ msgstr "Tuần"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/zh_CN.po b/openerp/addons/base/i18n/zh_CN.po
index ee0f43d8372..3cf1f1365fb 100644
--- a/openerp/addons/base/i18n/zh_CN.po
+++ b/openerp/addons/base/i18n/zh_CN.po
@@ -4032,7 +4032,7 @@ msgstr "条码检查"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "增值税"
#. module: base
@@ -10638,7 +10638,7 @@ msgstr "周"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr "增值税: "
#. module: base
diff --git a/openerp/addons/base/i18n/zh_HK.po b/openerp/addons/base/i18n/zh_HK.po
index 96313cd3e58..216a05705bb 100644
--- a/openerp/addons/base/i18n/zh_HK.po
+++ b/openerp/addons/base/i18n/zh_HK.po
@@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr ""
#. module: base
@@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/i18n/zh_TW.po b/openerp/addons/base/i18n/zh_TW.po
index a4804f29e56..aad1201ccfa 100644
--- a/openerp/addons/base/i18n/zh_TW.po
+++ b/openerp/addons/base/i18n/zh_TW.po
@@ -3639,7 +3639,7 @@ msgstr "Ean 檢查"
#. module: base
#: field:res.partner,vat:0
-msgid "VAT"
+msgid "TIN"
msgstr "增值稅"
#. module: base
@@ -9858,7 +9858,7 @@ msgstr "週"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
-msgid "VAT: "
+msgid "TIN: "
msgstr ""
#. module: base
diff --git a/openerp/addons/base/ir/ir.xml b/openerp/addons/base/ir/ir.xml
index 9027ec7dffe..fd4bb2f89b4 100644
--- a/openerp/addons/base/ir/ir.xml
+++ b/openerp/addons/base/ir/ir.xml
@@ -6,7 +6,6 @@
<record id="values_view_form_action" model="ir.ui.view">
<field name="name">ir.values.form.action</field>
<field name="model">ir.values</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Action Bindings" version="7.0">
<group>
@@ -29,7 +28,6 @@
<record id="values_view_form_defaults" model="ir.ui.view">
<field name="name">ir.values.form.defaults</field>
<field name="model">ir.values</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="User-defined Defaults" version="7.0">
<group>
@@ -52,7 +50,6 @@
<record id="values_view_tree_action" model="ir.ui.view">
<field name="name">ir.values.tree.action</field>
<field name="model">ir.values</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Action Bindings/Defaults">
<field name="name"/>
@@ -65,7 +62,6 @@
<record id="values_view_search_action" model="ir.ui.view">
<field name="name">ir.values.search.action</field>
<field name="model">ir.values</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Client Actions">
<field name="name"
@@ -130,7 +126,6 @@
<record id="sequence_view" model="ir.ui.view">
<field name="name">ir.sequence.form</field>
<field name="model">ir.sequence</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Sequences" version="7.0">
<sheet>
@@ -179,7 +174,6 @@
<record id="sequence_view_tree" model="ir.ui.view">
<field name="name">ir.sequence.tree</field>
<field name="model">ir.sequence</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Sequences">
<field name="code"/>
@@ -197,7 +191,6 @@
<record id="view_sequence_search" model="ir.ui.view">
<field name="name">ir.sequence.search</field>
<field name="model">ir.sequence</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Sequences">
<field name="name" string="Sequence"/>
@@ -223,7 +216,6 @@
<record id="sequence_type_form_view" model="ir.ui.view">
<field name="name">ir.sequence.type.form</field>
<field name="model">ir.sequence.type</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Sequence Type" version="7.0">
<sheet>
@@ -239,7 +231,6 @@
<record id="sequence_type_tree_view" model="ir.ui.view">
<field name="name">ir.sequence.type.tree</field>
<field name="model">ir.sequence.type</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Sequence Type">
<field name="name"/>
@@ -251,7 +242,6 @@
<record id="view_sequence_type_search" model="ir.ui.view">
<field name="name">ir.sequence.type.search</field>
<field name="model">ir.sequence.type</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Sequences Type">
<field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Sequence Type"/>
@@ -276,7 +266,6 @@
<record id="action_view" model="ir.ui.view">
<field name="name">ir.actions.actions</field>
<field name="model">ir.actions.actions</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Action" version="7.0">
<group>
@@ -290,7 +279,6 @@
<record id="action_view_tree" model="ir.ui.view">
<field name="name">ir.actions.actions.tree</field>
<field name="model">ir.actions.actions</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Action">
<field name="name"/>
@@ -301,7 +289,6 @@
<record id="action_view_search" model="ir.ui.view">
<field name="name">ir.actions.actions.search</field>
<field name="model">ir.actions.actions</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Action">
<field name="name" filter_domain="['|', ('name','ilike',self), ('type','ilike',self)]" string="Action"/>
@@ -327,7 +314,6 @@
<record id="act_report_xml_view" model="ir.ui.view">
<field name="name">ir.actions.report.xml</field>
<field name="model">ir.actions.report.xml</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Report" version="7.0">
<group>
@@ -372,7 +358,6 @@
<record id="act_report_xml_view_tree" model="ir.ui.view">
<field name="name">ir.actions.report.xml.tree</field>
<field name="model">ir.actions.report.xml</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Report xml">
<field name="name"/>
@@ -387,7 +372,6 @@
<record id="act_report_xml_search_view" model="ir.ui.view">
<field name="name">ir.actions.report.xml.search</field>
<field name="model">ir.actions.report.xml</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Report Xml">
<field name="name"
@@ -413,7 +397,6 @@
<record id="view_window_action_tree" model="ir.ui.view">
<field name="name">ir.actions.windows.tree</field>
<field name="model">ir.actions.act_window</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Open Window">
<field name="name"/>
@@ -428,7 +411,6 @@
<record id="view_window_action_form" model="ir.ui.view">
<field name="name">ir.actions.windows.form</field>
<field name="model">ir.actions.act_window</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Open a Window" version="7.0">
<group>
@@ -491,7 +473,6 @@
<record id="view_window_action_search" model="ir.ui.view">
<field name="name">ir.actions.windows.search</field>
<field name="model">ir.actions.act_window</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Open a Window">
<field name="name" filter_domain="['|', ('name','ilike',self), ('res_model','ilike',self)]" string="Action"/>
@@ -527,7 +508,6 @@
<record id="act_wizard_view_tree" model="ir.ui.view">
<field name="name">ir.actions.wizard.tree</field>
<field name="model">ir.actions.wizard</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Wizard">
<field name="name"/>
@@ -540,7 +520,6 @@
<record id="act_wizard_view" model="ir.ui.view">
<field name="name">ir.actions.wizard</field>
<field name="model">ir.actions.wizard</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Wizards" version="7.0">
<group col="4">
@@ -558,7 +537,6 @@
<record id="act_wizard_search_view" model="ir.ui.view">
<field name="name">ir.actions.wizard.search</field>
<field name="model">ir.actions.wizard</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Wizards">
<field name="name"
@@ -582,8 +560,6 @@
<record model="ir.ui.view" id="view_ir_needaction_users_rel_tree">
<field name="name">ir.needaction_users_rel.tree</field>
<field name="model">ir.needaction_users_rel</field>
- <field name="type">tree</field>
- <field name="sequence">10</field>
<field name="arch" type="xml">
<tree string="Subscription">
<field name="user_id"/>
@@ -607,7 +583,6 @@
<record id="view_view_form" model="ir.ui.view">
<field name="name">ir.ui.view</field>
<field name="model">ir.ui.view</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Views" version="7.0">
<sheet>
@@ -633,7 +608,6 @@
<record id="view_view_tree" model="ir.ui.view">
<field name="name">ir.ui.view.tree</field>
<field name="model">ir.ui.view</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Views">
<field name="priority" string="Sequence"/>
@@ -649,7 +623,6 @@
<record id="view_view_search" model="ir.ui.view">
<field name="name">ir.ui.view.search</field>
<field name="model">ir.ui.view</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Views">
<field name="name" filter_domain="['|', ('name','ilike',self), ('model','ilike',self)]" string="View"/>
@@ -686,7 +659,6 @@
<record id="view_view_custom_search" model="ir.ui.view">
<field name="name">ir.ui.view.custom.search</field>
<field name="model">ir.ui.view.custom</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Customized Views">
<field name="user_id"/>
@@ -697,7 +669,6 @@
<record id="view_view_custom_form" model="ir.ui.view">
<field name="name">ir.ui.view.custom.form</field>
<field name="model">ir.ui.view.custom</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Customized Views" version="7.0">
<sheet>
@@ -713,7 +684,6 @@
<record id="view_view_custom_tree" model="ir.ui.view">
<field name="name">ir.ui.view.custom.tree</field>
<field name="model">ir.ui.view.custom</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Customized Views">
<field name="user_id"/>
@@ -734,7 +704,6 @@
<record id="view_attachment_form" model="ir.ui.view">
<field name="name">ir.attachment.view</field>
<field name="model">ir.attachment</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Attachments" version="7.0">
<sheet>
@@ -773,7 +742,6 @@
<record id="view_attachment_tree" model="ir.ui.view">
<field name="name">ir.attachment.view.tree</field>
<field name="model">ir.attachment</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Attachments">
<field name="name"/>
@@ -788,7 +756,6 @@
<record id="view_attachment_search" model="ir.ui.view">
<field name="name">ir.attachment.search</field>
<field name="model">ir.attachment</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Attachments">
<field name="name" filter_domain="['|', ('name','ilike',self), ('datas_fname','ilike',self)]" string="Attachment"/>
@@ -831,7 +798,6 @@
<record id="view_model_form" model="ir.ui.view">
<field name="name">ir.model.form</field>
<field name="model">ir.model</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Model Description" version="7.0">
<sheet>
@@ -921,7 +887,6 @@
<record id="view_model_tree" model="ir.ui.view">
<field name="name">ir.model.tree</field>
<field name="model">ir.model</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Model Description">
<field name="model"/>
@@ -935,7 +900,6 @@
<record id="view_model_search" model="ir.ui.view">
<field name="name">ir.model.search</field>
<field name="model">ir.model</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Model Description">
<field name="name" filter_domain="['|', ('name','ilike',self), ('model','ilike',self)]" string="Model"/>
@@ -957,7 +921,6 @@
<record id="view_model_fields_form" model="ir.ui.view">
<field name="name">ir.model.fields.form</field>
<field name="model">ir.model.fields</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Fields" version="7.0">
<sheet>
@@ -1000,7 +963,6 @@
<record id="view_model_fields_tree" model="ir.ui.view">
<field name="name">ir.model.fields.tree</field>
<field name="model">ir.model.fields</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Fields">
<field name="name"/>
@@ -1015,7 +977,6 @@
<record id="view_model_fields_search" model="ir.ui.view">
<field name="name">ir.model.fields.search</field>
<field name="model">ir.model.fields</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Fields">
<field name="name" filter_domain="['|', ('name','ilike',self), ('field_description','ilike',self)]" string="Field"/>
@@ -1044,7 +1005,6 @@
<record model="ir.ui.view" id="view_model_data_form">
<field name="name">ir.model.data.form</field>
<field name="model">ir.model.data</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="External Identifiers" version="7.0">
<group>
@@ -1071,7 +1031,6 @@
<record id="view_model_data_list" model="ir.ui.view">
<field name="name">ir.model.data.list</field>
<field name="model">ir.model.data</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="External Identifiers">
<field name="complete_name"/>
@@ -1084,7 +1043,6 @@
<record id="view_model_data_search" model="ir.ui.view">
<field name="name">ir.model.data.search</field>
<field name="model">ir.model.data</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="External Identifiers">
<field name="name"
@@ -1106,7 +1064,6 @@
<record model="ir.ui.view" id="view_model_constraint_form">
<field name="name">ir.model.constraint.form</field>
<field name="model">ir.model.constraint</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Model Constraints">
<field name="type"/>
@@ -1123,7 +1080,6 @@
<record id="view_model_constraint_list" model="ir.ui.view">
<field name="name">ir.model.constraint.list</field>
<field name="model">ir.model.constraint</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Model Constraints">
<field name="type"/>
@@ -1137,7 +1093,6 @@
<record model="ir.ui.view" id="view_model_relation_form">
<field name="name">ir.model.relation.form</field>
<field name="model">ir.model.relation</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="ManyToMany Relations">
<field name="name"/>
@@ -1153,7 +1108,6 @@
<record id="view_model_relation_list" model="ir.ui.view">
<field name="name">ir.model.relation.list</field>
<field name="model">ir.model.relation</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="ManyToMany Relations">
<field name="name"/>
@@ -1214,7 +1168,6 @@
<record id="view_translation_search" model="ir.ui.view">
<field name="name">Translations</field>
<field name="model">ir.translation</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Translations">
<filter icon="terp-gdu-smart-failing"
@@ -1230,7 +1183,6 @@
<record id="view_translation_form" model="ir.ui.view">
<field name="name">Translations</field>
<field name="model">ir.translation</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Translations" version="7.0">
<header>
@@ -1260,7 +1212,6 @@
<record id="view_translation_tree" model="ir.ui.view">
<field name="name">Translations</field>
<field name="model">ir.translation</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Translations">
<field name="src"/>
@@ -1289,7 +1240,6 @@
<record id="shortcut_form" model="ir.ui.view">
<field name="name">ir.ui.view_sc</field>
<field name="model">ir.ui.view_sc</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Shortcut" version="7.0">
<group col="4">
@@ -1302,7 +1252,6 @@
<record id="shortcut_tree" model="ir.ui.view">
<field name="name">ir.ui.view_sc</field>
<field name="model">ir.ui.view_sc</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Shortcut">
<field name="name"/>
@@ -1314,7 +1263,6 @@
<record id="edit_menu" model="ir.ui.view">
<field name="name">ir.ui.menu.tree</field>
<field name="model">ir.ui.menu</field>
- <field name="type">tree</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree string="Menu">
@@ -1327,7 +1275,6 @@
<record id="edit_menu_access" model="ir.ui.view">
<field name="name">ir.ui.menu.form2</field>
<field name="model">ir.ui.menu</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Menu" version="7.0">
<sheet>
@@ -1367,7 +1314,6 @@
<record id="edit_menu_access_search" model="ir.ui.view">
<field name="name">ir.ui.menu.search</field>
<field name="model">ir.ui.menu</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Menu">
<field name="name" string="Menu"/>
@@ -1392,7 +1338,6 @@
<record id="ir_cron_view_tree" model="ir.ui.view">
<field name="name">ir.cron.tree</field>
<field name="model">ir.cron</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Scheduled Actions">
<field name="priority" string="Sequence"/>
@@ -1409,7 +1354,6 @@
<record id="ir_cron_view" model="ir.ui.view">
<field name="name">ir.cron.form</field>
<field name="model">ir.cron</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Scheduled Actions" version="7.0">
<sheet>
@@ -1447,7 +1391,6 @@
<record id="ir_cron_view_search" model="ir.ui.view">
<field name="name">ir.cron.search</field>
<field name="model">ir.cron</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Scheduled Actions">
<field name="name" string="Scheduled Action"/>
@@ -1466,7 +1409,6 @@
<record model="ir.ui.view" id="ir_cron_view_calendar">
<field name="name">ir.cron.calendar</field>
<field name="model">ir.cron</field>
- <field name="type">calendar</field>
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<calendar string="Scheduled Actions" date_start="nextcall" color="user_id">
@@ -1493,7 +1435,6 @@
<record id="ir_access_view_tree" model="ir.ui.view">
<field name="name">ir.model.access.tree</field>
<field name="model">ir.model.access</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Access Controls" editable="bottom">
<field name="name"/>
@@ -1509,7 +1450,6 @@
<record id="ir_access_view_form" model="ir.ui.view">
<field name="name">ir.model.access.form</field>
<field name="model">ir.model.access</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Access Controls" version="7.0">
<sheet>
@@ -1531,7 +1471,6 @@
<record id="ir_access_view_search" model="ir.ui.view">
<field name="name">ir.model.access.search</field>
<field name="model">ir.model.access</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Access Controls">
<field name="name" string="Access Control"/>
@@ -1564,7 +1503,6 @@
<record id="view_rule_form" model="ir.ui.view">
<field name="name">Record rules</field>
<field name="model">ir.rule</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Record rules" version="7.0">
<sheet>
@@ -1607,7 +1545,6 @@
<record id="view_rule_tree" model="ir.ui.view">
<field name="name">Record rules</field>
<field name="model">ir.rule</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Record rules">
<field name="model_id"/>
@@ -1624,7 +1561,6 @@
<record id="view_rule_search" model="ir.ui.view">
<field name="name">Record rules</field>
<field name="model">ir.rule</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Record Rules">
<field name="name" string="Record Rule"/>
@@ -1660,7 +1596,6 @@
<record id="view_server_action_form" model="ir.ui.view">
<field name="name">Server Action</field>
<field name="model">ir.actions.server</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Server Action" version="7.0">
<group>
@@ -1750,7 +1685,6 @@
<record id="view_server_action_tree" model="ir.ui.view">
<field name="name">Server Actions</field>
<field name="model">ir.actions.server</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Server Actions">
<field name="name"/>
@@ -1764,7 +1698,6 @@
<record id="view_server_action_search" model="ir.ui.view">
<field name="name">ir.actions.server.search</field>
<field name="model">ir.actions.server</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Server Actions">
<field name="name" string="Server Action"/>
@@ -1794,7 +1727,6 @@
<record id="ir_actions_todo_tree" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">Config Wizard Steps</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Config Wizard Steps">
<field name="sequence"/>
@@ -1812,7 +1744,6 @@
<record id="config_wizard_step_view_form" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">Config Wizard Steps</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Config Wizard Steps" version="7.0">
<header>
@@ -1842,7 +1773,6 @@
<record id="config_wizard_step_view_search" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">ir.actions.todo.select</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Actions">
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" [('state','=','open')]" help="Wizards to be Launched"/>
@@ -1878,7 +1808,6 @@
<record model="ir.ui.view" id="ir_mail_server_form">
<field name="name">ir.mail.server.form</field>
<field name="model">ir.mail_server</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Outgoing Mail Servers" version="7.0">
<sheet>
@@ -1905,7 +1834,6 @@
<record model="ir.ui.view" id="ir_mail_server_list">
<field name="name">ir.mail.server.list</field>
<field name="model">ir.mail_server</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Outgoing Mail Servers">
<field name="sequence"/>
@@ -1920,7 +1848,6 @@
<record id="view_ir_mail_server_search" model="ir.ui.view">
<field name="name">ir.mail.server.search</field>
<field name="model">ir.mail_server</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Outgoing Mail Servers">
<field name="name"
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 72fd6aab349..a5d04d7f1bc 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -625,8 +625,8 @@ class actions_server(osv.osv):
if not email_from:
_logger.debug('--email-from command line option is not specified, using a fallback value instead.')
- if user.user_email:
- email_from = user.user_email
+ if user.email:
+ email_from = user.email
else:
email_from = "%s@%s" % (user.login, gethostname())
diff --git a/openerp/addons/base/ir/ir_config_parameter_view.xml b/openerp/addons/base/ir/ir_config_parameter_view.xml
index 9254e043491..e4af6c66bab 100644
--- a/openerp/addons/base/ir/ir_config_parameter_view.xml
+++ b/openerp/addons/base/ir/ir_config_parameter_view.xml
@@ -5,7 +5,6 @@
<record model="ir.ui.view" id="view_ir_config_search">
<field name="name">ir.config_parameter.search</field>
<field name="model">ir.config_parameter</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="System Properties">
<field name="key" string="Key"/>
@@ -16,7 +15,6 @@
<record model="ir.ui.view" id="view_ir_config_list">
<field name="name">ir.config_parameter.list</field>
<field name="model">ir.config_parameter</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="System Parameters">
<field name="key"/>
@@ -27,7 +25,6 @@
<record model="ir.ui.view" id="view_ir_config_form">
<field name="name">ir.config_parameter.form</field>
<field name="model">ir.config_parameter</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="System Parameters" version="7.0">
<sheet>
diff --git a/openerp/addons/base/ir/ir_filters.xml b/openerp/addons/base/ir/ir_filters.xml
index fec6b0a604e..e4b10d41a03 100644
--- a/openerp/addons/base/ir/ir_filters.xml
+++ b/openerp/addons/base/ir/ir_filters.xml
@@ -14,7 +14,6 @@
<record id="ir_filters_view_form" model="ir.ui.view">
<field name="name">ir.filters.form</field>
<field name="model">ir.filters</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Filters" version="7.0">
<sheet>
@@ -35,7 +34,6 @@
<record id="ir_filters_view_tree" model="ir.ui.view">
<field name="name">ir.filters.tree</field>
<field name="model">ir.filters</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Filters">
<field name="name"/>
@@ -50,7 +48,6 @@
<record id="ir_filters_view_search" model="ir.ui.view">
<field name="name">ir.filters.search</field>
<field name="model">ir.filters</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Filters">
<field name="name" string="Filter Name"/>
diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py
index e777b390aa8..46ab8841deb 100644
--- a/openerp/addons/base/ir/ir_model.py
+++ b/openerp/addons/base/ir/ir_model.py
@@ -183,7 +183,6 @@ class ir_model(osv.osv):
res = super(ir_model,self).create(cr, user, vals, context)
if vals.get('state','base')=='manual':
self.instanciate(cr, user, vals['model'], context)
- self.pool.get(vals['model']).__init__(self.pool, cr)
ctx = dict(context,
field_name=vals['name'],
field_state='manual',
@@ -198,7 +197,9 @@ class ir_model(osv.osv):
x_custom_model._name = model
x_custom_model._module = False
a = x_custom_model.create_instance(self.pool, cr)
- if (not a._columns) or ('x_name' in a._columns.keys()):
+ if not a._columns:
+ x_name = 'id'
+ elif 'x_name' in a._columns.keys():
x_name = 'x_name'
else:
x_name = a._columns.keys()[0]
@@ -931,6 +932,9 @@ class ir_model_data(osv.osv):
ir_model_relation = self.pool.get('ir.model.relation')
relation_ids = ir_model_relation.search(cr, uid, [('module', 'in', modules_to_remove)])
+ ir_module_module = self.pool.get('ir.module.module')
+ modules_to_remove_ids = ir_module_module.search(cr, uid, [('name', 'in', modules_to_remove)])
+ relation_ids = ir_model_relation.search(cr, uid, [('module', 'in', modules_to_remove_ids)])
ir_model_relation._module_data_uninstall(cr, uid, relation_ids, context)
unlink_if_refcount((model, res_id) for model, res_id in to_unlink
diff --git a/openerp/addons/base/ir/ir_model_constraint.py b/openerp/addons/base/ir/ir_model_constraint.py
index 4a69bc2f0a7..a3099339131 100644
--- a/openerp/addons/base/ir/ir_model_constraint.py
+++ b/openerp/addons/base/ir/ir_model_constraint.py
@@ -45,7 +45,6 @@ class ir_model_constraint(Model):
ids_set = set(ids)
ids.sort()
ids.reverse()
- to_unlink = []
for data in self.browse(cr, uid, ids, context):
model = data.model.model
model_obj = self.pool.get(model)
@@ -75,5 +74,4 @@ class ir_model_constraint(Model):
cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),)
_logger.info('Dropped CONSTRAINT %s@%s', name, model)
- to_unlink.append(data.id)
- self.unlink(cr, uid, to_unlink, context)
+ self.unlink(cr, uid, ids, context)
diff --git a/openerp/addons/base/ir/ir_model_relation.py b/openerp/addons/base/ir/ir_model_relation.py
index eede6eae44f..fc6dae2ca52 100644
--- a/openerp/addons/base/ir/ir_model_relation.py
+++ b/openerp/addons/base/ir/ir_model_relation.py
@@ -36,7 +36,6 @@ class ir_model_relation(Model):
to_drop_table = []
ids.sort()
ids.reverse()
- to_unlink = []
for data in self.browse(cr, uid, ids, context):
model = data.model
model_obj = self.pool.get(model)
@@ -53,9 +52,7 @@ class ir_model_relation(Model):
if cr.fetchone() and not name in to_drop_table:
to_drop_table.append(name)
- to_unlink.append(data.id)
-
- self.unlink(cr, uid, to_unlink, context)
+ self.unlink(cr, uid, ids, context)
# drop m2m relation tables
for table in to_drop_table:
diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py
index ac3644a28f7..b2805884f18 100644
--- a/openerp/addons/base/ir/ir_ui_view.py
+++ b/openerp/addons/base/ir/ir_ui_view.py
@@ -24,6 +24,7 @@ from lxml import etree
from tools import graph
from tools.safe_eval import safe_eval as eval
import tools
+from tools.view_validation import valid_view
import os
import logging
@@ -47,11 +48,22 @@ view_custom()
class view(osv.osv):
_name = 'ir.ui.view'
+
+ def _type_field(self, cr, uid, ids, name, args, context=None):
+ result = {}
+ for record in self.browse(cr, uid, ids, context):
+ # Get the type from the inherited view if any.
+ if record.inherit_id:
+ result[record.id] = record.inherit_id.type
+ else:
+ result[record.id] = etree.fromstring(record.arch.encode('utf8')).tag
+ return result
+
_columns = {
'name': fields.char('View Name',size=64, required=True),
'model': fields.char('Object', size=64, required=True, select=True),
'priority': fields.integer('Sequence', required=True),
- 'type': fields.selection((
+ 'type': fields.function(_type_field, type='selection', selection=[
('tree','Tree'),
('form','Form'),
('mdx','mdx'),
@@ -60,7 +72,7 @@ class view(osv.osv):
('diagram','Diagram'),
('gantt', 'Gantt'),
('kanban', 'Kanban'),
- ('search','Search')), 'View Type', required=True, select=True),
+ ('search','Search')], string='View Type', required=True, select=True, store=True),
'arch': fields.text('View Architecture', required=True),
'inherit_id': fields.many2one('ir.ui.view', 'Inherited View', ondelete='cascade', select=True),
'field_parent': fields.char('Child Field',size=64),
@@ -76,6 +88,11 @@ class view(osv.osv):
# Holds the RNG schema
_relaxng_validator = None
+ def create(self, cr, uid, values, context=None):
+ if 'type' in values:
+ _logger.warning("Setting the `type` field is deprecated in the `ir.ui.view` model.")
+ return super(osv.osv, self).create(cr, uid, values, context)
+
def _relaxng(self):
if not self._relaxng_validator:
frng = tools.file_open(os.path.join('base','rng','view.rng'))
@@ -123,6 +140,8 @@ class view(osv.osv):
for error in validator.error_log:
_logger.error(tools.ustr(error))
return False
+ if not valid_view(view_arch):
+ return False
return True
_constraints = [
@@ -133,7 +152,7 @@ class view(osv.osv):
super(view, self)._auto_init(cr, context)
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'ir_ui_view_model_type_inherit_id\'')
if not cr.fetchone():
- cr.execute('CREATE INDEX ir_ui_view_model_type_inherit_id ON ir_ui_view (model, type, inherit_id)')
+ cr.execute('CREATE INDEX ir_ui_view_model_type_inherit_id ON ir_ui_view (model, inherit_id)')
def get_inheriting_views_arch(self, cr, uid, view_id, model, context=None):
"""Retrieves the architecture of views that inherit from the given view, from the sets of
diff --git a/openerp/addons/base/ir/wizard/wizard_menu_view.xml b/openerp/addons/base/ir/wizard/wizard_menu_view.xml
index 9f5d912ed1a..7fd32b256e2 100644
--- a/openerp/addons/base/ir/wizard/wizard_menu_view.xml
+++ b/openerp/addons/base/ir/wizard/wizard_menu_view.xml
@@ -4,7 +4,6 @@
<record id="view_model_menu_create" model="ir.ui.view">
<field name="name">Create Menu</field>
<field name="model">wizard.ir.model.menu.create</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Create Menu" version="7.0">
<group>
diff --git a/openerp/addons/base/ir/workflow/workflow_view.xml b/openerp/addons/base/ir/workflow/workflow_view.xml
index c20eeaed085..d174928556f 100644
--- a/openerp/addons/base/ir/workflow/workflow_view.xml
+++ b/openerp/addons/base/ir/workflow/workflow_view.xml
@@ -12,7 +12,6 @@
<record id="view_workflow_form" model="ir.ui.view">
<field name="name">workflow.form</field>
<field name="model">workflow</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Workflow" version="7.0">
<group col="4">
@@ -28,7 +27,6 @@
<record id="view_workflow_search" model="ir.ui.view">
<field name="name">workflow.search</field>
<field name="model">workflow</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow">
<field name="name" filter_domain="['|', ('name','ilike',self), ('osv','ilike',self)]" string="Workflow"/>
@@ -39,7 +37,6 @@
<record id="view_workflow_diagram" model="ir.ui.view">
<field name="name">workflow.diagram</field>
<field name="model">workflow</field>
- <field name="type">diagram</field>
<field name="arch" type="xml">
<diagram string="Workflow Editor">
<node object="workflow.activity" shape="rectangle:subflow_id!=False" bgcolor="gray:flow_start==True;grey:flow_stop==True">
@@ -55,13 +52,13 @@
<field name="act_to"/>
<field name="signal"/>
</arrow>
+ <label string="When customizing a workflow, be sure you do not modify an existing node or arrow, but rather add new nodes or arrows. If you absolutly need to modify a node or arrow, you can only change fields that are empty or set to the default value. If you don't do that, your customization will be overwrited at the next update or upgrade to a future version of OpenERP."/>
</diagram>
</field>
</record>
<record id="view_workflow_tree" model="ir.ui.view">
<field name="name">workflow.tree</field>
<field name="model">workflow</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Workflow">
<field name="name"/>
@@ -89,7 +86,6 @@
<record id="view_workflow_activity_form" model="ir.ui.view">
<field name="name">workflow.activity.form</field>
<field name="model">workflow.activity</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Activity" version="7.0">
<sheet>
@@ -145,7 +141,6 @@
<record id="view_workflow_activity_tree" model="ir.ui.view">
<field name="name">workflow.activity.tree</field>
<field name="model">workflow.activity</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Activity">
<field name="name"/>
@@ -160,7 +155,6 @@
<record id="view_workflow_activity_search" model="ir.ui.view">
<field name="name">workflow.activity.search</field>
<field name="model">workflow.activity</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Activity">
<field name="name" string="Workflow Activity"/>
@@ -197,7 +191,6 @@
<record id="view_workflow_transition_form" model="ir.ui.view">
<field name="name">workflow.transition.form</field>
<field name="model">workflow.transition</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Transition" version="7.0">
<sheet>
@@ -221,7 +214,6 @@
<record id="view_workflow_transition_tree" model="ir.ui.view">
<field name="name">workflow.transition.tree</field>
<field name="model">workflow.transition</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Transition">
<field name="act_from"/>
@@ -235,7 +227,6 @@
<record id="view_workflow_transition_search" model="ir.ui.view">
<field name="name">workflow.transition.search</field>
<field name="model">workflow.transition</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Transition">
<field name="signal" filter_domain="['|', ('signal','ilike',self), ('condition','ilike',self)]" string="Workflow Transition"/>
@@ -263,7 +254,6 @@
<record id="view_workflow_instance_form" model="ir.ui.view">
<field name="name">workflow.instance.form</field>
<field name="model">workflow.instance</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Workflow Instances" version="7.0">
<sheet>
@@ -280,7 +270,6 @@
<record id="view_workflow_instance_tree" model="ir.ui.view">
<field name="name">workflow.instance.tree</field>
<field name="model">workflow.instance</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Workflow Instances">
<field name="wkf_id"/>
@@ -293,7 +282,6 @@
<record id="view_workflow_instance_search" model="ir.ui.view">
<field name="name">workflow.instance.search</field>
<field name="model">workflow.instance</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Instances">
<field name="res_type" string="Resource Object"/>
@@ -324,7 +312,6 @@
<record id="view_workflow_workitem_form" model="ir.ui.view">
<field name="name">workflow.workitem.form</field>
<field name="model">workflow.workitem</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Workflow Workitems" version="7.0">
<sheet>
@@ -342,7 +329,6 @@
<record id="view_workflow_workitem_tree" model="ir.ui.view">
<field name="name">workflow.workitem.tree</field>
<field name="model">workflow.workitem</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Workflow Workitems">
<field name="wkf_id"/>
@@ -356,7 +342,6 @@
<record id="view_workflow_workitem_search" model="ir.ui.view">
<field name="name">workflow.workitem.search</field>
<field name="model">workflow.workitem</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Workitems">
<field name="state" string="State"/>
diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py
index f7f67cf323f..617a31dae66 100644
--- a/openerp/addons/base/module/module.py
+++ b/openerp/addons/base/module/module.py
@@ -18,12 +18,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
+
+import base64
+from docutils.core import publish_string
import imp
import logging
import re
import urllib
import zipimport
-import base64
from openerp import modules, pooler, release, tools, addons
from openerp.tools.parse_version import parse_version
@@ -94,6 +96,14 @@ class module(osv.osv):
'module %s', name, exc_info=True)
return info
+ def _get_desc(self, cr, uid, ids, field_name=None, arg=None, context=None):
+ res = dict.fromkeys(ids, '')
+ for module in self.browse(cr, uid, ids, context=context):
+ overrides = dict(embed_stylesheet=False, doctitle_xform=False, output_encoding='unicode')
+ output = publish_string(source=module.description, writer_name='html', settings_overrides=overrides)
+ res[module.id] = output
+ return res
+
def _get_latest_version(self, cr, uid, ids, field_name=None, arg=None, context=None):
res = dict.fromkeys(ids, '')
for m in self.browse(cr, uid, ids):
@@ -139,14 +149,17 @@ class module(osv.osv):
# We use try except, because views or menus may not exist.
try:
res_mod_dic = res[module_rec.id]
- for v in view_obj.browse(cr, uid, imd_models.get('ir.ui.view', []), context=context):
+ view_ids = imd_models.get('ir.ui.view', [])
+ for v in view_obj.browse(cr, uid, view_ids, context=context):
aa = v.inherit_id and '* INHERIT ' or ''
res_mod_dic['views_by_module'].append(aa + v.name + '('+v.type+')')
- for rx in report_obj.browse(cr, uid, imd_models.get('ir.actions.report.xml', []), context=context):
+ report_ids = imd_models.get('ir.actions.report.xml', [])
+ for rx in report_obj.browse(cr, uid, report_ids, context=context):
res_mod_dic['reports_by_module'].append(rx.name)
- for um in menu_obj.browse(cr, uid, imd_models.get('ir.ui.menu', []), context=context):
+ menu_ids = imd_models.get('ir.ui.menu', [])
+ for um in menu_obj.browse(cr, uid, menu_ids, context=context):
res_mod_dic['menus_by_module'].append(um.complete_name)
except KeyError, e:
_logger.warning(
@@ -180,6 +193,7 @@ class module(osv.osv):
'shortdesc': fields.char('Module Name', size=64, readonly=True, translate=True),
'summary': fields.char('Summary', size=64, readonly=True, translate=True),
'description': fields.text("Description", readonly=True, translate=True),
+ 'description_html': fields.function(_get_desc, string='Description HTML', type='html', method=True, readonly=True),
'author': fields.char("Author", size=128, readonly=True),
'maintainer': fields.char('Maintainer', size=128, readonly=True),
'contributors': fields.text('Contributors', readonly=True),
@@ -219,7 +233,7 @@ class module(osv.osv):
('AGPL-3', 'Affero GPL-3'),
('Other OSI approved licence', 'Other OSI Approved Licence'),
('Other proprietary', 'Other Proprietary')
- ], string='License', readonly=True),
+ ], string='License', readonly=True),
'menus_by_module': fields.function(_get_views, string='Menus', type='text', multi="meta", store=True),
'reports_by_module': fields.function(_get_views, string='Reports', type='text', multi="meta", store=True),
'views_by_module': fields.function(_get_views, string='Views', type='text', multi="meta", store=True),
@@ -368,7 +382,8 @@ class module(osv.osv):
ir_model_data = self.pool.get('ir.model.data')
ir_model_constraint = self.pool.get('ir.model.constraint')
modules_to_remove = [m.name for m in self.browse(cr, uid, ids, context)]
- constraint_ids = ir_model_constraint.search(cr, uid, [('module', 'in', modules_to_remove)])
+ modules_to_remove_ids = [m.id for m in self.browse(cr, uid, ids, context)]
+ constraint_ids = ir_model_constraint.search(cr, uid, [('module', 'in', modules_to_remove_ids)])
ir_model_constraint._module_data_uninstall(cr, uid, constraint_ids, context)
ir_model_data._module_data_uninstall(cr, uid, modules_to_remove, context)
self.write(cr, uid, ids, {'state': 'uninstalled'})
diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml
index 6139895021b..27eccf020b2 100644
--- a/openerp/addons/base/module/module_view.xml
+++ b/openerp/addons/base/module/module_view.xml
@@ -7,7 +7,6 @@
<record id="view_module_category_form" model="ir.ui.view">
<field name="name">ir.module.category.form</field>
<field name="model">ir.module.category</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Module Category" version="7.0">
<group col="4">
@@ -23,7 +22,6 @@
<record id="view_module_category_tree" model="ir.ui.view">
<field name="name">ir.module.category.tree</field>
<field name="model">ir.module.category</field>
- <field name="type">tree</field>
<field name="field_parent">child_ids</field>
<field name="arch" type="xml">
<tree string="Module Category">
@@ -38,10 +36,9 @@
<record id="view_module_filter" model="ir.ui.view">
<field name="name">ir.module.module.list.select</field>
<field name="model">ir.module.module</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Search modules">
- <field name="name" filter_domain="['|', '|', '|', ('description', 'ilike', self), ('summary', 'ilike', self), ('shortdesc', 'ilike', self), ('name',
+ <field name="name" filter_domain="['|', '|', ('summary', 'ilike', self), ('shortdesc', 'ilike', self), ('name',
'ilike', self)]"/>
<filter name="app" icon="terp-check" string="Apps" domain="[('application', '=', 1)]"/>
<filter name="extra" icon="terp-check" string="Extra" domain="[('application', '=', 0)]"/>
@@ -60,7 +57,6 @@
<record model="ir.ui.view" id="module_view_kanban">
<field name="name">Modules Kanban</field>
<field name="model">ir.module.module</field>
- <field name="type">kanban</field>
<field name="arch" type="xml">
<kanban create="false">
<field name="icon"/>
@@ -69,7 +65,7 @@
<field name="summary"/>
<templates>
<t t-name="kanban-box">
- <div class="oe_module_vignette oe_kanban_auto_height">
+ <div class="oe_module_vignette">
<t t-set="installed" t-value="record.state.raw_value == 'installed'"/>
<img t-attf-src="#{record.icon.value}" class="oe_module_icon"/>
<div class="oe_module_desc">
@@ -108,7 +104,6 @@
<record id="module_form" model="ir.ui.view">
<field name="name">ir.module.module.form</field>
<field name="model">ir.module.module</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Module" version="7.0">
<sheet>
@@ -138,7 +133,7 @@
</group>
<notebook>
<page string="Description">
- <field name="description"/>
+ <field name="description_html"/>
</page>
<page string="Technical Data" groups="base.group_no_one">
<group col="4">
@@ -170,7 +165,6 @@
<record id="module_tree" model="ir.ui.view">
<field name="name">ir.module.module.tree</field>
<field name="model">ir.module.module</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state=='to upgrade' or state=='to install';red:state=='uninstalled';grey:state=='uninstallable';black:state=='installed'" string="Modules">
<field name="shortdesc"/>
diff --git a/openerp/addons/base/module/wizard/base_export_language_view.xml b/openerp/addons/base/module/wizard/base_export_language_view.xml
index 9927a647c1b..88e411845c3 100644
--- a/openerp/addons/base/module/wizard/base_export_language_view.xml
+++ b/openerp/addons/base/module/wizard/base_export_language_view.xml
@@ -5,7 +5,6 @@
<record id="wizard_lang_export" model="ir.ui.view">
<field name="name">Export Translations</field>
<field name="model">base.language.export</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Export Translations" version="7.0">
<group colspan="4" states="choose">
diff --git a/openerp/addons/base/module/wizard/base_import_language_view.xml b/openerp/addons/base/module/wizard/base_import_language_view.xml
index f6466479bff..727de4e381b 100644
--- a/openerp/addons/base/module/wizard/base_import_language_view.xml
+++ b/openerp/addons/base/module/wizard/base_import_language_view.xml
@@ -5,7 +5,6 @@
<record id="view_base_import_language" model="ir.ui.view">
<field name="name">Import Translation</field>
<field name="model">base.language.import</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Import Translation" version="7.0">
<group>
diff --git a/openerp/addons/base/module/wizard/base_language_install_view.xml b/openerp/addons/base/module/wizard/base_language_install_view.xml
index d31956c6a04..46870c3ff7c 100644
--- a/openerp/addons/base/module/wizard/base_language_install_view.xml
+++ b/openerp/addons/base/module/wizard/base_language_install_view.xml
@@ -5,7 +5,6 @@
<record id="view_base_language_install" model="ir.ui.view">
<field name="name">Load a Translation</field>
<field name="model">base.language.install</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Load a Translation" version="7.0">
<field name="state" invisible="1"/>
diff --git a/openerp/addons/base/module/wizard/base_module_configuration_view.xml b/openerp/addons/base/module/wizard/base_module_configuration_view.xml
index 61f920b4333..909a655f1ef 100644
--- a/openerp/addons/base/module/wizard/base_module_configuration_view.xml
+++ b/openerp/addons/base/module/wizard/base_module_configuration_view.xml
@@ -5,7 +5,6 @@
<record id="view_base_module_configuration_form" model="ir.ui.view">
<field name="name">Module Configuration</field>
<field name="model">base.module.configuration</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="System Configuration Done" version="7.0">
<label string="All pending configuration wizards have been executed. You may restart individual wizards via the list of configuration wizards."/>
diff --git a/openerp/addons/base/module/wizard/base_module_import_view.xml b/openerp/addons/base/module/wizard/base_module_import_view.xml
index 3201bd83e10..192bf6c2a92 100644
--- a/openerp/addons/base/module/wizard/base_module_import_view.xml
+++ b/openerp/addons/base/module/wizard/base_module_import_view.xml
@@ -5,7 +5,6 @@
<record id="view_base_module_import" model="ir.ui.view">
<field name="name">Module Import</field>
<field name="model">base.module.import</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Import module" version="7.0">
<field name="state" invisible="1"/>
diff --git a/openerp/addons/base/module/wizard/base_module_scan_view.xml b/openerp/addons/base/module/wizard/base_module_scan_view.xml
index a885dcb60d8..f6f72eac483 100644
--- a/openerp/addons/base/module/wizard/base_module_scan_view.xml
+++ b/openerp/addons/base/module/wizard/base_module_scan_view.xml
@@ -5,7 +5,6 @@
<record id="view_base_module_scan" model="ir.ui.view">
<field name="name">Module Scan</field>
<field name="model">base.module.scan</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Scan for new modules" version="7.0">
<label string="This function will check if you installed new modules in the 'addons' path of your server installation."/>
diff --git a/openerp/addons/base/module/wizard/base_module_update_view.xml b/openerp/addons/base/module/wizard/base_module_update_view.xml
index 43b89190ed0..75d2b1316a6 100644
--- a/openerp/addons/base/module/wizard/base_module_update_view.xml
+++ b/openerp/addons/base/module/wizard/base_module_update_view.xml
@@ -5,7 +5,6 @@
<record id="view_base_module_update" model="ir.ui.view">
<field name="name">Module Update</field>
<field name="model">base.module.update</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Update Module List" version="7.0">
<field name="state" invisible="1"/>
diff --git a/openerp/addons/base/module/wizard/base_module_upgrade_view.xml b/openerp/addons/base/module/wizard/base_module_upgrade_view.xml
index 8ba9432dce8..afd3a2e17b1 100644
--- a/openerp/addons/base/module/wizard/base_module_upgrade_view.xml
+++ b/openerp/addons/base/module/wizard/base_module_upgrade_view.xml
@@ -5,7 +5,6 @@
<record id="view_base_module_upgrade" model="ir.ui.view">
<field name="name">Module Upgrade</field>
<field name="model">base.module.upgrade</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="System Update" version="7.0">
<div><label string="Your system will be updated."/></div>
@@ -41,7 +40,6 @@
<record id="view_base_module_upgrade_install" model="ir.ui.view">
<field name="name">Module Upgrade Install</field>
<field name="model">base.module.upgrade</field>
- <field name="type">form</field>
<field name="priority" eval="20"/>
<field name="arch" type="xml">
<form string="Apply Schedule Upgrade" version="7.0">
diff --git a/openerp/addons/base/module/wizard/base_update_translations_view.xml b/openerp/addons/base/module/wizard/base_update_translations_view.xml
index c80c81d9d05..1fe52511ebb 100644
--- a/openerp/addons/base/module/wizard/base_update_translations_view.xml
+++ b/openerp/addons/base/module/wizard/base_update_translations_view.xml
@@ -4,7 +4,6 @@
<record id="wizard_update_translations" model="ir.ui.view">
<field name="name">Synchronize Terms</field>
<field name="model">base.update.translations</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Synchronize Terms" version="7.0">
<group string="Synchronize Translation">
diff --git a/openerp/addons/base/publisher_warranty/publisher_warranty.py b/openerp/addons/base/publisher_warranty/publisher_warranty.py
index f6fdd04de14..897210ce817 100644
--- a/openerp/addons/base/publisher_warranty/publisher_warranty.py
+++ b/openerp/addons/base/publisher_warranty/publisher_warranty.py
@@ -86,7 +86,7 @@ class publisher_warranty_contract(osv.osv):
db_create_date = self.pool.get('ir.config_parameter').get_param(cr, uid, 'database.create_date')
user = self.pool.get("res.users").browse(cr, uid, uid)
user_name = user.name
- email = user.user_email
+ email = user.email
msg = {'contract_name': valid_contract.name,
'tb': tb,
@@ -333,7 +333,7 @@ def get_sys_logs(cr, uid):
"db_create_date": db_create_date,
"version": release.version,
"contracts": [c.name for c in contracts],
- "language": user.context_lang,
+ "language": user.lang,
}
add_arg = {"timeout":30} if sys.version_info >= (2,6) else {}
diff --git a/openerp/addons/base/publisher_warranty/publisher_warranty_view.xml b/openerp/addons/base/publisher_warranty/publisher_warranty_view.xml
index cd52a783bcd..f4c196db672 100644
--- a/openerp/addons/base/publisher_warranty/publisher_warranty_view.xml
+++ b/openerp/addons/base/publisher_warranty/publisher_warranty_view.xml
@@ -7,7 +7,6 @@
<record id="publisher_warranty_contract_tree_view" model="ir.ui.view">
<field name="name">publisher_warranty.contract.tree</field>
<field name="model">publisher_warranty.contract</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Publisher Warranty Contracts">
<field name="name"/>
@@ -21,7 +20,6 @@
<record id="publisher_warranty_contract_form_view" model="ir.ui.view">
<field name="name">publisher_warranty.contract.form</field>
<field name="model">publisher_warranty.contract</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Publisher Warranty Contract" version="7.0">
<header>
@@ -55,7 +53,6 @@
<record id="publisher_warranty_contract_search_view" model="ir.ui.view">
<field name="name">publisher_warranty.contract.search</field>
<field name="model">publisher_warranty.contract</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Publisher Warranty Contract">
<field name="name" string="Serial Key"/>
@@ -68,7 +65,6 @@
<record id="publisher_warranty_contract_view_calendar" model="ir.ui.view">
<field name="name">publisher_warranty.contract.calendar</field>
<field name="model">publisher_warranty.contract</field>
- <field name="type">calendar</field>
<field name="arch" type="xml">
<calendar string="Maintenance Contract" date_start="date_start" color="state">
<field name="name"/>
@@ -91,7 +87,6 @@
<record id="publisher_warranty_contract_add_wizard" model="ir.ui.view">
<field name="name">publisher_warranty.contract.add.wizard</field>
<field name="model">publisher_warranty.contract.wizard</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Register a Contract" version="7.0">
<field name="state" invisible="1"/>
diff --git a/openerp/addons/base/res/ir_property_view.xml b/openerp/addons/base/res/ir_property_view.xml
index b7d3324b3f6..5ac92a3bd4b 100644
--- a/openerp/addons/base/res/ir_property_view.xml
+++ b/openerp/addons/base/res/ir_property_view.xml
@@ -5,7 +5,6 @@
<record id="ir_property_view_search" model="ir.ui.view">
<field name="name">ir.property.search</field>
<field name="model">ir.property</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Parameters">
<field name="name" string="Name"/>
@@ -21,7 +20,6 @@
<record id="ir_property_view" model="ir.ui.view">
<field name="name">ir.property.form</field>
<field name="model">ir.property</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Parameters" version="7.0">
<sheet>
@@ -46,7 +44,6 @@
<record id="ir_property_view_tree" model="ir.ui.view">
<field name="name">ir.property.tree</field>
<field name="model">ir.property</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Parameters">
<field name="name"/>
diff --git a/openerp/addons/base/res/photo.png b/openerp/addons/base/res/photo.png
deleted file mode 100644
index 1d124127b2b..00000000000
--- a/openerp/addons/base/res/photo.png
+++ /dev/null
Binary files differ
diff --git a/openerp/addons/base/res/res_bank_view.xml b/openerp/addons/base/res/res_bank_view.xml
index 67569a4050c..0c88ceeff7c 100644
--- a/openerp/addons/base/res/res_bank_view.xml
+++ b/openerp/addons/base/res/res_bank_view.xml
@@ -5,7 +5,6 @@
<record id="view_res_bank_form" model="ir.ui.view">
<field name="name">res.bank.form</field>
<field name="model">res.bank</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Bank" version="7.0">
<sheet>
@@ -41,7 +40,6 @@
<record id="view_res_bank_tree" model="ir.ui.view">
<field name="name">res.bank.tree</field>
<field name="model">res.bank</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Banks">
<field name="name"/>
@@ -63,7 +61,6 @@
<record id="view_partner_bank_type_form" model="ir.ui.view">
<field name="name">res.partner.bank.type.form</field>
<field name="model">res.partner.bank.type</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Bank Account Type" version="7.0">
<group col="4">
@@ -78,7 +75,6 @@
<record id="view_partner_bank_type_tree" model="ir.ui.view">
<field name="name">res.partner.bank.type.tree</field>
<field name="model">res.partner.bank.type</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Bank Account Type">
<field name="name"/>
@@ -90,7 +86,6 @@
<record id="view_partner_bank_form" model="ir.ui.view">
<field name="name">res.partner.bank.form</field>
<field name="model">res.partner.bank</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Bank account" version="7.0">
<group col="4">
@@ -127,7 +122,6 @@
<record id="view_partner_bank_tree" model="ir.ui.view">
<field name="name">res.partner.bank.tree</field>
<field name="model">res.partner.bank</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Bank Accounts">
<field name="sequence" invisible="1"/>
@@ -142,7 +136,6 @@
<record id="view_partner_bank_search" model="ir.ui.view">
<field name="name">res.partner.bank.search</field>
<field name="model">res.partner.bank</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Bank Accounts">
<field name="bank_name" filter_domain="['|', ('bank_name','ilike',self), ('acc_number','ilike',self)]" string="Bank Name"/>
diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py
index 77fb9b635e5..c1062f2af2c 100644
--- a/openerp/addons/base/res/res_company.py
+++ b/openerp/addons/base/res/res_company.py
@@ -142,18 +142,16 @@ class res_company(osv.osv):
if phone: val.append(_('Phone: ')+phone)
if fax: val.append(_('Fax: ')+fax)
if website: val.append(_('Website: ')+website)
- if vat: val.append(_('VAT: ')+vat)
+ if vat: val.append(_('TIN: ')+vat)
if reg: val.append(_('Reg: ')+reg)
return {'value': {'rml_footer1':' | '.join(val)}}
def _search(self, cr, uid, args, offset=0, limit=None, order=None,
context=None, count=False, access_rights_uid=None):
-
if context is None:
context = {}
- user_preference = context.get('user_preference', False)
- if user_preference:
+ if context.get('user_preference'):
# We browse as superuser. Otherwise, the user would be able to
# select only the currently visible companies (according to rules,
# which are probably to allow to see the child companies) even if
diff --git a/openerp/addons/base/res/res_company_view.xml b/openerp/addons/base/res/res_company_view.xml
index 585a826ea2f..1cf32c03753 100644
--- a/openerp/addons/base/res/res_company_view.xml
+++ b/openerp/addons/base/res/res_company_view.xml
@@ -17,7 +17,6 @@
<record id="view_company_form" model="ir.ui.view">
<field name="name">res.company.form</field>
<field name="model">res.company</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Company" version="7.0">
<sheet>
@@ -102,7 +101,6 @@
<record id="view_company_tree" model="ir.ui.view">
<field name="name">res.company.tree</field>
<field name="model">res.company</field>
- <field name="type">tree</field>
<field name="field_parent">child_ids</field>
<field name="arch" type="xml">
<tree string="Companies">
@@ -131,7 +129,6 @@
<record id="view_inventory_tree" model="ir.ui.view">
<field name="name">multi_company.default.tree</field>
<field name="model">multi_company.default</field>
- <field name="type">tree</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<tree string="Multi Company">
@@ -148,7 +145,6 @@
<record id="view_inventory_form" model="ir.ui.view">
<field name="name">multi_company.default.form</field>
<field name="model">multi_company.default</field>
- <field name="type">form</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Multi Company" version="7.0">
@@ -173,7 +169,6 @@
<record id="view_inventory_search" model="ir.ui.view">
<field name="name">multi_company.default.search</field>
<field name="model">multi_company.default</field>
- <field name="type">search</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Multi Company">
diff --git a/openerp/addons/base/res/res_config.xml b/openerp/addons/base/res/res_config.xml
index a734644302f..342aeaa6e0f 100644
--- a/openerp/addons/base/res/res_config.xml
+++ b/openerp/addons/base/res/res_config.xml
@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
-
+
<record id="res_config_view_base" model="ir.ui.view">
<field name="name">res.config.view.base</field>
<field name="model">res.config</field>
- <field name="type">form</field>
<field name="arch" type="xml">
- <form version="7.0">
+ <form string="Configuration" version="7.0">
<group string="res_config_contents"/>
<footer>
<button name="action_next" type="object" string="Apply" class="oe_highlight"/>
@@ -21,7 +20,6 @@
<record id="view_config_wizard_form" model="ir.ui.view">
<field name="name">Compabitiliby configuration wizard</field>
<field name="model">ir.actions.configuration.wizard</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Next Configuration Step" version="7.0">
<group>
@@ -39,9 +37,8 @@
<record id="res_config_installer" model="ir.ui.view">
<field name="name">Inheritable view for installer objects</field>
<field name="model">res.config.installer</field>
- <field name="type">form</field>
<field name="arch" type="xml">
- <form version="7.0">
+ <form string="Configuration Installer" version="7.0">
<separator string="title" colspan="4"/>
<footer>
<button name="action_next" type="object" string="Install Modules" class="oe_highlight"/>
diff --git a/openerp/addons/base/res/res_country_view.xml b/openerp/addons/base/res/res_country_view.xml
index 3891e0782fe..3bead7a506c 100644
--- a/openerp/addons/base/res/res_country_view.xml
+++ b/openerp/addons/base/res/res_country_view.xml
@@ -9,7 +9,6 @@
<record id="view_country_tree" model="ir.ui.view">
<field name="name">res.country.tree</field>
<field name="model">res.country</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Country">
<field name="name"/>
@@ -21,7 +20,6 @@
<record id="view_country_form" model="ir.ui.view">
<field name="name">res.country.form</field>
<field name="model">res.country</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Country" version="7.0">
<group col="4">
@@ -52,7 +50,6 @@
<record id="view_country_state_tree" model="ir.ui.view">
<field name="name">res.country.state.tree</field>
<field name="model">res.country.state</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="State">
<field name="name"/>
@@ -65,7 +62,6 @@
<record id="view_country_state_form" model="ir.ui.view">
<field name="name">res.country.state.form</field>
<field name="model">res.country.state</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="State" version="7.0">
<group>
diff --git a/openerp/addons/base/res/res_currency_view.xml b/openerp/addons/base/res/res_currency_view.xml
index c0a66a12daa..907eec866fb 100644
--- a/openerp/addons/base/res/res_currency_view.xml
+++ b/openerp/addons/base/res/res_currency_view.xml
@@ -5,7 +5,6 @@
<record id="view_currency_search" model="ir.ui.view">
<field name="name">res.currency.search</field>
<field name="model">res.currency</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Currencies">
<field name="name" string="Currency"/>
@@ -17,7 +16,6 @@
<record id="view_currency_tree" model="ir.ui.view">
<field name="name">res.currency.tree</field>
<field name="model">res.currency</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Currencies">
<field name="name"/>
@@ -35,7 +33,6 @@
<record id="view_currency_form" model="ir.ui.view">
<field name="name">res.currency.form</field>
<field name="model">res.currency</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Currency" version="7.0">
<group col="4">
@@ -86,7 +83,6 @@
<record id="view_currency_rate_type_form" model="ir.ui.view">
<field name="name">res.currency.rate.type.form</field>
<field name="model">res.currency.rate.type</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Currency Rate Type" version="7.0">
<group>
@@ -106,7 +102,6 @@
<record id="view_currency_rate_type_search" model="ir.ui.view">
<field name="name">res.currency.rate.type.search</field>
<field name="model">res.currency.rate.type</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Currency Rate Type">
<field name="name" string="Name"/>
diff --git a/openerp/addons/base/res/res_lang_view.xml b/openerp/addons/base/res/res_lang_view.xml
index 3d91b977dab..b25aba69794 100644
--- a/openerp/addons/base/res/res_lang_view.xml
+++ b/openerp/addons/base/res/res_lang_view.xml
@@ -4,7 +4,6 @@
<record id="res_lang_tree" model="ir.ui.view">
<field name="name">res.lang.tree</field>
<field name="model">res.lang</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Languages">
<field name="name"/>
@@ -21,7 +20,6 @@
<record id="res_lang_form" model="ir.ui.view">
<field name="name">res.lang.form</field>
<field name="model">res.lang</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Languages" version="7.0">
<sheet>
@@ -105,7 +103,6 @@
<record id="res_lang_search" model="ir.ui.view">
<field name="name">res.lang.search</field>
<field name="model">res.lang</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Languages">
<field name="name"
diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py
index d275c0c7b4e..93d12228ebe 100644
--- a/openerp/addons/base/res/res_partner.py
+++ b/openerp/addons/base/res/res_partner.py
@@ -20,6 +20,7 @@
##############################################################################
import math
+import openerp
import os
from osv import osv, fields
import re
@@ -27,6 +28,10 @@ import tools
from tools.translate import _
import logging
import pooler
+import pytz
+
+def _tz_get(self,cr,uid, context=None):
+ return [(x, x) for x in pytz.all_timezones]
class res_payterm(osv.osv):
_description = 'Payment term'
@@ -150,9 +155,14 @@ class res_partner(osv.osv):
'parent_id': fields.many2one('res.partner', 'Owned by'),
'child_ids': fields.one2many('res.partner', 'parent_id', 'Contacts'),
'ref': fields.char('Reference', size=64, select=1),
- 'lang': fields.selection(_lang_get, 'Language', help="If the selected language is loaded in the system, all documents related to this partner will be printed in this language. If not, it will be english."),
+ 'lang': fields.selection(_lang_get, 'Language',
+ help="If the selected language is loaded in the system, all documents related to this partner will be printed in this language. If not, it will be english."),
+ 'tz': fields.selection(_tz_get, 'Timezone', size=64,
+ help="The partner's timezone, used to output proper date and time values inside printed reports. "
+ "It is important to set a value for this field. You should use the same timezone "
+ "that is otherwise used to pick and render date and time values: your computer's timezone."),
'user_id': fields.many2one('res.users', 'Salesperson', help='The internal user that is in charge of communicating with this partner if any.'),
- 'vat': fields.char('VAT',size=32 ,help="Value Added Tax number. Check the box if the partner is subjected to the VAT. Used by the VAT legal statement."),
+ 'vat': fields.char('TIN',size=32 ,help="Tax Identification Number. Check the box if the partner is subjected to taxes. Used by the some of the legal statements."),
'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'),
@@ -165,10 +175,10 @@ class res_partner(osv.osv):
'supplier': fields.boolean('Supplier', help="Check this box if the partner is a supplier. If it's not checked, purchase people will not see it when encoding a purchase order."),
'employee': fields.boolean('Employee', help="Check this box if the partner is an Employee."),
'function': fields.char('Job Position', size=128),
- 'type': fields.selection( [('default','Default'),('invoice','Invoice'),
+ '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."),
+ ('other', 'Other')], 'Address Type',
+ help="Used to select automatically the right address according to the context in sales and purchases documents."),
'street': fields.char('Street', size=128),
'street2': fields.char('Street2', size=128),
'zip': fields.char('Zip', change_default=True, size=24),
@@ -217,13 +227,15 @@ class res_partner(osv.osv):
def _get_default_image(self, cr, uid, is_company, context=None):
if is_company:
- image_path = os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'company_icon.png')
+ image_path = openerp.modules.get_module_resource('base', 'static/src/img', 'company_image.png')
else:
- image_path = os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'photo.png')
+ image_path = openerp.modules.get_module_resource('base', 'static/src/img', 'partner_image.png')
return tools.image_resize_image_big(open(image_path, 'rb').read().encode('base64'))
_defaults = {
'active': True,
+ 'lang': lambda self, cr, uid, context: context.get('lang', 'en_US'),
+ 'tz': lambda self, cr, uid, context: context.get('tz', False),
'customer': True,
'category_id': _default_category,
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c),
@@ -318,7 +330,8 @@ class res_partner(osv.osv):
def update_address(self, cr, uid, ids, vals, context=None):
addr_vals = dict((key, vals[key]) for key in POSTAL_ADDRESS_FIELDS if vals.get(key))
- return super(res_partner, self).write(cr, uid, ids, addr_vals, context)
+ if addr_vals:
+ return super(res_partner, self).write(cr, uid, ids, addr_vals, context)
def name_get(self, cr, uid, ids, context=None):
if context is None:
diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml
index 441b64a66fd..eed67483358 100644
--- a/openerp/addons/base/res/res_partner_demo.xml
+++ b/openerp/addons/base/res/res_partner_demo.xml
@@ -1,898 +1,402 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="1">
+ <data noupdate="0">
<!--
Resource: res.partner.category
-->
<record id="res_partner_category_0" model="res.partner.category">
- <field name="name">Customer</field>
+ <field name="name">Partner</field>
</record>
<record id="res_partner_category_1" model="res.partner.category">
- <field name="name">Prospect</field>
+ <field name="name">Supplier</field>
</record>
<record id="res_partner_category_2" model="res.partner.category">
- <field name="name">OpenERP Partners</field>
- <field name="parent_id" ref="res_partner_category_0"/>
+ <field name="name">Prospect</field>
</record>
<record id="res_partner_category_3" model="res.partner.category">
- <field name="name">Starter Partner</field>
- <field name="parent_id" ref="res_partner_category_2"/>
+ <field name="name">Employee</field>
</record>
<record id="res_partner_category_4" model="res.partner.category">
- <field name="name">Basic Partner</field>
- <field name="parent_id" ref="res_partner_category_2"/>
+ <field name="name">Gold</field>
+ <field name="parent_id" ref="res_partner_category_0"/>
</record>
<record id="res_partner_category_5" model="res.partner.category">
- <field name="name">Gold Partner</field>
- <field name="parent_id" ref="res_partner_category_2"/>
- </record>
- <record id="res_partner_category_7" model="res.partner.category">
- <field name="name">Openstuff.net</field>
+ <field name="name">Silver</field>
<field name="parent_id" ref="res_partner_category_0"/>
</record>
- <record id="res_partner_category_12" model="res.partner.category">
- <field name="name">Segmentation</field>
+ <record id="res_partner_category_6" model="res.partner.category">
+ <field name="name">Bronze</field>
<field name="parent_id" ref="res_partner_category_0"/>
</record>
- <record id="res_partner_category_13" model="res.partner.category">
- <field name="name">Important customers</field>
- <field name="parent_id" ref="res_partner_category_12"/>
- </record>
- <record id="res_partner_category_14" model="res.partner.category">
- <field name="name">Bad customers</field>
- <field name="parent_id" ref="res_partner_category_12"/>
+ <record id="res_partner_category_7" model="res.partner.category">
+ <field name="name">IT Services</field>
+ <field name="parent_id" ref="res_partner_category_0"/>
</record>
-
<record id="res_partner_category_8" model="res.partner.category">
- <field name="name">Supplier</field>
+ <field name="name">Consultancy Services</field>
</record>
<record id="res_partner_category_9" model="res.partner.category">
- <field name="name">Components Supplier</field>
- <field name="parent_id" ref="res_partner_category_8"/>
- </record>
- <record id="res_partner_category_10" model="res.partner.category">
- <field name="name">Open Source Service Company</field>
- <field name="parent_id" ref="res_partner_category_8"/>
+ <field name="name">Components Buyer</field>
</record>
<record id="res_partner_category_11" model="res.partner.category">
- <field name="name">Textile Suppliers</field>
- <field name="parent_id" ref="res_partner_category_8"/>
+ <field name="name">Services</field>
</record>
-
-
- <!--
- Resource: res.partner.category for training
- -->
- <record id="res_partner_category_consumers0" model="res.partner.category">
- <field name="name">Consumers</field>
- <field name="parent_id" ref="res_partner_category_0"/>
+ <record id="res_partner_category_12" model="res.partner.category">
+ <field name="name">Office Supplies</field>
</record>
- <record id="res_partner_category_retailers0" model="res.partner.category">
- <field name="name">Retailers</field>
- <field name="parent_id" ref="res_partner_category_0"/>
+ <record id="res_partner_category_13" model="res.partner.category">
+ <field name="name">Distributor</field>
</record>
- <record id="res_partner_category_miscellaneoussuppliers0" model="res.partner.category">
- <field name="name">Miscellaneous Suppliers</field>
- <field name="parent_id" ref="res_partner_category_8"/>
+ <record id="res_partner_category_14" model="res.partner.category">
+ <field name="name">Manufacturer</field>
+ </record>
+ <record id="res_partner_category_15" model="res.partner.category">
+ <field name="name">Wholesaler</field>
+ </record>
+ <record id="res_partner_category_16" model="res.partner.category">
+ <field name="name">Retailer</field>
+ </record>
+ <record id="res_partner_category_17" model="res.partner.category">
+ <field name="name">Company Contact</field>
</record>
- <record id="res_partner_category_woodsuppliers0" model="res.partner.category">
- <field name="name">Wood Suppliers</field>
- <field name="parent_id" ref="res_partner_category_8"/>
+ <record id="res_partner_category_18" model="res.partner.category">
+ <field name="name">Manufacturer</field>
</record>
+
<!--
Resource: res.partner
-->
- <record id="res_partner_asus" model="res.partner">
- <field name="name">ASUStek</field>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
+ <record id="res_partner_1" model="res.partner">
+ <field name="name">ASUSTeK</field>
+ <field eval="[(6, 0, [ref('res_partner_category_13'), ref('res_partner_category_12')])]" name="category_id"/>
<field name="supplier">1</field>
<field eval="0" name="customer"/>
<field name="is_company">1</field>
- <field name="city">Taiwan</field>
- <field name="zip">23410</field>
- <field model="res.country" name="country_id" search="[('name','=','Taiwan')]"/>
+ <field name="city">Taipei</field>
+ <field name="zip">106</field>
+ <field name="country_id" ref="base.tw"/>
<field name="street">31 Hong Kong street</field>
<field name="email">info@asustek.com</field>
- <field name="phone">+ 1 64 61 04 01</field>
+ <field name="phone">(+886) (02) 4162 2023</field>
<field name="website">www.asustek.com</field>
+ <field name="image">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</field>
</record>
- <record id="res_partner_agrolait" model="res.partner">
+ <record id="res_partner_2" model="res.partner">
<field name="name">Agrolait</field>
- <field eval="[(6, 0, [ref('base.res_partner_category_0')])]" name="category_id"/>
+ <field eval="[(6, 0, [ref('base.res_partner_category_7'), ref('base.res_partner_category_9')])]" name="category_id"/>
<field name="is_company">1</field>
<field name="city">Wavre</field>
- <field name="zip">5478</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
+ <field name="zip">1300</field>
+ <field name="country_id" ref="base.be"/>
<field name="street">69 rue de Chimay</field>
- <field name="email">s.l@agrolait.be</field>
- <field name="phone">003281588558</field>
+ <field name="email">info@agrolait.com</field>
+ <field name="phone">+32 10 588 558</field>
<field name="website">www.agrolait.com</field>
- </record>
- <record id="res_partner_c2c" model="res.partner">
- <field name="name">Camptocamp</field>
- <field eval="[(6, 0, [ref('res_partner_category_10'), ref('res_partner_category_5')])]" name="category_id"/>
- <field name="supplier">1</field>
- <field name="is_company">1</field>
- <field name="city">Le Bourget du Lac</field>
- <field name="zip">73377</field>
- <field name="phone">+41 21 619 10 04 </field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="street">Savoie Technolac, BP 352</field>
- <field name="email">openerp@camptocamp.com</field>
- <field name="website">www.camptocamp.com</field>
- </record>
- <record id="res_partner_sednacom" model="res.partner">
- <field name="website">www.syleam.fr</field>
- <field name="name">Syleam</field>
- <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/>
- <field name="city">Alencon</field>
- <field name="zip">61000</field>
- <field name="email">contact@syleam.fr</field>
- <field name="street">1 place de l'Église</field>
- <field name="phone">+33 (0) 2 33 31 22 10</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="is_company">1</field>
- </record>
- <record id="res_partner_thymbra" model="res.partner">
- <field name="name">SmartBusiness</field>
- <field name="is_company">1</field>
- <field name="city">Buenos Aires</field>
- <field name="zip">1659</field>
- <field name="email">contact@smartbusiness.ar</field>
- <field name="street">Palermo, Capital Federal </field>
- <field name="street2">C1414CMS Capital Federal </field>
- <field name="phone">(5411) 4773-9666 </field>
- <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/>
- <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/>
- </record>
- <record id="res_partner_desertic_hispafuentes" model="res.partner">
- <field name="name">Axelor</field>
- <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/>
- <field name="supplier">1</field>
- <field name="is_company">1</field>
- <field name="city">Champs sur Marne</field>
- <field name="zip">77420</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="email">info@axelor.com</field>
- <field name="phone">+33 1 64 61 04 01</field>
- <field name="street">12 rue Albert Einstein</field>
- <field name="website">www.axelor.com/</field>
- </record>
- <record id="res_partner_tinyatwork" model="res.partner">
- <field name="name">Tiny AT Work</field>
- <field name="is_company">1</field>
- <field eval="[(6, 0, [ref('res_partner_category_5'), ref('res_partner_category_10')])]" name="category_id"/>
- <field name="city">Boston</field>
- <field name="zip">5501</field>
- <field name="email">info@tinyatwork.com</field>
- <field name="phone">+33 (0) 2 33 31 22 10</field>
- <field model="res.country" name="country_id" search="[('name','=','United States')]"/>
- <field name="street">One Lincoln Street</field>
- <field name="website">www.tinyatwork.com/</field>
- </record>
- <record id="res_partner_2" model="res.partner">
- <field name="name">Bank Wealthy and sons</field>
- <field name="is_company">1</field>
- <field name="city">Paris</field>
- <field name="zip">75016</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="street">1 rue Rockfeller</field>
- <field name="email">a.g@wealthyandsons.com</field>
- <field name="phone">003368978776</field>
- <field name="website">www.wealthyandsons.com/</field>
+ <field name="image">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</field>
</record>
<record id="res_partner_3" model="res.partner">
<field name="name">China Export</field>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
+ <field name="supplier">1</field>
+ <field eval="[(6, 0, [ref('res_partner_category_8'), ref('res_partner_category_14')])]" name="category_id"/>
<field name="is_company">1</field>
<field name="city">Shanghai</field>
- <field name="zip">478552</field>
+ <field name="zip">200000</field>
<field model="res.country" name="country_id" search="[('name','=','China')]"/>
+ <field name="country_id" ref="base.cn"/>
<field name="street">52 Chop Suey street</field>
- <field name="email">zen@chinaexport.com</field>
- <field name="phone">+86-751-64845671</field>
+ <field name="email">info@chinaexport.com</field>
+ <field name="phone">+86 21 6484 5671</field>
<field name="website">www.chinaexport.com/</field>
+ <field name="image">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</field>
</record>
+
<record id="res_partner_4" model="res.partner">
- <field name="name">Distrib PC</field>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
- <field name="supplier">1</field>
+ <field name="name">Delta PC</field>
+ <field eval="[(6, 0, [ref('res_partner_category_13'), ref('res_partner_category_12')])]" name="category_id"/>
<field eval="0" name="customer"/>
+ <field eval="1" name="supplier"/>
<field name="is_company">1</field>
- <field name="city">Namur</field>
- <field name="zip">2541</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">42 rue de la Lesse</field>
- <field name="email">info@distribpc.com</field>
- <field name="phone">+ 32 081256987</field>
+ <field name="city">Fremont</field>
+ <field name="zip">CA 94538</field>
+ <field name="country_id" ref="base.us"/>
+ <field model="res.country.state" name="state_id" search="[('code','ilike','ca')]"/>
+ <field name="street">3661 Station Street</field>
+ <field name="email">info@deltapc.com</field>
+ <field name="phone">+1 510 340 2385</field>
<field name="website">www.distribpc.com/</field>
+ <field name="image">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</field>
</record>
+
<record id="res_partner_5" model="res.partner">
- <field name="name">Ecole de Commerce de Liege</field>
- <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/>
+ <field name="name">Epic Technologies</field>
+ <field eval="[(6, 0, [ref('res_partner_category_2')])]" name="category_id"/>
<field name="is_company">1</field>
- <field name="city">Liege</field>
- <field name="zip">6985</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">2 Impasse de la Soif</field>
- <field name="email">k.lesbrouffe@eci-liege.info</field>
- <field name="phone">+32 421 52571</field>
- <field name="website">www.eci-liege.info//</field>
+ <field eval="0" name="customer"/>
+ <field name="country_id" ref="base.us"/>
+ <field model="res.country.state" name="state_id" search="[('code','ilike','il')]"/>
+ <field name="zip">60610</field>
+ <field name="city">Chicago</field>
+ <field name="email">epic@tech.info</field>
+ <field name="phone">+1 312 349 2324</field>
+ <field name="website">www.epic-tech.info//</field>
+ <field name="image">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ADsJd4LMQxjMNHRaxras5Em2mpPfnzy6rLj8zhXZC65zIKlptkVXyODQ6YgN4SXDuPEANyt+bL4yGbqZb0DHh4jILuxxOwafcd+Wy4tzA3ZsBqCk0QCbI2Xywni5DdrACeXIgt3+5fu3grcuEzVNvU9bdtuniJPLYlpG/uPsqQNaNFr+2qN4vl62H2C7rrtRsrojYjD2ODHDf4rjtsD7idx94WmzJUrfptW3HG2OKwajmy7ObMSwO2A7+R7PArj2tM2pdO57BNlZw5WxPK2yTu6MTHc7jvLNyG7dzW9i+x6fvMz8eUJjeK9+SaONz+b2PgbEXE7cngg+RPvSwKGacEWb3efhrxXdfLim0Wwu9FFUnqGxlo4CfmcP/hcmKHS01wVYMHRkd15gc70ONrQ4ML+XEBxch8nc8xy23I5uXxF2rfnyUBYbd3KRWYRI4iCsGQCMl5APxmtPPbtc0d26yUMffu5RkstdjDHfdZs2WTbsnD6z4h1ZDR8X2Bt+ZO6xMTHahZCuqWu2W3GfHr5+d12Ri9LmVkQxmIL5ASwejx+1t27cuey/ePo6dMkNmjQxoefaikigYD2doIHiuXhNONoY7HUzh8Y6ahF1bbTmNJk2YWbjlu1zgeZ8Xdqz6fwNjFZCJ1a1djx7YSw057PXxxnkGiMuHE0Dn8rbbuWPsYxoB0Uza2rdbavY65nh/akaIizUiIiIix2YILMDoLEMc0Txs5kjQ5rvrBXH9T9J8fH6tYjfff8A4OPb7tl3EUb4o35uaDyUsc8sQsxxH0NljrV4K0IhrQRwxjsZG0NaPILIiLMC2QUZJJuUREXq8REREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREX//2Q==</field>
</record>
+
<record id="res_partner_6" model="res.partner">
<field name="name">Elec Import</field>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
- <field name="supplier">1</field>
+ <field eval="[(6, 0, [ref('res_partner_category_12')])]" name="category_id"/>
+ <field eval="1" name="supplier"/>
<field eval="0" name="customer"/>
<field name="is_company">1</field>
- <field name="city">Brussels</field>
- <field name="zip">2365</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">23 rue du Vieux Bruges</field>
+ <field name="city">Chicago</field>
+ <field name="zip">IL 60623</field>
+ <field name="country_id" ref="base.us"/>
+ <field model="res.country.state" name="state_id" search="[('code','ilike','il')]"/>
+ <field name="street">23 Rockwell Lane</field>
<field name="email">info@elecimport.com</field>
- <field name="phone">+ 32 025 897 456</field>
+ <field name="phone">+1 773 439 3000</field>
+ <field name="image">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</field>
</record>
- <record id="res_partner_maxtor" model="res.partner">
- <field name="name">Maxtor</field>
- <field eval="32000.00" name="credit_limit"/>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
- <field name="supplier">1</field>
- <field eval="0" name="customer"/>
- <field name="is_company">1</field>
- <field name="city">Hong Kong</field>
- <field name="zip">23540</field>
- <field model="res.country" name="country_id" search="[('name','=','China')]"/>
- <field name="street">56 Beijing street</field>
- <field name="email">info@maxtor.com</field>
- <field name="phone">+ 11 8528 456 789</field>
- </record>
- <record id="res_partner_seagate" model="res.partner">
- <field name="name">Seagate</field>
- <field eval="5000.00" name="credit_limit"/>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
- <field name="supplier">1</field>
+
+ <record id="res_partner_7" model="res.partner">
+ <field name="name">Bank Wealthy and sons</field>
+ <field eval="[(6, 0, [ref('res_partner_category_8'), ref('res_partner_category_4')])]" name="category_id"/>
+ <field eval="0" name="supplier"/>
+ <field eval="1" name="customer"/>
<field name="is_company">1</field>
- <field name="city">Cupertino</field>
- <field name="zip">95014</field>
- <field model="res.country" name="country_id" search="[('name','=','United States')]"/>
- <field name="street">10200 S. De Anza Blvd</field>
- <field name="email">info@seagate.com</field>
- <field name="phone">+1 408 256987</field>
+ <field name="street">81 Academy Avenue</field>
+ <field name="city">Birmingham</field>
+ <field name="zip">B46 3AG</field>
+ <field name="country_id" ref="base.uk"/>
+ <field name="phone">+44 121 690 4596</field>
+ <field name="email">email@wealthyandsons.com</field>
+ <field name="website">www.wealthyandsons.com/</field>
+ <field name="image">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</field>
</record>
+
<record id="res_partner_8" model="res.partner">
- <field name="website">http://mediapole.net</field>
- <field name="name">Mediapole SPRL</field>
- <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/>
+ <field name="name">Mediapole</field>
+ <field eval="1" name="supplier"/>
+ <field eval="1" name="customer"/>
+ <field eval="[(6, 0, [ref('res_partner_category_8'), ref('res_partner_category_16')])]" name="category_id"/>
<field name="is_company">1</field>
- <field name="city">Louvain-la-Neuve</field>
- <field name="zip">1348</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="phone">(+32).10.45.17.73</field>
- <field name="street">Rue de l'Angelique, 1</field>
+ <field name="city">Munich</field>
+ <field name="street">Luckenwalder Strasse</field>
+ <field name="zip">80352</field>
+ <field name="country_id" ref="base.de"/>
+ <field name="phone">+49 8932 450203 </field>
+ <field name="image">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</field>
</record>
<record id="res_partner_9" model="res.partner">
- <field name="website">www.balmerinc.com</field>
- <field name="name">BalmerInc S.A.</field>
- <field eval="12000.00" name="credit_limit"/>
- <field name="ref">or</field>
- <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/>
+ <field name="name">Best Designers</field>
+ <field eval="0" name="supplier"/>
+ <field eval="1" name="customer"/>
+ <field eval="[(6, 0, [ref('base.res_partner_category_6'), ref('res_partner_category_7')])]" name="category_id"/>
<field name="is_company">1</field>
- <field name="city">Bruxelles</field>
- <field name="zip">1000</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="email">info@balmerinc.be</field>
- <field name="phone">(+32)2 211 34 83</field>
- <field name="street">Rue des Palais 51, bte 33</field>
+ <field name="street">203, Systems Plaza</field>
+ <field name="city">Mumbai</field>
+ <field name="country_id" ref="base.in"/>
+ <field name="email">info@bestdesigners.in</field>
+ <field name="phone">+91 22 3445 0349</field>
+ <field name="website">www.bestdesigners.com</field>
+ <field name="image">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</field>
</record>
+
<record id="res_partner_10" model="res.partner">
- <field name="name">Tecsas</field>
- <field name="ean13">3020170000003</field>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
+ <field name="name">The Jackson Group</field>
+ <field eval="[(6, 0, [ref('res_partner_category_4'), ref('res_partner_category_7')])]" name="category_id"/>
<field name="is_company">1</field>
- <field name="city">Avignon CEDEX 09</field>
- <field name="zip">84911</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="email">contact@tecsas.fr</field>
- <field name="phone">(+33)4.32.74.10.57</field>
- <field name="street">85 rue du traite de Rome</field>
- </record>
+ <field name="city">Miami</field>
+ <field name="zip">FL 33169</field>
+ <field name="country_id" ref="base.us"/>
+ <field model="res.country.state" name="state_id" search="[('code','=','FL')]"/>
+ <field name="email">contact@jackson.com</field>
+ <field name="phone">+1 786 525 0724</field>
+ <field name="street">3203 Lamberts Branch Road</field>
+ <field name="image">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</field>
+ </record>
+
<record id="res_partner_11" model="res.partner">
- <field name="name">Leclerc</field>
- <field eval="1200.00" name="credit_limit"/>
+ <field name="name">Luminous Technologies</field>
+ <field eval="0" name="supplier"/>
+ <field eval="1" name="customer"/>
<field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/>
<field name="is_company">1</field>
- <field name="street">rue Grande</field>
- <field name="city">Brest</field>
- <field name="zip">29200</field>
- <field name="email">marine@leclerc.fr</field>
- <field name="phone">+33-298.334558</field>
- </record>
- <record id="res_partner_14" model="res.partner">
- <field name="name">Centrale d'achats BML</field>
- <field name="ean13">3020178572427</field>
- <field eval="15000.00" name="credit_limit"/>
- <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/>
- <field name="is_company">1</field>
- <field name="name">Carl François</field>
- <field name="city">Bruxelles</field>
- <field name="zip">1000</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">89 Chaussée de Waterloo</field>
- <field name="email">carl.françois@bml.be</field>
- <field name="phone">+32-258-256545</field>
- </record>
- <record id="res_partner_15" model="res.partner">
- <field name="name">Magazin BML 1</field>
- <field name="ean13">3020178570171</field>
- <field eval="1500.00" name="credit_limit"/>
- <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/>
- <field name="is_company">1</field>
- <field name="street">89 Chaussée de Liège</field>
- <field name="city">Namur</field>
- <field name="zip">5000</field>
- <field name="email">lucien.ferguson@bml.be</field>
- <field name="phone">+32-621-568978</field>
- </record>
- <record id="res_partner_accent" model="res.partner">
- <field name="name">Université de Liège</field>
- <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
- <field name="is_company">1</field>
- <field name="type">default</field>
- <field name="street">Place du 20Août</field>
- <field name="city">Liège</field>
- <field name="zip">4000</field>
- <field name="email">martine.ohio@ulg.ac.be</field>
- <field name="phone">+32-45895245</field>
- <field name="website">http://www.ulg.ac.be/</field>
+ <field name="street">Constitución, 80</field>
+ <field model="res.country" name="country_id" search="[('code','ilike','es')]"/>
+ <field name="country_id" ref="base.es"/>
+ <field name="city">Barcelona</field>
+ <field name="zip">08078</field>
+ <field name="phone">+34 934 340 230</field>
+ <field name="website">www.lumitech.com</field>
+ <field name="image">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</field>
</record>
- <!--
- Resource: res.partner for training
- -->
-
- <record id="res_partner_duboissprl0" model="res.partner">
- <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/>
- <field name="name">Dubois sprl</field>
- <field name="is_company">1</field>
- <field eval="'Brussels'" name="city"/>
- <field eval="'1000'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Avenue de la Liberté 56'" name="street"/>
- <field eval="'m.dubois@dubois.be'" name="email"/>
- <field name="website">http://www.dubois.be/</field>
- </record>
-
- <record id="res_partner_ericdubois0" model="res.partner">
- <field name="name">Eric Dubois</field>
- <field name="is_company">1</field>
- <field name="address" eval="[]"/>
- <field eval="'Mons'" name="city"/>
- <field eval="'7000'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Chaussée de Binche, 27'" name="street"/>
- <field eval="'e.dubois@gmail.com'" name="email"/>
- <field eval="'(+32).758 958 789'" name="phone"/>
- </record>
-
- <record id="res_partner_fabiendupont0" model="res.partner">
- <field name="name">Fabien Dupont</field>
- <field name="is_company">1</field>
- <field name="address" eval="[]"/>
- <field eval="'Namur'" name="city"/>
- <field eval="'5000'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Blvd Kennedy, 13'" name="street"/>
- </record>
-
- <record id="res_partner_lucievonck0" model="res.partner">
- <field name="name">Lucie Vonck</field>
- <field eval="'Grand-Rosière'" name="city"/>
- <field eval="'1367'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Chaussée de Namur'" name="street"/>
- </record>
-
- <!--record id="res_partner_notsotinysarl0" model="res.partner">
- <field name="name">NotSoTiny SARL</field>
- <field name="address" eval="[]"/>
- <field name="website">notsotiny.be</field>
- </record-->
-
- <record id="res_partner_theshelvehouse0" model="res.partner">
- <field name="name">The Shelve House</field>
- <field eval="[(6,0,[ref('res_partner_category_retailers0')])]" name="category_id"/>
- <field name="is_company">1</field>
- <field eval="'Paris'" name="city"/>
- <field name="country_id" ref="base.fr"/>
- </record>
-
- <record id="res_partner_vickingdirect0" model="res.partner">
- <field name="name">Vicking Direct</field>
- <field eval="[(6,0,[ref('res_partner_category_miscellaneoussuppliers0')])]" name="category_id"/>
+ <record id="res_partner_12" model="res.partner">
+ <field name="name">Camptocamp</field>
+ <field eval="[(6, 0, [ref('res_partner_category_11'), ref('res_partner_category_4')])]" name="category_id"/>
<field name="supplier">1</field>
- <field name="customer">0</field>
+ <field name="customer">1</field>
<field name="is_company">1</field>
- <field eval="'Puurs'" name="city"/>
- <field eval="'2870'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'(+32).70.12.85.00'" name="phone"/>
- <field eval="'Schoonmansveld 28'" name="street"/>
- <field name="country_id" ref="base.be"/>
- <field name="website">vicking-direct.be</field>
+ <field name="city">Le Bourget du Lac</field>
+ <field name="zip">73377</field>
+ <field name="phone">+33 4 49 23 44 54</field>
+ <field name="country_id" ref="base.fr"/>
+ <field name="street">93, Press Avenue</field>
+ <field name="email">info@c2c.com</field>
+ <field name="website">www.camptocamp.com</field>
+ <field name="image">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</field>
</record>
- <record id="res_partner_woodywoodpecker0" model="res.partner">
- <field name="name">Wood y Wood Pecker</field>
- <field eval="[(6,0,[ref('res_partner_category_woodsuppliers0')])]" name="category_id"/>
+ <record id="res_partner_13" model="res.partner">
+ <field name="name">Axelor</field>
+ <field eval="[(6, 0, [ref('res_partner_category_4'), ref('base.res_partner_category_11')])]" name="category_id"/>
<field name="supplier">1</field>
- <field eval="0" name="customer"/>
- <field name="is_company">1</field>
- <field eval="'Kainuu'" name="city"/>
- <field eval="'(+358).9.589 689'" name="phone"/>
- <field name="country_id" ref="base.fi"/>
- <field name="website">woodywoodpecker.com</field>
- </record>
-
- <record id="res_partner_zerooneinc0" model="res.partner">
- <field name="name">ZeroOne Inc</field>
- <field eval="[(6,0,[ref('res_partner_category_consumers0')])]" name="category_id"/>
<field name="is_company">1</field>
- <field eval="'Brussels'" name="city"/>
- <field name="country_id" ref="base.be"/>
- <field name="website">http://www.zerooneinc.com/</field>
- </record>
-
- <!--
- Resource: res.partner.address
- -->
-
- <record id="res_partner_address_1" model="res.partner">
- <field name="name">Michel Schumacher</field>
- <field name="website">www.balmerinc.com</field>
- <field name="ref">or</field>
- <field name="city">Bruxelles</field>
- <field name="zip">1000</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="email">info@balmerinc.be</field>
- <field name="phone">(+32)2 211 34 83</field>
- <field name="street">Rue des Palais 51, bte 33</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_9"/>
- </record>
- <record id="res_partner_address_2" model="res.partner">
- <field name="name">Laurent Jacot</field>
- <field name="city">Avignon CEDEX 09</field>
- <field name="zip">84911</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="email">contact@tecsas.fr</field>
- <field name="phone">(+33)4.32.74.10.57</field>
- <field name="street">85 rue du traite de Rome</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_10"/>
- </record>
- <record id="res_partner_address_3000" model="res.partner">
- <field name="name">Laith Jubair</field>
<field name="city">Champs sur Marne</field>
<field name="zip">77420</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
+ <field name="country_id" ref="base.fr"/>
<field name="email">info@axelor.com</field>
<field name="phone">+33 1 64 61 04 01</field>
<field name="street">12 rue Albert Einstein</field>
<field name="website">www.axelor.com/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_desertic_hispafuentes"/>
- </record>
- <record id="res_partner_address_3" model="res.partner">
- <field name="name">Thomas Passot</field>
- <field name="website">http://mediapole.net</field>
- <field name="city">Louvain-la-Neuve</field>
- <field name="zip">1348</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="phone">(+32).10.45.17.73</field>
- <field name="street">Rue de l'Angelique, 1</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_8"/>
- </record>
- <record id="res_partner_address_tang" model="res.partner">
- <field name="name">Tang</field>
- <field name="city">Taiwan</field>
- <field name="zip">23410</field>
- <field model="res.country" name="country_id" search="[('name','=','Taiwan')]"/>
- <field name="street">31 Hong Kong street</field>
- <field name="email">info@asustek.com</field>
- <field name="phone">+ 1 64 61 04 01</field>
- <field name="website">www.asustek.com</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_asus"/>
- </record>
- <record id="res_partner_address_wong" model="res.partner">
- <field name="name">Wong</field>
- <field name="city">Hong Kong</field>
- <field name="zip">23540</field>
- <field model="res.country" name="country_id" search="[('name','=','China')]"/>
- <field name="street">56 Beijing street</field>
- <field name="email">info@maxtor.com</field>
- <field name="phone">+ 11 8528 456 789</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_maxtor"/>
- </record>
- <record id="res_partner_address_6" model="res.partner">
- <field name="name">Etienne Lacarte</field>
- <field name="city">Brussels</field>
- <field name="zip">2365</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">23 rue du Vieux Bruges</field>
- <field name="email">info@elecimport.com</field>
- <field name="phone">+ 32 025 897 456</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_6"/>
- </record>
- <record id="res_partner_address_7" model="res.partner">
- <field name="name">Jean Guy Lavente</field>
- <field name="city">Namur</field>
- <field name="zip">2541</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">42 rue de la Lesse</field>
- <field name="email">info@distribpc.com</field>
- <field name="phone">+ 32 081256987</field>
- <field name="website">www.distribpc.com/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_4"/>
- </record>
- <record id="res_partner_address_8" model="res.partner">
- <field name="name">Sylvie Lelitre</field>
- <field name="parent_id" ref="res_partner_agrolait"/>
- <field name="city">Wavre</field>
- <field name="zip">5478</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">69 rue de Chimay</field>
- <field name="email">s.l@agrolait.be</field>
- <field name="phone">003281588558</field>
- <field name="website">www.agrolait.com</field>
- <field name="use_parent_address" eval="1"/>
- <field name="title" ref="base.res_partner_title_madam"/>
- </record>
- <record id="res_partner_address_8delivery" model="res.partner">
- <field name="city">Wavre</field>
- <field name="name">Paul Lelitre</field>
- <field name="zip">5478</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">71 rue de Chimay</field>
- <field name="type">delivery</field>
- <field name="email">p.l@agrolait.be</field>
- <field name="phone">003281588557</field>
- <field name="use_parent_address" eval="0"/>
- <field name="parent_id" ref="res_partner_agrolait"/>
- <field name="title" ref="base.res_partner_title_sir"/>
- </record>
- <record id="res_partner_address_8invoice" model="res.partner">
- <field name="city">Wavre</field>
- <field name="name">Serge Lelitre</field>
- <field name="zip">5478</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">69 rue de Chimay</field>
- <field name="type">invoice</field>
- <field name="email">serge.l@agrolait.be</field>
- <field name="phone">003281588556</field>
- <field name="use_parent_address" eval="0"/>
- <field name="parent_id" ref="res_partner_agrolait"/>
- <field name="title" ref="base.res_partner_title_sir"/>
- </record>
- <record id="res_partner_address_9" model="res.partner">
- <field name="name">Arthur Grosbonnet</field>
- <field name="parent_id" ref="res_partner_2"/>
- <field name="city">Paris</field>
- <field name="zip">75016</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="street">1 rue Rockfeller</field>
- <field name="email">a.g@wealthyandsons.com</field>
- <field name="phone">003368978776</field>
- <field name="website">www.wealthyandsons.com/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="title" ref="base.res_partner_title_sir"/>
- </record>
- <record id="res_partner_address_11" model="res.partner">
- <field name="name">Sebastien LANGE</field>
- <field name="website">www.syleam.fr</field>
- <field name="city">Alencon</field>
- <field name="zip">61000</field>
- <field name="email">contact@syleam.fr</field>
- <field name="street">1 place de l'Église</field>
- <field name="phone">+33 (0) 2 33 31 22 10</field>
- <field model="res.country" name="country_id" search="[('name','=','France')]"/>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_sednacom"/>
- </record>
- <record id="res_partner_address_10" model="res.partner">
- <field name="name">Karine Lesbrouffe</field>
- <field name="city">Liege</field>
- <field name="zip">6985</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">2 Impasse de la Soif</field>
- <field name="email">k.lesbrouffe@eci-liege.info</field>
- <field name="phone">+32 421 52571</field>
- <field name="website">www.eci-liege.info//</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_5"/>
- </record>
- <record id="res_partner_address_zen" model="res.partner">
- <field name="name">Zen</field>
- <field name="city">Shanghai</field>
- <field name="zip">478552</field>
- <field model="res.country" name="country_id" search="[('name','=','China')]"/>
- <field name="street">52 Chop Suey street</field>
- <field name="email">zen@chinaexport.com</field>
- <field name="phone">+86-751-64845671</field>
- <field name="website">www.chinaexport.com/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_3"/>
- </record>
- <record id="res_partner_address_12" model="res.partner">
- <field name="type">default</field>
- <field name="city">Grenoble</field>
- <field name="name">Loïc Dupont</field>
- <field name="zip">38100</field>
- <field model="res.country" name="country_id" search="[('name','=','China')]"/>
- <field name="street">Rue Lavoisier 145</field>
- <field name="type">default</field>
- <field name="email">l.dupont@tecsas.fr</field>
- <field name="phone">+33-658-256545</field>
- <field name="use_parent_address" eval="0"/>
- <field name="parent_id" ref="res_partner_10"/>
- </record>
- <record id="res_partner_address_13" model="res.partner">
- <field name="name">Carl</field>
- <field name="city">Bruxelles</field>
- <field name="zip">1000</field>
- <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/>
- <field name="street">89 Chaussée de Waterloo</field>
- <field name="email">carl.françois@bml.be</field>
- <field name="phone">+32-258-256545</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_14"/>
- </record>
- <record id="res_partner_address_14" model="res.partner">
- <field name="name">Lucien Ferguson</field>
- <field name="street">89 Chaussée de Liège</field>
- <field name="city">Namur</field>
- <field name="zip">5000</field>
- <field name="email">lucien.ferguson@bml.be</field>
- <field name="phone">+32-621-568978</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_15"/>
- </record>
- <record id="res_partner_address_15" model="res.partner">
- <field name="type">default</field>
- <field name="name">Marine Leclerc</field>
- <field name="street">rue Grande</field>
- <field name="city">Brest</field>
- <field name="zip">29200</field>
- <field name="email">marine@leclerc.fr</field>
- <field name="phone">+33-298.334558</field>
- <field name="use_parent_address" eval="0"/>
- <field name="parent_id" ref="res_partner_11"/>
- </record>
- <record id="res_partner_address_16" model="res.partner">
- <field name="type">invoice</field>
- <field name="name">Claude Leclerc</field>
- <field name="street">rue Grande</field>
- <field name="city">Brest</field>
- <field name="zip">29200</field>
- <field name="email">claude@leclerc.fr</field>
- <field name="phone">+33-298.334598</field>
- <field name="use_parent_address" eval="0"/>
- <field name="parent_id" ref="res_partner_11"/>
+ <field name="image">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</field>
</record>
- <record id="res_partner_address_accent" model="res.partner">
- <field name="name">Martine Ohio</field>
- <field name="street">Place du 20Août</field>
- <field name="city">Liège</field>
- <field name="zip">4000</field>
- <field name="email">martine.ohio@ulg.ac.be</field>
- <field name="phone">+32-45895245</field>
- <field name="website">http://www.ulg.ac.be/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_accent"/>
- </record>
- <record id="res_partner_address_Camptocamp" model="res.partner">
- <field name="city">Lausanne</field>
- <field name="name">Luc Maurer</field>
- <field name="zip">1015</field>
- <field name="phone">+41 21 619 10 04</field>
- <field model="res.country" name="country_id" search="[('name','=','Switzerland')]"/>
- <field name="street">PSE-A, EPFL </field>
- <field name="type">default</field>
- <field name="use_parent_address" eval="0"/>
- <field name="parent_id" ref="res_partner_c2c"/>
- </record>
- <record id="res_partner_address_seagate" model="res.partner">
- <field name="name">Seagate Technology</field>
- <field name="city">Cupertino</field>
- <field name="zip">95014</field>
- <field model="res.country" name="country_id" search="[('name','=','United States')]"/>
- <field name="street">10200 S. De Anza Blvd</field>
- <field name="email">info@seagate.com</field>
- <field name="phone">+1 408 256987</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_seagate"/>
- </record>
- <record id="res_partner_address_thymbra" model="res.partner">
- <field name="name">Jack Daniels</field>
- <field name="city">Buenos Aires</field>
- <field name="zip">1659</field>
- <field name="email">contact@smartbusiness.ar</field>
- <field name="street">Palermo, Capital Federal </field>
- <field name="street2">C1414CMS Capital Federal </field>
- <field name="phone">(5411) 4773-9666 </field>
- <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_thymbra"/>
- </record>
- <record id="res_partner_address_tinyatwork" model="res.partner">
- <field name="name">Tiny Work</field>
- <field name="city">Boston</field>
- <field name="zip">5501</field>
- <field name="email">info@tinyatwork.com</field>
- <field name="phone">+33 (0) 2 33 31 22 10</field>
- <field model="res.country" name="country_id" search="[('name','=','United States')]"/>
- <field name="street">One Lincoln Street</field>
- <field name="website">www.tinyatwork.com/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_tinyatwork"/>
- </record>
-
- <!--
- Resource: res.partner.address for Training
- -->
-
- <record id="res_partner_address_notsotinysarl0" model="res.partner">
- <field eval="'Namur'" name="city"/>
- <field eval="'NotSoTiny SARL'" name="name"/>
- <field eval="'5000'" name="zip"/>
- <!--field name="parent_id" ref="res_partner_notsotinysarl0"/-->
- <field name="country_id" ref="base.be"/>
+ <record id="res_partner_14" model="res.partner">
+ <field name="name">Chamber Works</field>
+ <field eval="0" name="supplier"/>
+ <field eval="1" name="customer"/>
+ <field eval="15000.00" name="credit_limit"/>
+ <field eval="[(6, 0, [ref('res_partner_category_7'), ref('res_partner_category_9')])]" name="category_id"/>
<field name="is_company">1</field>
- <field eval="'(+32).81.81.37.00'" name="phone"/>
- <field eval="'Rue du Nid 1'" name="street"/>
- <field eval="'default'" name="type"/>
- </record>
-
-
- <!--record id="res_partner_address_henrychard0" model="res.partner">
- <field eval="'Paris'" name="city"/>
- <field eval="'Henry Chard'" name="name"/>
- <field name="country_id" ref="base.fr"/>
- </record-->
-
-
- <!--record id="res_partner_address_geoff0" model="res.partner">
- <field eval="'Brussels'" name="city"/>
- <field eval="'Geoff'" name="name"/>
- <field name="country_id" ref="base.be"/>
- </record-->
-
-
- <!--record id="res_partner_address_rogerpecker0" model="res.partner">
- <field eval="'Kainuu'" name="city"/>
- <field eval="'Roger Pecker'" name="name"/>
- <field name="country_id" ref="base.fi"/>
- </record-->
-
-
- <record id="res_partner_address_0" model="res.partner">
- <field name="name">Brus</field>
- <field eval="'Brussels'" name="city"/>
- <field name="country_id" ref="base.be"/>
+ <field name="city">Detroit</field>
+ <field name="zip">MI 48212</field>
+ <field name="country_id" ref="base.us"/>
+ <field model="res.country.state" name="state_id" search="[('code','ilike','mi')]"/>
+ <field name="street">60, Rosewood Court</field>
+ <field name="email">info@chamberworks.com</field>
+ <field name="phone">+1 313 222 3456</field>
+ <field name="image">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</field>
</record>
-
- <record id="res_partner_address_henrychard1" model="res.partner">
- <field eval="'Henry Chard'" name="name"/>
- <field eval="'Paris'" name="city"/>
- <field name="country_id" ref="base.fr"/>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_theshelvehouse0"/>
+ <record id="res_partner_15" model="res.partner">
+ <field name="name">Millennium Industries</field>
+ <field eval="0" name="supplier"/>
+ <field eval="1" name="customer"/>
+ <field eval="1500.00" name="credit_limit"/>
+ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/>
+ <field name="is_company">1</field>
+ <field name="street">89 Lingfield Tower</field>
+ <field name="country_id" ref="base.uk"/>
+ <field name="city">London</field>
+ <field name="phone">+44 20 1294 2193</field>
+ <field name="image">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HDEKDY7SWXhz0F+zagmEcrZHvc9xc717LKpabuu1ZYyd1kBqvfL7hfuS1wLR029CpeiUuy9hS2hswHb8mc+qy/Vrh8zGRHDkoaNHur4TI14XRy2p3jwXHpysDgQPgTsd/ot3pGhbxmFZSuFhex7tuR242J3/AIkrbouqz0Kzs6za1AQQ3b6RM/MqGtf1q9MsqGZM9YhERFcLiRY2PoU8fXZXpVoq8LGhjGRtADWjyA+H+pWSiIqcz3CjO38zxHuQ5PHth1XVhhrMdz7xOYGjd55fg7y381o9UfZ8NqtpC7grOPp5fFQ04cqHczYLngtaDKNmk8+4PmOoI32263+i53WtN3Ef6ZV1S1++pEbHRHpxhobnzwB1yufM9wX19e1Hq6OhqTDY/AarvtsXyBI+0ImPkc1gHKG9efr7w32A32333OouDWcoZ7T+b4c6ogw1nD41mMbHbrCRrog57nP32O5cXkkFvmSQQrqRY+lp/wC+Vk9oL0xkQBEbRBwG5HPAA9lQp4O6yrcJstouDK6fuWMxm33rVizA/ZkThGOZmw92QGPfy297YEbbrd6h4RZCfTPD/BY3LQSR6Xux2LE1ouDpg0gkMAB2677AnoNhuVb6LP0tP9lq7XrwkGRxLuA4kR/xU7xN4M/p1xAvZzI2ajaEuENGs3dxmhshxcyXbbbYE+W/Ub+q+8Lw41kNXaD1Bm8zi559NVJqlp8XOXWGOY9jSOZvnyuAJPfcq30Wfp2bt3+81oNauxSFKRtAIGOAILT8g56Ln/h5wa1rpTM15xPomaD709smtvoOlvRsJHMyKVzPd6DoOnVxPdSfhdwzzmF4m6g19qO/jBcyXPDHTxcbmQchLf6Rwd15jyA7depJJJKtlFhltTbEclvca7d1w/dHiEEgCYmUREXQqZERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERf/2Q==</field>
</record>
-
- <record id="res_partner_address_brussels0" model="res.partner">
- <field eval="'Leen Vandenloep'" name="name"/>
- <field eval="'Puurs'" name="city"/>
- <field eval="'2870'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'(+32).70.12.85.00'" name="phone"/>
- <field eval="'Schoonmansveld 28'" name="street"/>
- <field name="country_id" ref="base.be"/>
- <field name="website">vicking-direct.be</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_vickingdirect0"/>
+ <record id="res_partner_16" model="res.partner">
+ <field name="name">Spark Systems</field>
+ <field eval="1" name="supplier"/>
+ <field eval="0" name="customer"/>
+ <field eval="[(6, 0, [ref('res_partner_category_16'), ref('res_partner_category_11')])]" name="category_id"/>
+ <field name="city">São Paulo</field>
+ <field name="zip">01060-324</field>
+ <field name="street">Rua Dom Carlos, 1073</field>
+ <field name="phone">+55 11 2402 2045</field>
+ <field name="country_id" ref="base.br"/>
+ <field name="is_company">1</field>
+ <field name="image">iVBORw0KGgoAAAANSUhEUgAAALQAAAByCAIAAAB1HmzMAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wIAwwULemG4J8AAAoJSURBVHja7Z1bTFv3Hcd/TmxDNoPNSKTBBrZZCyoaFwnUBycV5mVVm4wyNS8lleI8lVSV8AtBjVRxEFpU1ocaaWSJJgV3y+VhmeKQVNUyTRiRWF0FmYGMKEyKD4ZBJWA+xt4g+HL2cJAx5vj43Hzl95UfjH3+5/zP///x7/Y/56CgaRpQKDYdwSFAIRwohAOFcKAQDhTCgUI4UAgHCuFAIRwohAOFQjhQCAcK4UAhHCiEA4VwJCpy9ybOBMLBolDvR5E/38KZQDiQDISDJxmDl5AMhIM9zoiMXsUJQDhYyAhd6sbRRziQDIQDyUA4kAyEA8lAZQoOJAPhYFd0fhbJQDjYydj54B0caIQjCRkBPw40woFkIBzyklGiVX42hDNxWOAQRIb6zjdH6htxJnJQCtmf7CPIm6gfupCMw2I56E2KPxmq31xDMnIaDhkth1Ayjp79ECfgUMDBkEE/n0MyCgeOqBxwIBkFGnNIhgPJKGC3kjkylD2XkYx8giMSiWSGjKPvn1P2XMYRPxRwCCVD9cV1HO78klI0HOHBPp5kAAC97OW5Nqv8bAiLH7kCh0qlEtFM6M1I0b9P8t10ExfqcsatFBcXpZsMVL7CoVAokAwUOxxIBippzJGzZLjXA9ROWJZdGUqKDSXH0rF/nVrZfLwkff03V5Yl+8q54kt2atwiA1tkYJt531yu0RWppMKReZthdS1MrFJy7U2vKXaffTN+IOTdf1uFzt5eHz9PMu5fq1ZaG6qsDVXx/W9/8BQA+luMRGsNfyyIKc9XC6vMn/0txuZyjVTLER6+ki1volUruU+Arx3aCDbf/Y48dzL2SbJfvAiRge2JVcoyPu/saElH/6md8MC0p7m8pNN4QuQeXoVsc0u2uSX/ThgAztdWEK3GlCYnNRyRuzfDw1ey5faayzUHR1yMfR6bnlilnCu+mKG2mWrl6iQx9XJg2sNqJ2Tpv3PF1/7gqdW1IAKOBCwOWjjxcETu3SmkW07i4cg7LQa3ycCWoAjD/mLF6vpXDAuitUbQ6XPBEX30MPTpJ4UUfjNBXP6KDGzzhMP+YoWY8iwGt5l4y2aqFWF1OC1HzevqP4xBNCrxlMKjI9G/PuSzpeKNBkV9Q17PH0VROp0uix1weNasroUYFkSr0VJXKX8qe+S1OoA6iX2llxf5k6G+842iVJevXGx8n10ynCs+YuolE/owCQ7/REZqnUOcQr3duUOGriid53tMky0ynCs+y/g8Yy1Y895chCN8Y4TPklvGbIa5Ii3RKEVRAAA/0KS183pNMWs4aXUtDM8tMe955qjZh4PepPjkwNxkUDthWaJIpliZEJQxtULp+3dMPwPdT5KFkMTUS+lxKABY6ipYDk2uzWwEAeA9w3GbqVYuLNIOR6i3O+VtCiltxsxGkCkFSldPQ1X82Dk8axbnvF9ihft/QQBIRgaTfw5Me6R3nklEWcdHq1bazfWi62NZgCPy6EHKODRj3kSrVhItRmtjdXymd8H5XK8pllS+3PovRF7BT39GBrYZf896aFkqvBOrlP3FysG8o6lcM7MRtDjnbTuvi85KMgoHvUmFB/tSbFSiVX1xPSUZbRU6WSqkB8oAq4yhlhjPM2IqpKxfyVXhVVz/2wXnc3NlWYLj6DSc0KmVE6vUBedz29ySzVQrY5UvLTdSh4ev0P/2cpOB90+LkHs9yJKqdLT0txi1aiXjgs1j02RgK0fhiM7Ppng0cQ6Q4d4I5iUcGwF209Va4z77ZluFjnFAxtsuq2uBehXKOThCvR/lvs3wy3SlSO7IUHLM2dFy7xeNek0xAAzPLRluuyQmSjLDER6+wnVJOnqTNKvTeII8d3LU/IZWrfTvhAemPYZbTxyetezDQS8vhm+M5AUZTeWaAkbEUldJdpmYQGQxuP2rR7PmsWkR5Rw54eAqbOSYzTCUFBe2CdEVqYjWGrLLdL62gglE2h88tYzPC4pVZUtlI3dvJq2U5543sTZU3yfXmZUq6XvL2SsBdEUqe3s90Wq0uhbuk+tfLaw6yDX+Ky/ywEFvUqFkhY2cjDPMlWXvGY7fJ9dlvIw0l2NVx9tNsTXbgWmPbW7JZkpdNJMHjqQORQIZzDWeMl7pmSDH2022Wa+DXEvT/uXtP5OmxnvDg5+k/D04O1ocnjXbnBcA7C9W3RtBosXIYUJkeGBc9NvJna53MDcpPEmFg96kdk6bWOqhSEb+S2q2wl4pRzLQckTnZ3fOmJAMtByscShLpVyFD9goGDhCIZHLM+EbIwcr5fg8uIJyK1vb28VFgh/RQS8vvjptSkhfkYwCk1KlFFPqOFjYSAsZj51QbYBqA9/t59wAAA3Ne3/6hdS4mGMJbRVrKPSIWt1eVwHgawd4Sbho5dv8dzaoNsDpzn3DJUgNzaDlvNiKFq7wX8a2jD+Mf4X/9Ec6HSoD+vN+AdufaaPPtO2+/7yfLgNhL+ZYZ9oy1/DTnt3eUj5arxVwvszZ6bU05ds7d6FHnxznPohgOKJ+31ZjZSbIkALHoocuA5k7E0/eQU2O8xlulglm9PAeXQb0x+f3zTf3sT4+v3fEW6NcfRMrwdlKeLAv3qHkaJzB+JdsaPceFqF65gYA6CNg0w9DRIqNL1uhSg8fWBKbZzeVjX47Gf+gjtyNQJ9lDQ5JN71VG6C7B64Ng5dMus1tOzybgT4iAz8GAXDQm1R8YQNzk7Soj4BSLZfxGCKgSg9dlkxkK/w3jYxejVXKM0RGqRa8pIAg3E/tht/vdsLQgICGp8xZcGes5kGrg4tWGBqAbuu+XCZmNpYW4bejiZ+/2wl37HzPNyFLkp6tRP45k4kINEFXv6Qb9cIi8PhshYn/eb70WvrhPakBqYjXweCU8tGNevZjNerpt5pYQmDKtxuf8n+91UTP/oN7+AU8MC4L3uSiVUDeDwC/NO+zz32EgLaPndDRDm6PgLLKQf36S74/Su5fdh8Bn1yAx859Jo0xGyN29iYjdvavONzTh50wQ0p1K7FKeeHHGV5SEhwNzfJ4qC4LDBEwRMAp577pPNkmmwcEgKVFqQEpvbzI3CyPEWhGNWKHJxPwtWOf2RBkCzOQrYQG+yDgP/r+OSQjozplhpNtcNmaLrMhPVthbpbPp/+WIsUpSG8ue1rb0Q637bsuQFBIwUdVevFw0IHNUG93Nsn4kULMgMaC0ycTAtv2i4fjlBl+3gQd7YIb/ofm2md3z27No7snhdkQOlal2pS0cV0JFhq8BJv+bNoMocuM8cMnbkk2ZQ2DOxkRsaLL9NlLgpdkmX4/BddsUKpjydr8FMy591ZWZV+S5YCDXpgP/34Y//fWYVbSgDT6ZBzJOORitxz02veKEz/G0UE4aBwFlMg6BwrhQKEQDhTCgUI4UAgHCuFAIRwohAOFcKAQDhTCgUIhHCiEA4VwoBAOFMKBygn9H/ThYjbB3MwVAAAAAElFTkSuQmCC</field>
</record>
-
- <record id="res_partner_address_rogerpecker1" model="res.partner">
- <field eval="'Roger Pecker'" name="name"/>
- <field eval="'Kainuu'" name="city"/>
- <field eval="'(+358).9.589 689'" name="phone"/>
- <field name="country_id" ref="base.fi"/>
- <field name="website">woodywoodpecker.com</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_woodywoodpecker0"/>
+ <record id="res_partner_17" model="res.partner">
+ <field name="name">Nebula Business</field>
+ <field eval="0" name="supplier"/>
+ <field eval="1" name="customer"/>
+ <field name="is_company">1</field>
+ <field name="city">Rosario</field>
+ <field name="email">contact@nebula.ar</field>
+ <field name="street">34 Westwood Avenue</field>
+ <field name="street2">Capital Federal</field>
+ <field name="phone">+54 341 324 9459 </field>
+ <field name="country_id" ref="base.ar"/>
+ <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/>
+ <field name="image">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</field>
</record>
-
- <record id="res_partner_address_geoff1" model="res.partner">
- <field eval="'Geoff'" name="name"/>
- <field eval="'Brussels'" name="city"/>
- <field name="country_id" ref="base.be"/>
- <field name="website">http://www.zerooneinc.com/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_zerooneinc0"/>
+ <record id="res_partner_18" model="res.partner">
+ <field name="name">Think Big Systems</field>
+ <field name="is_company">1</field>
+ <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/>
+ <field name="city">Boston</field>
+ <field name="zip">MA 02203</field>
+ <field name="email">info@thinkbig.com</field>
+ <field name="phone">+1 857 349 3049</field>
+ <field name="country_id" ref="base.us"/>
+ <field name="street">One Lincoln Street</field>
+ <field name="website">www.think-big.com</field>
+ <field name="image">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</field>
</record>
-
- <record id="res_partner_address_marcdubois0" model="res.partner">
- <field eval="'Marc Dubois'" name="name"/>
- <field eval="'Brussels'" name="city"/>
- <field eval="'1000'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Avenue de la Liberté 56'" name="street"/>
- <field eval="'m.dubois@dubois.be'" name="email"/>
- <field name="website">http://www.dubois.be/</field>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_duboissprl0"/>
+ <record id="res_partner_19" model="res.partner">
+ <field name="name">Seagate</field>
+ <field eval="[(6, 0, [ref('res_partner_category_14'), ref('res_partner_category_15')])]" name="category_id"/>
+ <field eval="0" name="customer"/>
+ <field eval="1" name="supplier"/>
+ <field name="is_company">1</field>
+ <field name="city">Cupertino</field>
+ <field name="zip">CA 95014</field>
+ <field name="country_id" ref="base.us"/>
+ <field model="res.country.state" name="state_id" search="[('code','ilike','ca')]"/>
+ <field name="street">10200 S. De Anza Blvd</field>
+ <field name="email">info@seagate.com</field>
+ <field name="phone">+1 800 732 4283</field>
+ <field name="image">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</field>
</record>
-
- <record id="res_partner_address_fabiendupont0" model="res.partner">
- <field eval="'Frank'" name="name"/>
- <field eval="'Namur'" name="city"/>
- <field eval="'5000'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Blvd Kennedy, 13'" name="street"/>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_fabiendupont0"/>
+<!-- To be removed as its acquired by Seagate-->
+ <record id="res_partner_20" model="res.partner">
+ <field name="name">Maxtor</field>
+ <field eval="32000.00" name="credit_limit"/>
+ <field eval="0" name="customer"/>
+ <field eval="1" name="supplier"/>
+ <field eval="0" name="active"/>
+ <field name="parent_id" ref="res_partner_19"/>
+ <field name="is_company">1</field>
</record>
-
- <record id="res_partner_address_ericdubois0" model="res.partner">
- <field eval="'Joy'" name="name"/>
- <field name="address" eval="[]"/>
- <field eval="'Mons'" name="city"/>
- <field eval="'7000'" name="zip"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Chaussée de Binche, 27'" name="street"/>
- <field eval="'e.dubois@gmail.com'" name="email"/>
- <field eval="'(+32).758 958 789'" name="phone"/>
- <field name="use_parent_address" eval="1"/>
- <field name="parent_id" ref="res_partner_ericdubois0"/>
+ <record id="res_partner_21" model="res.partner">
+ <field name="name">Global Solutions</field>
+ <field eval="0" name="supplier"/>
+ <field eval="1" name="customer"/>
+ <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/>
+ <field name="is_company">1</field>
+ <field name="type">default</field>
+ <field name="street">Union Road</field>
+ <field name="city">Liverpool</field>
+ <field name="country_id" ref="base.uk"/>
+ <field name="zip">L25 4RL</field>
+ <field name="image">iVBORw0KGgoAAAANSUhEUgAAALAAAABuCAIAAAAI4Q5WAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A0QAAv2wj9AAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wIAwozJ9cbx1YAABAdSURBVHja7V1dcBPnuX7fNcdxUrzyCSnHHEuNetMTS3LDmc4Uy0xPcjoDJjk9EzrGBm7OwcQkvWls8Dg3NcEunBs8gGluamLA9KJ2/NNxpvmxzUxr2kESF+k4gyRoptMRSBBPQ3KsdU/iuHjfc7Hr1Wq1K61Wvy7fM76Qpf320+776P3/vkUiAgaGdXDsFjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjAwQjA8mthUklkpLtDMHMTuQTRG0ZjuMeh2gY1H7w5samRyKhqwaE22FI3R+BREYzQzB8JydoO9O9Dtwj27GDn+HghB0RidOU/jU3k4l7se21q4I4eZ5DYkIWhmTnzrMvhv5Pm89jrs7sQ9u9HGMxFuDEKQLyB29UDsntkBfDW4Xeiwg8Oe7jDF+ZBocaSdaYtyJwTFBbGrB2avZj60eRd6XGCvs/Bbp2BYPNoDoVvgrufODaDHxWRZjoSgmTmxqyejz4htLdjdiemVgcloZfgyzcyhtxG7O5kFKS9CiG+cpOHL6e0Ctu0rhOTIF6CZq3ikPXeSMULkhxBrLQfTO4/50grp7Qg47ExPlJ4QYldPuqgyvZl/sACfLcDHIwAAn1wzPMnmp6HaCdVO+NYh2LIdHqthwitTQqRnA3a069uI+/Pw8Qjcn4e/3rEy67bnwLkXvnWIMaO8CJGODXw1NziAe3Zr31+OwId9EJmG1XiuX3/Ls+Dpgn85xARZFoQQ356ko6/rf2av4y4Nac3EgwUIDsLHV/J8EZufhoYuaOhi4iwlIcgXEA+/qh9h8tXc5KiWDR/2wYf9BbyULc/CcyPw1HYm1BIQguKCuOs/9BORqWx4sADXDsFnHxXjgr5zAr7Tx+RqGRb7IejMebNsiEzDr/61SGwAgA/74dfPw1dLau4yMReWEBQMGyWgtH6Drwvmfljsa/rkGkxthwcLsg608TQzxyRdQEKIJ07qm5/+3qR+hT+OQPB8aS7rr3fg2iFFT5DvhlEbDkOuhCBfQD8j6d2RVHj84whcay/llX32Ebwr2w480i529TBhF4QQ4pnz+q7DpaEyYoPCibm9AIAOOwgCMxz5JwRFY7rqAfuPJ3KRDxbKgg2KP+HrAgBsaxHfOMnknW9C6KoHdz23f5/8+qsl6UdZRgieh8g07tkNsXvi25NM5HklhJ7W5fqPq6K+Pou1iYJi/hBu3Qz2On1CM1gjhH63tLpN/v58ycKK9FiNw/whbGqE2D3yBZIsIIN1Qvh0vAfuSHuSeihb3HkHHn8AAJpSnPjGSbGrh/mbVjWEBva6RDEzMp2um6EMgI/NSIRQFAM67NxPjwOAePhHa9/9nsgMinlCUDSWmqtGxZcEgJuDZX+tn+syGyUfKHaPzpxf++73KBh+lAlheilfSOc2YVuL/Go5UubqAQCwdnWdEFdBnUMTlgAeyq9jd8TdL3KXLui0cWQJischHEz8z/PobijOlVLoJgiqCo7LgzZbnglBoVs69kJpkJQa4DYKNKmUiTHkvkxcKVWKb5ysyJkQEA5SqyoC9zbhxDtFIkRfL/h9iV/CxDR4d+bbZKicc3ka9S2LTG8sxZgUa6Q6y+bXFz3ieYhkQuxK2IuiVbfzRYh1JSF29ZA/wHzJ7AmRmrF2r5e5P1vYeNcdFyBNQ6i9jjmVWcJelyhebEBCkD+QZiFJUvTECGEK6vU29+c3BglWVOow1UdW2OB2YUf7I0sIiz5E0gKs1aWNca2LlSZ9o0d57Vc+NMRG8ChphaPbT1gfHr0LsShoUgsAcjhnd6DjGxlOEY3S2dPmx9L4KMSihmdzecBmK0RuwzQh+Oqs9wEqEyosbaIATwubYaXC4hnOnqazAwYfyu/Ty69w/f+T7iyxaMpJ0o2liTF1LsHwu3mbsO9UHmlh2mS4N94GDBSpEqefEgcdFLBZZ8PwkDEbVLh4gYaHzJ92SRSXRNHa2OToz0fN36fQzaITgt8wZpVWODHArw3axZFttFCdOVxq3mV4qtBN6us1O29fr0nBLIliDcfVcJyFsfpTH32tgCZDWsigcazQ4yL1pjBludiBbj8hLmyG218z6xp3d2JHO1z8Oc29ZyRjPePNJ25CsktBfb2G+WmeB7dHfi0SLC9nGOvypPvqoWBStSIcpOjdzH6MBUJQMEzjU1JRODkYq6ekn46q1lVpy8Oy3dx4IP1lYRfsddzUqBQrkbF60FhxHL6Ce17UqpDm7ycp8NBNfYvu9nAT7ywsLGzfvv1JE2MzeCQA4omfwMULah8F8kGIJJMhvj0p7v4BNu3QOdBrvEHklhIsp6TFSjHAr41tXev7pjj2T7RQnZWXgHt2Z966ROPTtR7QsAEA0N0A3qZ0o5LhdDotj9VObbqAaVFD0MyctJSbojHUmZ4Hd30in5OkIYq3QwNFqmhhM0WqYOkfcjqRw0RyWogny15fh2Pzi6QWpKCvLCOf/++TS0s1NTUWxpYgDyFvHSe9fusy6O31h20tdOLU+ldfprgg+xlPbYc7hSrs0goHkSparKTFSohUWQkWav4GtasaxwK9mXfEpXhco/MN4q+k98l/HfV9CJuGDRnHyjZLiFNq/gMAotFCEmJ8MpFmiN0Tu3q4wYFUNZsghKQkpPbabc8D9OefBJEqilTB4mMWz1K1hs98gY0C1q6ujdRqciqmtjHUyMDuyOWinJuySwqLL/8XzH5QOg2R3BNA41NroTDX3aluekCHHbw7lIIQ+W/I/db//HzuDoGURqRIFaxw1kmg8OCZL/CZLxQrA5HHNcy2cOK8+PBm2XDiJyVhg8qHEFLCyNAt8fCPJEsB7np0u8Bh5460iwoh1L2HT79k0mrQYiWscJLgabESljbl6g2s8wCcKzIVqsSkmzufoqi9O8ylXmyagMJUQpDPwdfjbSClydXhgyZkVZuMWLRQhECHnQxqwVLHgE5s5g8k2pTvI3xSk8YTBIC8yT7ZP8B1HhhFpBr1AHy1SQ2Bbg+pf6bRKJgghJHvaXJGOYBMom8Tp5fbSJtQz50Q3Z1Z71YvLCcvhPrHIim1mr+hcwWcK+hcwZqH6X0RceZJnYDTWjEzHISUsBMAwH/d+rXojo3eLX2UgQ47njttuINYOcD5JUokcK6YdU3ma1J1EnZ3mp3Ru1OpPwEAhYK64QNphGq6ndVwbBGdlXR5CG7/PnLYDfcRKz5qv8LaVTOawDBjEbCleg/mt9JF707i+YR3NfsBDQ9pbXn0blI2iefRiBBxQSt+k2OjUdJTJFTQsFO+BU2NFbc/Et+6RG9dLkHn8TP/h7WrUPMQax5C7arGN8w2cBXHtqa+z5lXDxJaD6j9u8yFrtYDaSxOUle+8Vj07kzy2GLRDAMLRwj5rh05DEcOU1yg8UmI3ks8nyKvfgDUPETnClSJWLuao/h1wraRWp0UVnPWT2jCY6/T7AdmnXm7A49Ztbmasa0HYGKsxCZDey9sPEr5yp8ep7gAobCymk9e1CAIcibbXpfUQPXJfNJ5FJMv/fQlBhQSa2NbdTMZqam2zISw2eDiFWrdqxOWayNGHi9esVhfSBmLfacoFNTJTpaQEBpyQFNjwqVaV7xKG3vF1Gji6Nm9hctkZ9YN00/plr8tP5MB3Q0wMU3DF9L9ZFsPYMcrFtuW9MaizQYT09TXW3w9kdPWxhQXxH0HIXQLuzsT5vmrJXj3+ZI0Wq6N1GqzDhLc9RVX3wOGQhNCzQnuxu8SDvxyBKa2F7NJglY4caRWP+etu88ygwFyfbIv2nju3ADw1WLLwUQyu9oJP5iHSluR2LBYKQ7ajSog2H+csaF4GkIWSTAs7jsIwjL29yZ2q3ywAHN7C73llDhfQ/OGSVJsa7HgS1q5A1KqwEw/vr6iXS9wZ7N0v3wJAerN8d313KUh2XwsR2Bub4H8CampOl19JBvXgYaHaPZ9ba8iAE5Mo4nko2j/OgDgsR5rkSf5r0vJBpPTla/JUCe1uEtDwFdD6Ja449/Erh6KxmTbse25vNuItbGt4si29GzgJkfNnnB8VN5TQShG8zDF4+S/Tv7riR4cngdvE3ibSt7dns+HwWNTIzc5KtkOGp+i8Slsa8G2FvzP+Xw9LINuPyEGeP1QIoUN5uNMUqI7dVO1Iqq8Yz1rqWzlge6Gom0nUjxCAAB6XNzV98SWg3IKa3yKxqfAXodNjfjCKK7+3MLOQ9IqPArwJhtnsK0laWddMwgFAQwLzUlfZn23njSKXdchkAfyPNi/IU8HAKEgAYDdAbxN14eQlxCmvp9S3TD6PpojM9qjgjzq2fDhvu56/NrH8ORf0LmSPl9JKxwsVtLtJ2ixMrM+UEWY2N1p4eHPkgeQnhByF5M6jW134OxvJTmpfQhdh0BsfQn8PvA24bHXldpE5OGac1MFHusB707NEBofpeELmmQlzv5GSmHJX1gDuwPPvSkPD93UTbBysU+LqiGUWLTi8pDOU35DtwgAYIvMQeeX+uMXK60003p3cJYjTKmqGQom1uNKq2nXowaaeV/bxQTScs3TmGkBhc5cLg+Eg5GHa85vPws2PrVbk6J3qa83VZx09DWc+63hmWNROvpjDPwBpDqcJX+Ig4IB9+zmbvw+sVNdKiKP6/9lywa+Grs7K6ZyyD5Jv2NBoLMD8l/Hf1PrXmr+d8nvo4tD6yrhN1zsUwz9SV5ZlcqSjLfF3YD9pwDAuakC+09xE+9g20HtQRNjsmEavsLFPuVin8q10HBQbQLwWI/0aeIARYFJhXWXB0N/Uo7JqB4KSwg5bTU4wE3+Epp3AV+d/wn4auzv5W78Puu6tuZ7nn0Tml/Q+UAQYPZ95f5ix6uSxkabTRKqrjnPW1aj+QVlaRB37s11SetPhw6HoQOrDmeK7FQaRR8VTY0UjdGZ81k36hnHEdjRbr0fTktcG178hcZ5lNfZxaKJZbjq7hhl7WUoCHnPHISCkNqe6fJAOGjUuKWFywPhoLoJgwCg9UCCWCXREMkUtnODAxX3/4znTpvte9Y6TXXY0Y79vdyN31VcfY/bv69wW71kLl0Wf5VVNjPiuZ/pLBeeGMuoKjZB0cHt3wf791FcAH+AfDcoFIZQ2LBvT2p6c9ixeVcxSxLqG4fuBkpVBoq1zqHN2lj/ecDv0yqDWBRMd3Wju0HtfiZWBocz6LMSEEJxL2DP7tx3EM6P+DWb/QCQkiqQ1ll4m8Dvo9n3FfErW3yki+ylNIOEbDZQQO9O8vvAfz3hoCgvzJknbfrBZjOZXdgEDADpFjg0vwDKqly/T9ve+PIr+uLkeRCEjD2YdKKXbDz2ndKZ9OwACIJ2OpfHZKVDvw1TinjLxIfYeOB5HL4i5SGw41V4+RVtwsDlMSpl4cVfpMt5uzyyYMJB3QIKuhvwbIoTwPN47mc5Xc7ZNzOWUguSqWTYuGAagoERgoERgoERgoERgoERgoERgoERgoERgoERgoERgoERgoERgoERgoERgoERguHvDf8Pt/1jARXcafUAAAAASUVORK5CYII=</field>
</record>
-
- <record id="res_partner_address_notsotinysarl1" model="res.partner">
- <field eval="'Antwerpen'" name="city"/>
- <field eval="'NotSoTiny'" name="name"/>
- <field eval="'2000'" name="zip"/>
- <field name="parent_id" ref="res_partner_address_notsotinysarl0"/>
- <field name="country_id" ref="base.be"/>
- <field name="use_parent_address" eval="0"/>
- <field eval="'Antwerpsesteenweg 254'" name="street"/>
- <field eval="'invoice'" name="type"/>
+ <record id="res_partner_22" model="res.partner">
+ <field name="name">Vicking Direct</field>
+ <field eval="[(6,0,[ref('res_partner_category_12')])]" name="category_id"/>
+ <field name="supplier">1</field>
+ <field eval="0" name="customer"/>
+ <field name="is_company">1</field>
+ <field name="type">default</field>
+ <field name="street">Margaret Alley</field>
+ <field name="city">Leicester</field>
+ <field name="zip">LE4 2BN</field>
+ <field name="phone">+44 20 1294 2193</field>
+ <field name="country_id" ref="base.uk"/>
+ <field name="website">www.vicking-direct.com</field>
+ <field name="image">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</field>
</record>
-
- <!--record id="res_partner_address_4" model="res.partner">
- <field eval="'Grand-Rosière'" name="city"/>
- <field eval="'1367'" name="zip"/>
- <field name="parent_id" ref="res_partner_lucievonck0"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'Chaussée de Namur'" name="street"/>
- </record-->
-
-
<!--
Resource: res.request
-->
@@ -900,7 +404,7 @@
<record id="res_partner_asustek_request" model="res.request">
<field name="name">ASUSTEK-Subject</field>
<field name="act_to" ref="user_demo"/>
- <field name="ref_doc1" ref="res_partner_asus"/>
+ <field name="ref_doc1" ref="res_partner_1"/>
</record>
</data>
</openerp>
diff --git a/openerp/addons/base/res/res_partner_demo.yml b/openerp/addons/base/res/res_partner_demo.yml
new file mode 100644
index 00000000000..ebbaacb319c
--- /dev/null
+++ b/openerp/addons/base/res/res_partner_demo.yml
@@ -0,0 +1,273 @@
+-
+ !record {model: 'res.partner', id: base.res_partner_address_1}:
+ name: Tang Tsui
+ parent_id: base.res_partner_1
+ use_parent_address: True
+ function: Service Manager
+ email: tang@asustek.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_2}:
+ name: Joseph Walters
+ parent_id: base.res_partner_1
+ use_parent_address: True
+ function: Store Manager
+ email: joseph.walters@asustek.com
+ image: /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACCAFcDASIAAhEBAxEB/8QAHQAAAQQDAQEAAAAAAAAAAAAABAAFBgcCAwgBCf/EADsQAAIBAgQDBgIJAwMFAAAAAAECAwQRAAUSIQYxQRMUIlFhcQeBCBUyQlKRobHRM2LBcuHwIzRDY/H/xAAaAQACAwEBAAAAAAAAAAAAAAABBAIDBQAG/8QAJREAAgICAgICAgMBAAAAAAAAAAECEQMhEjEEQRNRFGEFIoGh/9oADAMBAAIRAxEAPwCgBTyh/wCi522sMGUizxJ2JppN78xjdFnoFSFZFCt5Lh+oOxqqgR6NCyowMm4O3ME9R/OMd8/aH+UL0RpEqlG9O5ufvLfBK08slMUkjKqxFrjA06ATMg3Abw33t7Y30KG1kVgwPQYi1assWmavq6eOQMqLJpu1ueMpqWrkWwprDcggHf8APDqpZKdTFGzHoLWsb4xQSFHMgIYXJ1bW/PEeTSDxTY1/VtYbOyRjkp8Y2vj2poVk0Rqyagu13Fr/ACwW92gsxvptff8A503wPTTBHVbqv3dRa+n+B+eJStrsEdPoNyWaahidaiOF4pVsvi8iOV/bBOY1yvMJUEcTBi12Ntj5W64bZauJwwK6k8gOX+emFmaz1GTOsNGzs2gKFUlrXJ1WwOTJcE7dCq42nqRPJXwNEt9ABY6b+lsLDFFQV5DDulYBfpEwvhYLT+zo1XQ4tT0UBV+5rMdIa5c8/a98OFPX2pgyUUYjAP4tr/PGyLKampUxpGQNRQyO2lR77/zje3DtbEjjtaMlfurMt7AXta4wOSa2wNU9IbVqUI190iS9h6YcaNllQssRRQ24j2vtgMUqQreqqYoC6h1W5ZiOmM4KymgopA1QFAYMCI9yR53OBLi1oK5J7HSeNI6ZpYljBXcll5Y300ldIY4aeWBSSDcxix258jhnr56s0yTR5fVyRSkBSy9ncHrzO2CctzNZ1C93limiGllkHMctQPIjYeRx0YJK5AlJ3SHqqizVZEimqopLp9gRi3ty3GA82IFS7QxpDHpDaY1AA8yPIE4IhjeWZZFmW67gdlfpfr7fpgWqEQ0EyVLsDa5ZTYE+3viMkvSDBv2AzvWwwKY55F1WB0sP1wpHzE2kSvqIxpsbSHe3Tny5YznjiljEkr1BjHkV/Llz6409pTkaVMxRSFF2tv7Wx3+E0rXZhUSVhl0vmFQxA5PKxGFgeqqIYpNKUrs1vt6yf1vhYNfoN1o3SZjXEM8eW1JMpHiMZsf0wTQ5nmk9dF3yhkEKMLgxHYYCrcwq0qGXvM9gbgCQgD9cArV1B1Xqprjl4zixOTQu4xsJzaiq55op4acMERUIfoRzxryfKZ8zzqkpHspEwujHZgDdj6WXrgWasMkkZqJZWUONZLEnTff9MXBwXwpS0HE1TJVMeyq4dEOqTcR333tsW2IHQYhJvHEZw4vmdrpUWXw9xXwQayPJHznKpKkqAIbq/IcsY8c8LcL1OX1T0VNSx1LRs4eAhSpsdyB0viGw8HcG0PFtFUfXEFQ8NQGVJZAFvceHUeduoHLDTxFwLmQzzM+LsuzG9MzSSLoqGBiXe6jezD0I3B5jCb70zXcGo7jZFaPvSxARvF41DELMLi4v5++AnhqDIVeppY2YX8dSg2v78sE0MnYUyRlxdQFOoWHL1/Y48pAlXmCfe0oNKk8/T/bF7lSMdQp0wBsvqDFp77SFeume4A+Qxi9BIIinfaFbOGDGXYcvS/Tph5oo5yiWM8bb67ghQfIdD5Yb5YpEkJJLjwqQG32I2/2xCOVyLPir2ByZJLV2ifNcv+zsGaTzv1TCwdR6hO0kpZEtqvIxJBPTc7YWJxyyo541ZHalI1mKbswBJJbGLQg07OkaK1wQL3B/XbBUgjjYtMVhYkgCxOMe80eh42llCWu4RQCd+m+GE16FHftgFTSwLqLIAOpJ2Pnix/hnVV9bl0pqqqomEcwhi7WS5VAi+AHpte2MPhx8KOIfiIvesro6mnytiR3+qPZw8+SbEufO23mcX5RfDLLKb4c0OR0JNPXUSFHmcDV297uJAP7ibehFrg4v/EnlxukQx+XDBlTb0VLxHkb1EUUcmXyVVNGQVEkKER+1tLW+eNNXnFPwvkoo5FSOCSPs+60xJW6g6WIbpcgH5Yfp8s41yzMEpK6GNVUELIzXjkUdQevtz9Me5/8ACjOeIa6aXLamklq0o4Gko6mUxOgcMysPCVs2/luCOmEfx8kpcK6NrN/IY1jTjSv2VGkcbxrKkI1kqxk1Elyb33w7Cjhkp5JJgoMQLWJ+1ysP3w61Pw34zoIjJU8IZi0cZIL05WVRYW20XJxHa5hTMiCBzvpZHcqysDa2DODjpqhCElLadnlZTlVVXAu24JJHtY41xL2YF2Vbta4+988axmUXaKr5VG5tcsZ5D/nGTZlCqKoyeme12GuSQ/oG9MCmSTQPUSuswhM7aSbsBv02vhYzesQS9t9UUCO42a7G/nzOFgp/oHEFz6jnkkEkAZ2Z2ZLg3I3/ACxef0evgPBmkVLxXx2sTU7ASUuVXt2g5h5vQjcJ1G5PTHOGUtLWZ3R5dUVLaJ6qKIlfJnAP6HH0KyKbUyiFhHKi+EAeF1G3Ly9OnTGr4fj3cpGV5eaqjElcRpKRYKWNEpowoSFVTSgA5Ktth7YjnFdDmNDWDPcmgapkiAWvoV51UA5Mn/tTe34luv4bPnaLNSPBJTl0Zd472t6A/sceZNVGaNVeQu8R06zszIeRPrcWPqDjQVrYhp6Kd+kLx5FlnCuQ0+SQrVw57VL21Sot2FOu7ENtpkJItyI0tgvg6bNo6XhLiDiKVZq6pIyesrImDR1kMw10tQCNr6woPkzv54I+kRw3RJ8NM8qlyqKuooga16WwVoJ18QnjboL7svIgm1iSDAfg3xcOIPhTnGRvUST1GXQjM6GQUXYoGjdZXRbErZXsQNjZuW2AkuV/Z26OhaRUhZ7oFZnGoW+9bmPe2KX+k98M6bMstHGmS08cNdTMrZiqrZZojt2hH4lNrnqvPli7cwXUrTx9QJRb33/fA9O8NatTR1SCWneFY5UbkysGDA+4xDJiWSDTLceR45po4V+plUtJJUwoqLdrX298DS5fFcgV0FyLCwb5W2w//EHJqnhPPc24aqln1wORCSCdcRa8bA9brb9cRtA7UiOQdAlI0aTqsRzt5Y881KLpm9FqW0YyUVOgUyZlSKbWCm/7DCwnEccqMaSaQKtto2AA6dMLBr9krf0BcCLQPxnkUklLAVOZwLqIO3jXcC9hYnHb3DzR1hNJ2nY1auWhN7XYfaW/n1HuccExzQ0qwNS1TNJDJ2iN2W+oEEdehAx2RkWaxZpkmXcQQOVgroI5iyneNmF9Q9Va4xt+C/6yRh+WnaZbmXzySJpmQJVxHSwtYN/9wPmMcsGYU9dSRkwTFoqsdUJHha3+oAH3v54B4dz0VpFNmSWrIlt2qjwzJ5nyOJAVZfELSRsLXHUeR/nDfWxQ01kcOb5NLTSMEFXTvCwvuNQK7e18cUU1JUcL5yatUbK6qnnKTVdXn6JO6AlXQIgKEWvsy29MdeR5ilJWT5RPDJ2cbsRP1S+6kDqOVzjmf4y0kGS8e5pXOcky2mr5O8pM2SvPLIWUF/FbQTq1HzxRLJHlUXtF/wAU1Hk46LjyDM+PeFcupxVpT8a8OrF2sFdTMIq+OAgEDR9icaTtpKsQLbm2JRw3mlMKGozWWVRSOwKuQd+dtud+W3riPfR74gg4k+HFOi1j1nc3ekadqfsA4G6lVGwABAuPw4w4mqpl7HJcthhjqRPJKZkAW7SffYci27t7geeJZs6x4pTJeL47zZox9Db8fMjy/jDheDOMoqmiz+jjdoY1JBqIgTriYcr8yt+tx1xzLTCaUqXqJBcXuXP588dUZdltfWssFJSVEkMWpIdQuYwDYuehLEWF+Q36nFSfSP4HfhB24myympFy+qdRVUy3Pd53ufDvsjG5FhsbjyxiTWTOnk49G5KGLx2oKV3/AMK4gSLtZEYCRNt3JIHt5YWI79dVnZ6Fy3LQGAI1QC9vmd8LFHwzD80SNuZAbCOQE8yUOLv+jBxDWLTZtklezS5bEUlXV/4S5INr9LgH8/PFH5nHaFNNwWAv+WLL+ipVU68d1+UVTRquZUDLCG2DyRsHA97avyxreLJ81syM6XF6Omsuq5qGsWBmu8Pihf8AGnlizMmrUqaVZUPMeLfFJ5vmVNk9RRZXmtUkay3NJmFx2cbXsI5G6XvsfliXcH51JT1TUVReKUbFCdifT0ONRr0Irqyb55l6VCmrhUirICAINpfIN5EefLFc8bZ4mVZRUw5nQsoIKSrMp2jbZm9bKTyvifGWuqCDRyrBH95jzPoMM3FHD1BxBktdkmfmSsppoikjCQxmO/39fNWHS3PfGfm8GGSfNaZoYPPnjhwe0VDwZn+V8H5ZWyZFk8GXJRT997CKpMiyIWClSW/sGnbnzsLY6Ed8gll7wtJRyysBZ+yUsRba5tjnmf6PuRUtDB9QVs8c0Tq7GqdpFqiDe8i3AHJQNNut73sCYM14m4fzxMqr1pUYq0qy2YhkW2oqb9LjYi+45jEsWJwk72mVTzcoqtNHQS5pl8IWGI6vDcJBESg38wLYgHxhy+k4s4MzvLHYK7UchU9bqNY29GUEe2K8rPicwSZY+KY44tRHZ1FPEjgj5b358sRXi/4qmoyCfLqGV5q2WleBpdNl8YsWB2HK9hieTLCMWjscJSkvso00VOqi2Y1BBAI/6Q/nCwQsMxB0LuNtnG364WMm19mik/oi01dUtuYYTt+HGulzatoquGspJBT1MMgkiljGlo3G4IPQg4ykp6YKr94qWDcjpH840MlCpN2nvfzGGItWJyv2zrPLeI+H+JuDsvreIRQRSV1MGFWjIgEotqDx3G+oHcA/LGyTPaahSKNs2oqmmAHdp+9KGj9A97H2a1+hGOOM4lSTs0jDELc2a3Xr/vgIxrbZR8hjTj5HKO0J/FT0zvKg+LFDl1KI58+oO0QfZVkaUn+0Xtf15YBqvjNkEDBqytdI73VezZrt5k28TfPHDtNNUUkivTzSRMDsVOJHU8ccQVeStlNXJRTwbFXNIiyqfMOoBviHNkuB1BxD9IqmpY+75NlrmR3Ud7rXWNVXqyx3LOR0BsDil/jFxvn/ABfxY61+YI8GWySw0vd4uwFifExCm5Y2tfyAGIHkXF9blOkJRUjBCGLpGFkkIN/E5BNva2HGaoWseaskgi7Sd+2Y3a13a56+uFc+SVJMvwwTdmCrJKo1VEsth99idJ+eN0Ukgy6Ykagigi4vjYsMYPhjhA8iDguJWWmWRKamCMNLHRffqd8JOTHIx9Da1STEgZnsqgkDbc4WHyGZUXV2FP5AmFf4wsdzf0GONV2RU70lN7NgWP7X/PLCwsMRE5jVUf8Acy++PE+z88LCw3Hoq9mLYxkwsLEkFmJ+ycSin3p4r/hH+MLCwr5Houw+x1T+iD/cf8Y2wf0B/pP74WFhOXQ3Hs1OT2Q3PT/OFhYWJLoJ/9k=
+-
+ !record {model: 'res.partner', id: base.res_partner_address_3}:
+ name: Thomas Passot
+ parent_id: base.res_partner_2
+ use_parent_address: True
+ function: Functional Consultant
+ email: p.thomas@agrolait.com
+-
+ !record {model: 'res.partner', id: base.res_partner_address_4}:
+ name: Michel Fletcher
+ parent_id: base.res_partner_2
+ use_parent_address: True
+ function: Analyst
+ email: m.fletcher@agrolait.com
+ image: /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACCAFcDASIAAhEBAxEB/8QAHQAAAAcBAQEAAAAAAAAAAAAAAAMEBQYHCAIBCf/EAEMQAAEDAwIEAwUFBAYLAQAAAAECAwQABRESIQYHEzEiQVEIFGFxgRUyQpGxI1KhwTNygrTh8BYoNDhTVGJjhJLR8f/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf/EACYRAAICAgICAQMFAAAAAAAAAAABAhEDIRIxBBNBBSKBMlFh8PH/2gAMAwEAAhEDEQA/ANIwkpMtoYAOoeRHnUyH6f8AyojBx721j94fiPrUtBppCQA59w/Km6YuQmRoQ9hOMgYruXc4rD6Yy1kOr2SnFMtwutvcWp8rX00pwcZ2x3oSCTQrWXHPEp0k5rwBsIOp3Ow86anZ8IJCOm8orOkEIJ3opd3iMBLRhvnZJB6fqcD+NNQvJD02WQ6kdUElWcaqLfUwdSArKsdqbrfKSuWEIhPICHCklWANz3rp25ygy483BzjUAnUBnBoOXoPWppakackpXvgV2t5tTja+mvCFqV934UhVLntxw63Cb1qI8BXuPjXbEqYt0BxtlKT3GSd67sLQ62WQl66MaW1gYVuR8DQrjhp9L05sjQB4gMfI0KSXZSHQ1W91fvrI1Zyofi+NTUfnVZMyW2n0OIUNYUCMjvU8ut6tVns6rpd7hFgQ2wOo9IeCEpOO2T5/AU2SPETFKxDduom7MgtBYI+/nsM0zrefLawmGBvjBV3qKO87eWMu9JQxxKtxBSUhwRXNAVnuVY7Y8+1SSM6ZkYSYtxaeZc8aFt4IIPbcfzoRxphsd19xQUhlH3sHK+1Fuh/qEOBothIIVqO5zXLjUlLIKJamlgnOhI39KCWlr0qM11KcJJSSB866IGwFzftBCHUshvXkkE5xmi3ftIx1nXHBwdA053z50ZCjkTUKM1xX7Q4TqFIvdllx4Lnv9NQ8PjAxvRoN0KJCLl0c+9N6gRjDewo5mLKQ8nqyzlR30oAprjxFll5Mi4PlRd8JLg2GaUQIsdgkPTFyHCTgrdzgZ7V0EP8AY4wZvMTS8vAK/DgYPhNCueHkR03iP09lal48ec+A0KnLstDoUSreh+KlKENtnqDxAY86xvz/AL3L455hSLOzOdNvhvmDAjlzZSwSlS8D8SjnfyTWy25UgzmkKYWhIWc/4VmeVyni2/mNBuzAfS7CnuOzkrcyh8KC1JWlPlglIPl8u9SzZOKNXiYfZJ/wVteORnENvgmfbZbUiVqT047KyNz3KlK0gY+BqzvZu4a4z4evTab6phVvkqDDscO6lJ8wvbz1ADv2NOnE184sg3hEWLZIMm3rUAlYdV1MZ3OBkbVJOXF5nyOPHLP9gTekwnW/MKkhlBKdScbkqBJwNu+fSoYss20mbfI8fEsblRZKE2N8PSkrcUIwwvKDt9KLDfD7UX30qX0XVaNRQTv8sUVEMn7NuBXBUk4GlIP396LkuPpsEdZgLUsvHU0Fbj49q3UeHYsjtWSM5GDKldSRlxnKT4s798bUXMa4ebcbtjzhSteAhASd89twK8WtQmWpJiqwWCSrOyNu1E3J3HEjDZiOKGW/2oxgbfGhHboQfZUG2Sp4aS6+l6QFqDh1YUBjw0dw9FaiBxxbJytzI8B2GKWTVOe+PltGpQeOATSmK7I0DXHGcn8dNejlbFVjdZN4hpCMKJXpOgj8JoV3ZnXTeIiVsFIJX4ttvCaFTl2Vh0dTnFIuUJOpWFE59Dt3qCcfIat1yVMecUpchA1q1EgYOBt9KmHENzbtkiM+866mPjCgnurPaqz4umpuq5jqF+JaihbatgnA2HwOMUk8Upw+1FvGyxx5bk6GW9XhbbaXWEOaG0la3UgEJPYZB7/KptyjXcprr81xB0IQGi4WwnWopCjgAnbcVVFsj3hc1uC9cGY8AKy468zqU0j9DWirKzCixmYsKSy42y3pSUkFR2wScee2/oKz4Mbu38G/zfIXDgvk5YF8TDkl1YU9t0coBxvQku3lu3Ry3pVIKz1Mt5Gn5UsQStheh9kjIGQ4cd/X1oFL3Rb0rUd99LuP/wBrYePQQt64GZEaLaOitvLyig51eW9Zml+0nxkm8TURrFw+/GYlvNNFwOpUUoWUgk5IzjHlWmrtJeiQJM1SlhtiKt0nUCPCgn+VfOm3SFrhIeXnW6VOqz5lSiT+tPFJjIvNftEcTrUVu8L2fUTk9OU4P1pbD9pC7Mt6XuEIy8f8Odj9RVCOycDvSJy4YVgGmpBSNhcnedq+MOYtp4ec4YfhKldb9v70FpRpZWvcY89OPrQqlPZNmF7nzw2jPf3r+6vUKlPsaKL/AOKr0uYl2VLQ480kEaUbdNPqEny/Oo5cGHS42/FCVutgIWlS8B5o/dOfUeR+NPSykEpVgjzB/F8KZLcUIQ9DUvqJt6lxl+vTKQton+woD+ya3wpLRjkQTm9xhH4WttujNtJkTZkpt1pCgoIS20sKVrx3BIACe5OT5VMbBd5twtAv9sddhvvIRI6SFkggk7EZOUkefbIJG4qDe0lbNfA7cwtDqQ7g04pYA3SsFB/iUU78iLl73wvFjkgrhDolP/aWAQPooH86pxXFyoRybpFq8PccD7MdVcY3vjJGvKMJdGO6VeRIPrjIwd6kvDvEvD/EUFpURElt5lWHIzg/asqO/iAO4PkobelU9cmFRL3JYZWW2pBCkkbhC/I/nsajdnvRt/Ezd+juONokhTEhsHHhbSoIx6Y01KWCMlaGWRrTL65zzGbXy24qn6nUvMWWQB4TpypBSO234qwNFWGojLeT4W0jH0raN44ls3F/Ke6WLjC7PRmZbLaHX4iQXgkrSdJR65AGcedVzZ/Zx4W4hYLlj46uzBBOluXBaWogbA+FQz9PrWZwlDs0xmmZxkPZpvWolR+dXLzz5HTOWXBi+KHeJmLrGEpqN0UxVMrJXnBBJI/DUA5RcDXvmlcZ8DhxcJuRBYS+4mY90gpJVp8JAP8AKlbsoibeyAf9YPhkE/8AN/3R6hVj+z3yQ5gcGc5rFfr1Ct/2bF946rzE5DhGqO6hPh7nxKFCpy7GJpcHFxSdba3UfhUj/PemRiYlfFq4QSA3cLeodTyUpskY+gWCPgakcxakBT8g6W84DaU6iofGorfnYEOZaLk1I0FM5tIbUDn9oShWFeexH5CvRhswTCeYMc37lXeoKkkyfs9ZAP77fiGPqkVVPIq9BjiH3BSv2cxkYSfM+n5KB+lXXOCY0SedGpKW3coz3yCcfWsrwHLjwzfYwdT0JkFadSQew8h/6mtGJWmv3JyZqO87yI7moHKcH41VHFnXi8xH4kZC1xk5m9NCc4BRvnHxKqsa2XZm82iLcWPEHGwrw9t/8a6Y4Eg8VN3O9SZBItaE9aK0Clx9BAIwvO2nCjnfNSnLhGwSbeip416evTyVtWz3OM24lxzXqC3EoWCMpP3QpQAA74yfKrJs19kw0pek3NfXBQhLbZwUlXYJCf19O9PvMDlhY+G+HTfLFeprMVuMH+nJSh4ulSm0oGrAUdlH8vnUbe4UjQ3Iz/8AptwotbrKHzEWp1L7ZKRgaUhXbOPLtU1mi1so4NaHXmRYrnx9y/VY2ZMl5pDqZCY6niQ6tOfCDk4Vkn59qpXlHxJD5ZcUyp1olOtS3kGI+3MwlaE5BOtsjZWR9Pzq7uHnn1sMQVyVRSsEqW0oBa8eSSR6bk7HGKb+K7VbbHGXKkoufEkKa+C6w7oluxlAd8uAqUhRHmfCR3wcDJLLjeXguzU8OSOD21aLE5I81pHFfFkSBPcS572HEx+iWktgobK1Z/Go4H0oUy8hLhwaeYUFm1WdqFcZAcGpVrbZWQGlkjWntsD6UKTKqZzBLlGxuvzkXQktx5E6a+CY6FqyAAcaykfhB29T2puvNhnS4tqjXKRGCkPhaIyylWlSeywU4KVZzsnUPUGnvg272biW2ovtgc94jy0jU4oYU1gY6av3SncY9TnfINOUZCPtMyNSVPKwkKAxpTjsM/rW1TpEXCwibBeUpwPNjWfvADOSf49/gKqnnLwG5dbYq/WeOVXKKMSWEp8biB5geakjBx6Zq5I8l1i6SkrcILqy63g76QEjH0pVc5kSDAfuMxLfTjNlxa1pHYfH50yzcNirFejKnKTjpdhfFruD+m1vOBaVq393X2J+CTnceR38jWl+VdwZs8m7Trkh+VAuUUBRisl7sfDhKfveEq7U2R+A+D33jdHbJZ5klSi6p5DCEpUokkqwNgM9tvnUa4z5jWGEV261cRmM/EykiDbUyElQGydajoTv3xmsOXz/AG6hHs9LH9N4Plkl/fyT9HMzlhGtdnt/Fl1nWm4W9xSY0iRbX2y2MKSFay0U4KDg57Huc1YjVi4G40tzF4jpt19jOow3MQtL4WP62CM/DYisWp5o8Xu6Ezb46tpKwtSOk3pV65GNJ88078l+YDnAHGE2529bzlruThXLt5/olEknKEpACVDOxI+B2ojCT7JZIwj+nf4L/wCY/Ads4bREudkgJjRIpclzHSdLbWlISnfI3Vr0hIHnnyqLcuYF64znMu2xJgx2ArrTgnWlokLKQkfiUcp28gasljm7yo4ltj1tn3+K23JaLciJcGVsnB7gkgDz7g96l3CNx4RkwW4PCtwszkZpPgYgOowkeulJyPmRUJYHz5s1R8qsPqr/AAY+C+FuJLVxTDkz7rabjFb16liGtqQMoUBg5Ke5Ge22aFT6KnEhJ+f6UKpJt9mSMVFUj5WcveLJ1nvSG0XWZao8ggOOQnekAvPhUoAaVDOxyDWgWuZl8t1rdjSbexcHQnaSVdEnbGSACPqMVk5Xc/OnqVxDfLjbI9qemuLiteEJGxV/WPdWPjTwnSaFlBt6Lnic6bmu7tQWbLFY6pW2y6u4KebC/Q+H1GMjtqFM/FPPHiW9Wm48NzrBDZ95Sph3Q64lbZCt8EdiMVU8VThDjbRKUpwW1ei0jY/UULQ8V3EuPlRUo6iSfWuubaBQSZNLNOuqLatEi5zQ09krYEhQQoZxuM7/AFoLfCEeEABIO37tN6pqVABG/lSZ95RGSfhRpdFbbFMuVkgJwdXaim5DqNxqGPRWDSF1KivqA6VIGR56vUf5+Fct3GIV6eqRn1GQDRyYrJDG4pnRMF5LVxjo7tSE5UkfBQwf41MuGOL7MpxuTb8W+a2QpJKikpP/AErT/MfWquky4IRlToKvLRnNNa5bYd6rKVpUPMDY/MUyytC8bN5chubfEV645tvC93fTNamdUJecby4nQytey04B+75ihWe/YxvD7/tD8MRT1A2v3vPiyk4iPHt9KFTyNN2hopooRfdXzruH/tCP61ChSHR1t39A38hTfG2mqx6qoUKZ/AfI6xCemnfyo14np96FCugJLipQQ/hRGfj8KZx5UKFI+wD2gNJ2FAf0lChXTiLp9jD/AHkuE/8AzP7m/QoUKJdnT//Z
+-
+ !record {model: 'res.partner', id: base.res_partner_address_5}:
+ name: Chao Wang
+ parent_id: base.res_partner_3
+ use_parent_address: True
+ function: Marketing Manager
+ email: chao_wang@chinaexport.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_6}:
+ name: Zhi Ch'ang
+ parent_id: base.res_partner_3
+ use_parent_address: True
+ function: Supervisor
+ email: zhi_chang@chinaexport.com
+-
+ !record {model: 'res.partner', id: base.res_partner_address_7}:
+ name: Richard Ellis
+ parent_id: base.res_partner_4
+ use_parent_address: True
+ function: Production Supervisor
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_8}:
+ name: Paul Williams
+ parent_id: base.res_partner_4
+ use_parent_address: True
+ function: Line Mechanic
+ email:
+-
+ !record {model: 'res.partner', id: base.res_partner_address_9}:
+ name: Brian Williams
+ parent_id: base.res_partner_4
+ use_parent_address: True
+ function: Computer Technician
+ email:
+-
+ !record {model: 'res.partner', id: base.res_partner_address_10}:
+ name: David Simpson
+ parent_id: base.res_partner_5
+ use_parent_address: True
+ function: Senior Consultant
+ email: david.s@tech.info
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_11}:
+ name: John M. Brown
+ parent_id: base.res_partner_5
+ use_parent_address: True
+ function: Director
+ email: john.b@tech.info
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_12}:
+ name: James Miller
+ parent_id: base.res_partner_6
+ use_parent_address: True
+ function: Electrical Supervisor
+-
+ !record {model: 'res.partner', id: base.res_partner_address_13}:
+ name: Charlie Bernard
+ parent_id: base.res_partner_7
+ use_parent_address: True
+ function: Senior Associate
+ email: charlie.bernard@wealthyandsons.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_14}:
+ name: Jessica Dupont
+ parent_id: base.res_partner_7
+ use_parent_address: True
+ function: Analyst
+ email: jessica.dupont@wealthyandsons.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_15}:
+ name: Phillipp Miller
+ parent_id: base.res_partner_8
+ use_parent_address: True
+ function: Creative Director
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_16}:
+ name: Ayaan Agarwal
+ parent_id: base.res_partner_9
+ use_parent_address: True
+ function: Director
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_17}:
+ name: Daniel Jackson
+ parent_id: base.res_partner_10
+ use_parent_address: True
+ function: Managing Partner
+ email: daniel@jackson.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_18}:
+ name: William Thomas
+ parent_id: base.res_partner_10
+ use_parent_address: True
+ function: Senior Consultant
+ email: william@jackson.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_19}:
+ name: Sergio Pérez
+ parent_id: base.res_partner_11
+ use_parent_address: True
+ function: Accountant
+ email:
+-
+ !record {model: 'res.partner', id: base.res_partner_address_20}:
+ name: Laura Castro
+ parent_id: base.res_partner_11
+ use_parent_address: True
+ function: Goods Supervisor
+ email:
+-
+ !record {model: 'res.partner', id: base.res_partner_address_21}:
+ name: Luc Maurer
+ parent_id: base.res_partner_12
+ use_parent_address: True
+ function: Director
+-
+ !record {model: 'res.partner', id: base.res_partner_address_22}:
+ name: Laith Jubair
+ parent_id: base.res_partner_13
+ use_parent_address: True
+ function: Director
+-
+ !record {model: 'res.partner', id: base.res_partner_address_23}:
+ name: Angel Cook
+ parent_id: base.res_partner_14
+ use_parent_address: True
+ function: General Manager
+ email: angel.cook@chamberworks.com
+-
+ !record {model: 'res.partner', id: base.res_partner_address_24}:
+ name: Robert Anderson
+ parent_id: base.res_partner_14
+ use_parent_address: True
+ function: System Analyst
+ email: robert.anderson@chamberworks.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_25}:
+ name: Jacob Taylor
+ parent_id: base.res_partner_15
+ use_parent_address: True
+ function: Order Clerk
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_26}:
+ name: Arthur Gomez
+ parent_id: base.res_partner_16
+ use_parent_address: True
+ function: Software Developer
+ email:
+-
+ !record {model: 'res.partner', id: base.res_partner_address_27}:
+ name: Julia Rivero
+ parent_id: base.res_partner_16
+ use_parent_address: True
+ function: Technical Director
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_28}:
+ name: Benjamin Flores
+ parent_id: base.res_partner_17
+ use_parent_address: True
+ function: Business Executive
+ email: ben@nebula.ar
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_29}:
+ name: George Wilson
+ parent_id: base.res_partner_18
+ use_parent_address: True
+ function: Chief Information Officer (CIO)
+ email:
+-
+ !record {model: 'res.partner', id: base.res_partner_address_30}:
+ name: Lucas Jones
+ parent_id: base.res_partner_18
+ use_parent_address: True
+ function: Functional Consultant
+ email: jones@thinkbig.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_31}:
+ name: Edward Foster
+ parent_id: base.res_partner_19
+ use_parent_address: True
+ function: Sales Representative
+ email: efoster@seagate.com
+-
+ !record {model: 'res.partner', id: base.res_partner_address_32}:
+ name: Robin Smith
+ parent_id: base.res_partner_21
+ use_parent_address: True
+ function: Sales Manager
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_33}:
+ name: Morgan Rose
+ parent_id: base.res_partner_21
+ use_parent_address: True
+ function: Financial Manager
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_34}:
+ name: Kevin Clarke
+ parent_id: base.res_partner_21
+ use_parent_address: True
+ function: Knowledge Manager
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_address_35}:
+ name: Peter Mitchell
+ parent_id: base.res_partner_22
+ use_parent_address: True
+ function: Store Manager
+ email:
+-
+ !record {model: 'res.partner', id: base.res_partner_main1}:
+ name: Mark Davis
+ customer: False
+ parent_id: base.main_partner
+ use_parent_address: True
+ function: Chief Executive Officer (CEO)
+ email: mark@yourcompany.com
+ image: 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
+-
+ !record {model: 'res.partner', id: base.res_partner_main2}:
+ name: Roger Scott
+ customer: False
+ parent_id: base.main_partner
+ use_parent_address: True
+ function: Chief Operations Officer (COO)
+ email: roger@yourcompany.com
+ image: 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
diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml
index b5bfda2f0a0..92a264f0089 100644
--- a/openerp/addons/base/res/res_partner_view.xml
+++ b/openerp/addons/base/res/res_partner_view.xml
@@ -16,7 +16,6 @@
<record id="view_partner_title_tree" model="ir.ui.view">
<field name="name">res.partner.title.tree</field>
<field name="model">res.partner.title</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Partner Titles">
<field name="name"/>
@@ -27,7 +26,6 @@
<record id="view_partner_title_form" model="ir.ui.view">
<field name="name">res.partner.title.form</field>
<field name="model">res.partner.title</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Partner Titles" version="7.0">
<group col="4">
@@ -76,7 +74,6 @@
<record id="view_partner_tree" model="ir.ui.view">
<field name="name">res.partner.tree</field>
<field name="model">res.partner</field>
- <field name="type">tree</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree string="Contacts">
@@ -95,11 +92,10 @@
<record id="view_partner_form" model="ir.ui.view">
<field name="name">res.partner.form</field>
<field name="model">res.partner</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Partners" version="7.0">
<sheet>
- <field name="image_small" widget='image' class="oe_avatar oe_left"/>
+ <field name="image" widget='image' class="oe_left" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
<div class="oe_title">
<div class="oe_edit_only">
<label for="name"/> (
@@ -119,8 +115,8 @@
<group>
<group>
- <label for="type" attrs="{'invisible': [('parent_id','=', False)]}"/>
- <div attrs="{'invisible': [('parent_id','=', False)]}">
+ <label for="type" attrs="{'invisible': [('parent_id','=', False)]}" invisible="1"/>
+ <div attrs="{'invisible': [('parent_id','=', False)]}" invisible="1" name="div_type">
<field class="oe_inline"
name="type"/>
<label for="use_parent_address" class="oe_edit_only"/>
@@ -168,7 +164,7 @@
<field name="phone"/>
<field name="street"/>
<field name="street2"/>
- <field name="image_small"/>
+ <field name="image"/>
<field name="zip"/>
<field name="city"/>
<field name="country_id"/>
@@ -181,7 +177,7 @@
<a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
<div class="oe_module_vignette">
<a type="edit">
- <img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_avatar oe_kanban_avatar_smallbox"/>
+ <img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
</a>
<div class="oe_module_desc">
<div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
@@ -208,7 +204,7 @@
</templates>
</kanban>
<form string="Contact" version="7.0">
- <field name="image_small" widget='image' class="oe_avatar oe_left"/>
+ <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
<div class="oe_title">
<group>
<field name="name"/>
@@ -257,7 +253,6 @@
<record id="view_res_partner_filter" model="ir.ui.view">
<field name="name">res.partner.select</field>
<field name="model">res.partner</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Partner">
<field name="name"
@@ -286,7 +281,6 @@
<record model="ir.ui.view" id="res_partner_kanban_view">
<field name="name">res.partner.kanban</field>
<field name="model">res.partner</field>
- <field name="type">kanban</field>
<field name="arch" type="xml">
<kanban>
<field name="color"/>
@@ -299,7 +293,6 @@
<field name="phone"/>
<field name="street"/>
<field name="street2"/>
- <field name="image_small"/>
<field name="zip"/>
<field name="city"/>
<field name="country_id"/>
@@ -436,7 +429,6 @@
<record id="view_payterm_form" model="ir.ui.view">
<field name="name">res.payterm</field>
<field name="model">res.payterm</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Payment Term" version="7.0">
<group>
@@ -457,7 +449,6 @@
<record id="view_partner_category_form" model="ir.ui.view">
<field name="name">Partner Categories</field>
<field name="model">res.partner.category</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Partner Category" version="7.0">
<group col="4">
@@ -471,7 +462,6 @@
<record id="view_partner_category_list" model="ir.ui.view">
<field name="name">Partner Categories</field>
<field name="model">res.partner.category</field>
- <field name="type">tree</field>
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<tree string="Partner Categories">
@@ -482,7 +472,6 @@
<record id="view_partner_category_tree" model="ir.ui.view">
<field name="name">res.partner.category.tree</field>
<field name="model">res.partner.category</field>
- <field name="type">tree</field>
<field name="field_parent">child_ids</field>
<field name="arch" type="xml">
<tree toolbar="1" string="Partner Categories">
diff --git a/openerp/addons/base/res/res_request_view.xml b/openerp/addons/base/res/res_request_view.xml
index 88e9cc91932..7ad47a53c2e 100644
--- a/openerp/addons/base/res/res_request_view.xml
+++ b/openerp/addons/base/res/res_request_view.xml
@@ -4,7 +4,6 @@
<record id="res_request_link-view" model="ir.ui.view">
<field name="name">res.request.link.form</field>
<field name="model">res.request.link</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Request Link" version="7.0">
<sheet>
@@ -20,7 +19,6 @@
<record id="res_request_link_tree-view" model="ir.ui.view">
<field name="name">res.request.link.form</field>
<field name="model">res.request.link</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Request Link">
<field name="name"/>
@@ -31,7 +29,6 @@
<record id="res_request_link_search_view" model="ir.ui.view">
<field name="name">res.request.link.search</field>
<field name="model">res.request.link</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Request Link">
<field name="name" filter_domain="['|', ('name','ilike',self), ('object','ilike',self)]" string="Subject"/>
diff --git a/openerp/addons/base/res/res_security.xml b/openerp/addons/base/res/res_security.xml
index f02abd90985..c7d2a77f846 100644
--- a/openerp/addons/base/res/res_security.xml
+++ b/openerp/addons/base/res/res_security.xml
@@ -1,42 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
-<data noupdate="0">
+ <data noupdate="1">
- <record model="res.groups" id="group_partner_manager">
- <field name="name">Partner Manager</field>
- </record>
+ <record model="res.groups" id="group_partner_manager">
+ <field name="name">Partner Manager</field>
+ </record>
- <record model="ir.ui.menu" id="menu_config_address_book">
- <field eval="[(6,0,[ref('group_system'), ref('group_partner_manager')])]" name="groups_id"/>
- </record>
- <record model="ir.ui.menu" id="menu_base_config">
- <field eval="[(6,0,[ref('group_system'), ref('group_partner_manager')])]" name="groups_id"/>
- </record>
- <record model="ir.ui.menu" id="menu_base_partner">
- <field eval="[(6,0,[ref('group_partner_manager')])]" name="groups_id"/>
- </record>
+ <record model="ir.ui.menu" id="menu_config_address_book">
+ <field eval="[(6,0,[ref('group_system'), ref('group_partner_manager')])]" name="groups_id"/>
+ </record>
+ <record model="ir.ui.menu" id="menu_base_config">
+ <field eval="[(6,0,[ref('group_system'), ref('group_partner_manager')])]" name="groups_id"/>
+ </record>
+ <record model="ir.ui.menu" id="menu_base_partner">
+ <field eval="[(6,0,[ref('group_partner_manager')])]" name="groups_id"/>
+ </record>
-</data>
+ <!-- Record Rule For Company -->
+ <record id="res_company_rule" model="ir.rule">
+ <field name="name">company rule</field>
+ <field model="ir.model" name="model_id" ref="model_res_company"/>
+ <field eval="True" name="global"/>
+ <!-- TODO: review this <field name="domain_force">['|', ('child_ids', 'child_of', [user.company_id.id]), ('parent_id', 'child_of', [user.company_id.id])]</field> -->
+ <field name="domain_force">[('id','child_of',[user.company_id.id])]</field>
+ </record>
-<data noupdate="1">
+ <!-- Record Rule For User -->
+ <record id="res_users_rule" model="ir.rule">
+ <field name="name">user rule</field>
+ <field model="ir.model" name="model_id" ref="model_res_users"/>
+ <field eval="True" name="global"/>
+ <field name="domain_force">[('company_ids','child_of',[user.company_id.id])]</field>
+ </record>
- <!-- Record Rule For Company -->
-
- <record id="res_company_rule" model="ir.rule">
- <field name="name">company rule</field>
- <field model="ir.model" name="model_id" ref="model_res_company"/>
- <field eval="True" name="global"/>
- <!-- TODO: review this <field name="domain_force">['|', ('child_ids', 'child_of', [user.company_id.id]), ('parent_id', 'child_of', [user.company_id.id])]</field> -->
- <field name="domain_force">[('id','child_of',[user.company_id.id])]</field>
- </record>
-
- <!-- Record Rule For User -->
- <record id="res_users_rule" model="ir.rule">
- <field name="name">user rule</field>
- <field model="ir.model" name="model_id" ref="model_res_users"/>
- <field eval="True" name="global"/>
- <field name="domain_force">[('company_ids','child_of',[user.company_id.id])]</field>
- </record>
-
-</data>
+ </data>
</openerp>
diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py
index 1729e9e7784..cddc02673b8 100644
--- a/openerp/addons/base/res/res_users.py
+++ b/openerp/addons/base/res/res_users.py
@@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
-# Copyright (C) 2010-2011 OpenERP s.a. (<http://openerp.com>).
+# Copyright (C) 2010-2012 OpenERP s.a. (<http://openerp.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
@@ -20,11 +20,9 @@
#
##############################################################################
-import logging
-from functools import partial
-
-import pytz
+from functools import partial
+import logging
from lxml import etree
from lxml.builder import E
import netsvc
@@ -96,59 +94,22 @@ class groups(osv.osv):
groups()
-def _lang_get(self, cr, uid, context=None):
- obj = self.pool.get('res.lang')
- ids = obj.search(cr, uid, [('translatable','=',True)])
- res = obj.read(cr, uid, ids, ['code', 'name'], context=context)
- res = [(r['code'], r['name']) for r in res]
- return res
-
-def _tz_get(self,cr,uid, context=None):
- return [(x, x) for x in pytz.all_timezones]
+class res_users(osv.osv):
+ """ User class. A res.users record models an OpenERP user and is different
+ from an employee.
-class users(osv.osv):
+ res.users class now inherits from res.partner. The partner model is
+ used to store the data related to the partner: lang, name, address,
+ avatar, ... The user model is now dedicated to technical data.
+ """
__admin_ids = {}
_uid_cache = {}
+ _inherits = {
+ 'res.partner': 'partner_id',
+ }
_name = "res.users"
_description = 'Users'
- _order = 'name'
-
- WELCOME_MAIL_SUBJECT = u"Welcome to OpenERP"
- WELCOME_MAIL_BODY = u"An OpenERP account has been created for you, "\
- "\"%(name)s\".\n\nYour login is %(login)s, "\
- "you should ask your supervisor or system administrator if you "\
- "haven't been given your password yet.\n\n"\
- "If you aren't %(name)s, this email reached you errorneously, "\
- "please delete it."
-
- def get_welcome_mail_subject(self, cr, uid, context=None):
- """ Returns the subject of the mail new users receive (when
- created via the res.config.users wizard), default implementation
- is to return config_users.WELCOME_MAIL_SUBJECT
- """
- return self.WELCOME_MAIL_SUBJECT
- def get_welcome_mail_body(self, cr, uid, context=None):
- """ Returns the subject of the mail new users receive (when
- created via the res.config.users wizard), default implementation
- is to return config_users.WELCOME_MAIL_BODY
- """
- return self.WELCOME_MAIL_BODY
-
- def get_current_company(self, cr, uid):
- cr.execute('select company_id, res_company.name from res_users left join res_company on res_company.id = company_id where res_users.id=%s' %uid)
- return cr.fetchall()
-
- def send_welcome_email(self, cr, uid, id, context=None):
- if isinstance(id,list): id = id[0]
- user = self.read(cr, uid, id, ['email','login','name', 'user_email'], context=context)
- email = user['email'] or user['user_email']
-
- ir_mail_server = self.pool.get('ir.mail_server')
- msg = ir_mail_server.build_email(email_from=None, # take config default
- email_to=[email],
- subject=self.get_welcome_mail_subject(cr, uid, context=context),
- body=(self.get_welcome_mail_body(cr, uid, context=context) % user))
- return ir_mail_server.send_email(cr, uid, msg, context=context)
+ _order = 'login'
def _set_new_password(self, cr, uid, id, name, value, args, context=None):
if value is False:
@@ -164,85 +125,67 @@ class users(osv.osv):
def _get_password(self, cr, uid, ids, arg, karg, context=None):
return dict.fromkeys(ids, '')
-
- def _get_image(self, cr, uid, ids, name, args, context=None):
- result = dict.fromkeys(ids, False)
- for obj in self.browse(cr, uid, ids, context=context):
- result[obj.id] = tools.image_get_resized_images(obj.image)
- return result
-
- def _set_image(self, cr, uid, id, name, value, args, context=None):
- return self.write(cr, uid, [id], {'image': tools.image_resize_image_big(value)}, context=context)
_columns = {
'id': fields.integer('ID'),
- 'name': fields.char('User Name', size=64, required=True, select=True,
- help="The new user's real name, used for searching"
- " and most listings"),
+ 'login_date': fields.date('Latest connection', select=1),
+ 'partner_id': fields.many2one('res.partner', required=True,
+ string='Related Partner', ondelete='cascade',
+ help='Partner-related data of the user'),
'login': fields.char('Login', size=64, required=True,
- help="Used to log into the system"),
- 'password': fields.char('Password', size=64, invisible=True, help="Keep empty if you don't want the user to be able to connect on the system."),
+ help="Used to log into the system"),
+ 'password': fields.char('Password', size=64, invisible=True,
+ help="Keep empty if you don't want the user to be able to connect on the system."),
'new_password': fields.function(_get_password, type='char', size=64,
- fnct_inv=_set_new_password,
- string='Set Password', help="Specify a value only when creating a user or if you're changing the user's password, "
- "otherwise leave empty. After a change of password, the user has to login again."),
- 'user_email': fields.char('Email', size=64),
+ fnct_inv=_set_new_password, string='Set Password',
+ help="Specify a value only when creating a user or if you're "\
+ "changing the user's password, otherwise leave empty. After "\
+ "a change of password, the user has to login again."),
'signature': fields.text('Signature', size=64),
- 'image': fields.binary("Avatar",
- help="This field holds the image used as avatar for the "\
- "user. The image is base64 encoded, and PIL-supported. "\
- "It is limited to a 1024x1024 px image."),
- 'image_medium': fields.function(_get_image, fnct_inv=_set_image,
- string="Medium-sized avatar", type="binary", multi="_get_image",
- store = {
- 'res.users': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
- },
- help="Medium-sized image of the user. It is automatically "\
- "resized as a 180x180 px image, with aspect ratio preserved. "\
- "Use this field in form views or some kanban views."),
- 'image_small': fields.function(_get_image, fnct_inv=_set_image,
- string="Smal-sized avatar", type="binary", multi="_get_image",
- store = {
- 'res.users': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
- },
- help="Small-sized image of the user. It is automatically "\
- "resized as a 50x50 px image, with aspect ratio preserved. "\
- "Use this field anywhere a small image is required."),
'active': fields.boolean('Active'),
'action_id': fields.many2one('ir.actions.actions', 'Home Action', help="If specified, this action will be opened at logon for this user, in addition to the standard menu."),
'menu_id': fields.many2one('ir.actions.actions', 'Menu Action', help="If specified, the action will replace the standard menu for this user."),
'groups_id': fields.many2many('res.groups', 'res_groups_users_rel', 'uid', 'gid', 'Groups'),
-
# Special behavior for this field: res.company.search() will only return the companies
# available to the current user (should be the user's companies?), when the user_preference
# context is set.
'company_id': fields.many2one('res.company', 'Company', required=True,
- help="The company this user is currently working for.", context={'user_preference': True}),
-
+ help='The company this user is currently working for.', context={'user_preference': True}),
'company_ids':fields.many2many('res.company','res_company_users_rel','user_id','cid','Companies'),
- 'context_lang': fields.selection(_lang_get, 'Language', required=True,
- help="The default language used in the graphical user interface, when translations are available. To add a new language, you can use the 'Load a Translation' wizard available from the 'Administration' menu."),
- 'context_tz': fields.selection(_tz_get, 'Timezone', size=64,
- help="The user's timezone, used to output proper date and time values inside printed reports. "
- "It is important to set a value for this field. You should use the same timezone "
- "that is otherwise used to pick and render date and time values: your computer's timezone."),
- 'date': fields.datetime('Latest Connection', readonly=True),
+ # backward compatibility fields
+ 'user_email': fields.related('email', type='char',
+ deprecated='Use the email field instead of user_email. This field will be removed with OpenERP 7.1.'),
}
def on_change_company_id(self, cr, uid, ids, company_id):
- return {
- 'warning' : {
+ return {'warning' : {
'title': _("Company Switch Warning"),
'message': _("Please keep in mind that documents currently displayed may not be relevant after switching to another company. If you have unsaved changes, please make sure to save and close all forms before switching to a different company. (You can click on Cancel in the User Preferences now)"),
}
}
+ def onchange_type(self, cr, uid, ids, is_company, context=None):
+ """ Wrapper on the user.partner onchange_type, because some calls to the
+ partner form view applied to the user may trigger the
+ partner.onchange_type method, but applied to the user object.
+ """
+ partner_ids = [user.partner_id.id for user in self.browse(cr, uid, ids, context=context)]
+ return self.pool.get('res.partner').onchange_type(cr, uid, partner_ids, is_company, context=context)
+
+ def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None):
+ """ Wrapper on the user.partner onchange_address, because some calls to the
+ partner form view applied to the user may trigger the
+ partner.onchange_type method, but applied to the user object.
+ """
+ partner_ids = [user.partner_id.id for user in self.browse(cr, uid, ids, context=context)]
+ return self.pool.get('res.partner').onchange_address(cr, uid, partner_ids, use_parent_address, parent_id, context=context)
+
def read(self,cr, uid, ids, fields=None, context=None, load='_classic_read'):
def override_password(o):
if 'password' in o and ( 'id' not in o or o['id'] != uid ):
o['password'] = '********'
return o
- result = super(users, self).read(cr, uid, ids, fields, context, load)
+ result = super(res_users, self).read(cr, uid, ids, fields, context, load)
canwrite = self.pool.get('ir.model.access').check(cr, uid, 'res.users', 'write', False)
if not canwrite:
if isinstance(ids, (int, float)):
@@ -263,21 +206,10 @@ class users(osv.osv):
('login_key', 'UNIQUE (login)', 'You can not have two users with the same login !')
]
- def _get_email_from(self, cr, uid, ids, context=None):
- if not isinstance(ids, list):
- ids = [ids]
- res = dict.fromkeys(ids, False)
- for user in self.browse(cr, uid, ids, context=context):
- if user.user_email:
- res[user.id] = "%s <%s>" % (user.name, user.user_email)
- return res
-
- def _get_admin_id(self, cr):
- if self.__admin_ids.get(cr.dbname) is None:
- ir_model_data_obj = self.pool.get('ir.model.data')
- mdid = ir_model_data_obj._get_id(cr, 1, 'base', 'user_root')
- self.__admin_ids[cr.dbname] = ir_model_data_obj.read(cr, 1, [mdid], ['res_id'])[0]['res_id']
- return self.__admin_ids[cr.dbname]
+ def _get_default_image(self, cr, uid, context=None):
+ """ Override of res.partner: multicolor avatars ! """
+ image_path = openerp.modules.get_module_resource('base', 'static/src/img', 'avatar%d.png' % random.randint(0, 6))
+ return tools.image_resize_image_big(open(image_path, 'rb').read().encode('base64'))
def _get_company(self,cr, uid, context=None, uid2=False):
if not uid2:
@@ -315,27 +247,29 @@ class users(osv.osv):
pass
return result
- def _get_default_image(self, cr, uid, context=None):
- # default image file name: avatar0 -> avatar6.png, choose randomly
- image_path = openerp.modules.get_module_resource('base', 'static/src/img', 'avatar%d.png' % random.randint(0, 6))
- return tools.image_resize_image_big(open(image_path, 'rb').read().encode('base64'))
-
_defaults = {
'password' : '',
- 'context_lang': lambda self, cr, uid, context: context.get('lang', 'en_US'),
- 'context_tz': lambda self, cr, uid, context: context.get('tz', False),
- 'image': _get_default_image,
- 'image_small': _get_default_image,
- 'image_medium': _get_default_image,
'active' : True,
+ 'customer': False,
'menu_id': _get_menu,
'company_id': _get_company,
'company_ids': _get_companies,
'groups_id': _get_group,
+ 'image': lambda self, cr, uid, context: self._get_default_image(cr, uid, context),
}
+ def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
+ """ Override of res.users fields_view_get.
+ - if the view is specified: resume with normal behavior
+ - else: the default view is overrided and redirected to the partner
+ view
+ """
+ if not view_id and view_type == 'form':
+ return self.pool.get('res.partner').fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
+ return super(res_users, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
+
# User can write to a few of her own fields (but not her groups for example)
- SELF_WRITEABLE_FIELDS = ['password', 'signature', 'action_id', 'company_id', 'user_email', 'name', 'image', 'image_medium', 'image_small']
+ SELF_WRITEABLE_FIELDS = ['password', 'signature', 'action_id', 'company_id', 'email', 'name', 'image', 'image_medium', 'image_small']
def write(self, cr, uid, ids, values, context=None):
if not hasattr(ids, '__iter__'):
@@ -350,7 +284,7 @@ class users(osv.osv):
del values['company_id']
uid = 1 # safe fields only, so we write as super-user to bypass access rights
- res = super(users, self).write(cr, uid, ids, values, context=context)
+ res = super(res_users, self).write(cr, uid, ids, values, context=context)
# clear caches linked to the users
self.pool.get('ir.model.access').call_cache_clearing_methods(cr)
@@ -372,7 +306,7 @@ class users(osv.osv):
for id in ids:
if id in self._uid_cache[db]:
del self._uid_cache[db][id]
- return super(users, self).unlink(cr, uid, ids, context=context)
+ return super(res_users, self).unlink(cr, uid, ids, context=context)
def name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=100):
if not args:
@@ -395,17 +329,23 @@ class users(osv.osv):
name=(copy_pattern % user2copy['name']),
)
copydef.update(default)
- return super(users, self).copy(cr, uid, id, copydef, context)
+ return super(res_users, self).copy(cr, uid, id, copydef, context)
def context_get(self, cr, uid, context=None):
- user = self.browse(cr, uid, uid, context)
+ user = self.browse(cr, 1, uid, context)
result = {}
- for k in self._columns.keys():
+ for k in self._all_columns.keys():
if k.startswith('context_'):
+ context_key = k[8:]
+ elif k in ['lang', 'tz']:
+ context_key = k
+ else:
+ context_key = False
+ if context_key:
res = getattr(user,k) or False
if isinstance(res, browse_record):
res = res.id
- result[k[8:]] = res or False
+ result[context_key] = res or False
return result
def action_get(self, cr, uid, context=None):
@@ -413,6 +353,57 @@ class users(osv.osv):
data_id = dataobj._get_id(cr, 1, 'base', 'action_res_users_my')
return dataobj.browse(cr, uid, data_id, context=context).res_id
+ def check_super(self, passwd):
+ if passwd == tools.config['admin_passwd']:
+ return True
+ else:
+ raise openerp.exceptions.AccessDenied()
+
+ def check_credentials(self, cr, uid, password):
+ """ Override this method to plug additional authentication methods"""
+ res = self.search(cr, 1, [('id','=',uid),('password','=',password)])
+ if not res:
+ raise openerp.exceptions.AccessDenied()
+
+ def login(self, db, login, password):
+ if not password:
+ return False
+ user_id = False
+ cr = pooler.get_db(db).cursor()
+ try:
+ # autocommit: our single update request will be performed atomically.
+ # (In this way, there is no opportunity to have two transactions
+ # interleaving their cr.execute()..cr.commit() calls and have one
+ # of them rolled back due to a concurrent access.)
+ cr.autocommit(True)
+ # check if user exists
+ res = self.search(cr, 1, [('login','=',login)])
+ if res:
+ user_id = res[0]
+ # check credentials
+ self.check_credentials(cr, user_id, password)
+ # We effectively unconditionally write the res_users line.
+ # Even w/ autocommit there's a chance the user row will be locked,
+ # in which case we can't delay the login just for the purpose of
+ # update the last login date - hence we use FOR UPDATE NOWAIT to
+ # try to get the lock - fail-fast
+ # Failing to acquire the lock on the res_users row probably means
+ # another request is holding it. No big deal, we don't want to
+ # prevent/delay login in that case. It will also have been logged
+ # as a SQL error, if anyone cares.
+ try:
+ cr.execute("SELECT id FROM res_users WHERE id=%s FOR UPDATE NOWAIT", str(user_id))
+ cr.execute("UPDATE res_users SET login_date = now() AT TIME ZONE 'UTC' WHERE id=%s", str(user_id))
+ except Exception, e:
+ _logger.exception("Failed to update last_login for db:%s login:%s", db, login)
+ except openerp.exceptions.AccessDenied:
+ _logger.info("Login failed for db:%s login:%s", db, login)
+ user_id = False
+ finally:
+ cr.close()
+
+ return user_id
+
def authenticate(self, db, login, password, user_agent_env):
"""Verifies and returns the user ID corresponding to the given
``login`` and ``password`` combination, or False if there was
@@ -431,8 +422,8 @@ class users(osv.osv):
if user_agent_env and user_agent_env.get('base_location'):
cr = pooler.get_db(db).cursor()
try:
- self.pool.get('ir.config_parameter').set_param(cr, uid, 'web.base.url',
- user_agent_env['base_location'])
+ base = user_agent_env['base_location']
+ self.pool.get('ir.config_parameter').set_param(cr, uid, 'web.base.url', base)
cr.commit()
except Exception:
_logger.exception("Failed to update web.base.url configuration parameter")
@@ -440,54 +431,8 @@ class users(osv.osv):
cr.close()
return uid
- def login(self, db, login, password):
- if not password:
- return False
- cr = pooler.get_db(db).cursor()
- try:
- # autocommit: our single request will be performed atomically.
- # (In this way, there is no opportunity to have two transactions
- # interleaving their cr.execute()..cr.commit() calls and have one
- # of them rolled back due to a concurrent access.)
- # We effectively unconditionally write the res_users line.
- cr.autocommit(True)
- # Even w/ autocommit there's a chance the user row will be locked,
- # in which case we can't delay the login just for the purpose of
- # update the last login date - hence we use FOR UPDATE NOWAIT to
- # try to get the lock - fail-fast
- cr.execute("""SELECT id from res_users
- WHERE login=%s AND password=%s
- AND active FOR UPDATE NOWAIT""",
- (tools.ustr(login), tools.ustr(password)))
- cr.execute("""UPDATE res_users
- SET date = now() AT TIME ZONE 'UTC'
- WHERE login=%s AND password=%s AND active
- RETURNING id""",
- (tools.ustr(login), tools.ustr(password)))
- except Exception:
- # Failing to acquire the lock on the res_users row probably means
- # another request is holding it. No big deal, we don't want to
- # prevent/delay login in that case. It will also have been logged
- # as a SQL error, if anyone cares.
- cr.execute("""SELECT id from res_users
- WHERE login=%s AND password=%s
- AND active""",
- (tools.ustr(login), tools.ustr(password)))
- finally:
- res = cr.fetchone()
- cr.close()
- if res:
- return res[0]
- return False
-
- def check_super(self, passwd):
- if passwd == tools.config['admin_passwd']:
- return True
- else:
- raise openerp.exceptions.AccessDenied()
-
def check(self, db, uid, passwd):
- """Verifies that the given (uid, password) pair is authorized for the database ``db`` and
+ """Verifies that the given (uid, password) is authorized for the database ``db`` and
raise an exception if it is not."""
if not passwd:
# empty passwords disallowed for obvious security reasons
@@ -496,32 +441,14 @@ class users(osv.osv):
return
cr = pooler.get_db(db).cursor()
try:
- cr.execute('SELECT COUNT(1) FROM res_users WHERE id=%s AND password=%s AND active=%s',
- (int(uid), passwd, True))
- res = cr.fetchone()[0]
- if not res:
- raise openerp.exceptions.AccessDenied()
+ self.check_credentials(cr, uid, passwd)
if self._uid_cache.has_key(db):
- ulist = self._uid_cache[db]
- ulist[uid] = passwd
+ self._uid_cache[db][uid] = passwd
else:
self._uid_cache[db] = {uid:passwd}
finally:
cr.close()
- def access(self, db, uid, passwd, sec_level, ids):
- if not passwd:
- return False
- cr = pooler.get_db(db).cursor()
- try:
- cr.execute('SELECT id FROM res_users WHERE id=%s AND password=%s', (uid, passwd))
- res = cr.fetchone()
- if not res:
- raise openerp.exceptions.AccessDenied()
- return res[0]
- finally:
- cr.close()
-
def change_password(self, cr, uid, old_passwd, new_passwd, context=None):
"""Change current user password. Old password must be provided explicitly
to prevent hijacking an existing user session, or for cases where the cleartext
@@ -565,9 +492,6 @@ class users(osv.osv):
(uid, module, ext_id))
return bool(cr.fetchone())
-users()
-
-
#
# Extension of res.groups and res.users with a relation for "implied" or
@@ -647,8 +571,6 @@ class groups_implied(osv.osv):
super(groups_implied, self).write(cr, uid, gids, vals, context)
return res
-groups_implied()
-
class users_implied(osv.osv):
_inherit = 'res.users'
@@ -672,10 +594,6 @@ class users_implied(osv.osv):
super(users_implied, self).write(cr, uid, [user.id], vals, context)
return res
-users_implied()
-
-
-
#
# Extension of res.groups and res.users for the special groups view in the users
# form. This extension presents groups with selection and boolean widgets:
@@ -818,8 +736,6 @@ class groups_view(osv.osv):
res.append((False, 'boolean', others))
return res
-groups_view()
-
class users_view(osv.osv):
_inherit = 'res.users'
@@ -911,6 +827,4 @@ class users_view(osv.osv):
}
return res
-users_view()
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/addons/base/res/res_users_view.xml b/openerp/addons/base/res/res_users_view.xml
index ab67cfd532a..9c32d32287c 100644
--- a/openerp/addons/base/res/res_users_view.xml
+++ b/openerp/addons/base/res/res_users_view.xml
@@ -5,7 +5,6 @@
<record id="view_groups_search" model="ir.ui.view">
<field name="name">res.groups.search</field>
<field name="model">res.groups</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Groups">
<field name="name" filter_domain="['|', ('name','ilike',self), ('category_id','ilike',self)]" string="Group"/>
@@ -15,7 +14,6 @@
<record id="view_groups_form" model="ir.ui.view">
<field name="name">res.groups.form</field>
<field name="model">res.groups</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Groups" version="7.0">
<sheet>
@@ -86,7 +84,6 @@
<record id="view_users_form" model="ir.ui.view">
<field name="name">res.users.form</field>
<field name="model">res.users</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Users" version="7.0">
<field name="id" invisible="1"/>
@@ -112,8 +109,8 @@
<page string="Preferences">
<group>
<group name="preferences">
- <field name="context_lang"/>
- <field name="context_tz"/>
+ <field name="lang"/>
+ <field name="tz"/>
</group>
<group groups="base.group_no_one">
<field name="action_id"/>
@@ -121,7 +118,7 @@
</group>
</group>
<group>
- <field name="user_email" widget="email"/>
+ <field name="email" widget="email"/>
<field name="signature"/>
</group>
</page>
@@ -141,12 +138,11 @@
<record id="view_users_tree" model="ir.ui.view">
<field name="name">res.users.tree</field>
<field name="model">res.users</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Users">
<field name="name"/>
<field name="login"/>
- <field name="context_lang"/>
+ <field name="lang"/>
<field name="date"/>
</tree>
</field>
@@ -154,7 +150,6 @@
<record id="view_users_search" model="ir.ui.view">
<field name="name">res.users.search</field>
<field name="model">res.users</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Users">
<field name="name" filter_domain="['|', ('name','ilike',self), ('login','ilike',self)]" string="User"/>
@@ -197,7 +192,6 @@
<record id="view_users_form_simple_modif" model="ir.ui.view">
<field name="name">res.users.preferences.form</field>
<field name="model">res.users</field>
- <field name="type">form</field>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<form string="Users" version="7.0">
@@ -209,21 +203,22 @@
(<field name="login" readonly="1" class="oe_inline"/>)
</h1>
<group name="preferences" col="4">
- <field name="context_lang" readonly="0"/>
+ <field name="lang" readonly="0"/>
<field name="company_id" readonly="0"
groups="base.group_multi_company" on_change="on_change_company_id(company_id)"/>
- <field name="context_tz" readonly="0"/>
+ <field name="tz" readonly="0"/>
<field name="company_id" widget="selection" readonly="0"
groups="base.group_multi_company" on_change="on_change_company_id(company_id)"/>
</group>
<group string="Email Preferences">
- <field name="user_email" widget="email" readonly="0"/>
+ <field name="email" widget="email" readonly="0"/>
<field name="signature" readonly="0"/>
</group>
<footer>
- <button name="preference_save" type="object" string="Save"/>
- <button name="preference_cancel" special="cancel" string="Cancel"/>
<button name="preference_change_password" type="object" string="Change password"/>
+ <button name="preference_save" type="object" string="Save"/>
+ or
+ <button name="preference_cancel" string="Cancel" special="cancel" class="oe_link"/>
</footer>
</form>
</field>
diff --git a/openerp/addons/base/res/res_widget_view.xml b/openerp/addons/base/res/res_widget_view.xml
index 74a17a98ce7..bad582f97db 100644
--- a/openerp/addons/base/res/res_widget_view.xml
+++ b/openerp/addons/base/res/res_widget_view.xml
@@ -4,7 +4,6 @@
<record id="view_res_widget_search" model="ir.ui.view">
<field name="name">res.widget.search</field>
<field name="model">res.widget</field>
- <field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Widget">
<field name="title" string="Widget"/>
@@ -14,7 +13,6 @@
<record id="res_widget_form" model="ir.ui.view">
<field name="name">res.widget.form</field>
<field name="model">res.widget</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Widgets" version="7.0">
<sheet>
@@ -29,7 +27,6 @@
<record id="res_widget_tree" model="ir.ui.view">
<field name="name">res.widget.tree</field>
<field name="model">res.widget</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Widgets">
<field name="title"/>
@@ -49,7 +46,6 @@
<record id="res_widget_user_tree" model="ir.ui.view">
<field name="name">res.widget.user.tree</field>
<field name="model">res.widget.user</field>
- <field name="type">tree</field>
<field name="arch" type="xml">
<tree string="User Widgets">
<field name="sequence" invisible="1"/>
@@ -61,7 +57,6 @@
<record id="res_widget_user_form" model="ir.ui.view">
<field name="name">res.widget.user.form</field>
<field name="model">res.widget.user</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="User Widgets" version="7.0">
<sheet>
@@ -85,7 +80,6 @@
<record id="view_res_widget_wizard" model="ir.ui.view">
<field name="name">Homepage Widgets Management</field>
<field name="model">res.widget.wizard</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Widget Wizard" col="4" version="7.0">
<header>
diff --git a/openerp/addons/base/rng/view.rng b/openerp/addons/base/rng/view.rng
index c583040495b..0d6527e5972 100644
--- a/openerp/addons/base/rng/view.rng
+++ b/openerp/addons/base/rng/view.rng
@@ -181,9 +181,12 @@
<rng:define name="diagram">
<rng:element name="diagram">
- <rng:optional><rng:attribute name="string"/></rng:optional>
+ <rng:optional><rng:attribute name="string"/></rng:optional>
<rng:ref name="node"/>
- <rng:ref name="arrow"/>
+ <rng:ref name="arrow"/>
+ <rng:zeroOrMore>
+ <rng:ref name="label"/>
+ </rng:zeroOrMore>
</rng:element>
</rng:define>
diff --git a/openerp/addons/base/security/base_security.xml b/openerp/addons/base/security/base_security.xml
index cd0b7e999b3..8eb832ea618 100644
--- a/openerp/addons/base/security/base_security.xml
+++ b/openerp/addons/base/security/base_security.xml
@@ -1,53 +1,50 @@
<?xml version="1.0"?>
<openerp>
- <data noupdate="0">
-
-<!--
- Users Groups
- [Note] Field 'category_id' is set later in base/module/module_data.xml
--->
- <record model="res.groups" id="group_erp_manager">
- <field name="name">Access Rights</field>
- </record>
- <record model="res.groups" id="group_system">
- <field name="name">Configuration</field>
- <field name="implied_ids" eval="[(4, ref('group_erp_manager'))]"/>
- <field name="users" eval="[(4, ref('base.user_root'))]"/>
- </record>
+ <data noupdate="1">
- <record model="res.groups" id="group_user">
- <field name="name">Employee</field>
- <field name="users" eval="[(4, ref('base.user_root'))]"/>
- </record>
+ <!--
+ Users Groups
+ Note that the field 'category_id' is set later in
+ base/module/module_data.xml
+ -->
+ <record model="res.groups" id="group_erp_manager">
+ <field name="name">Access Rights</field>
+ </record>
+ <record model="res.groups" id="group_system">
+ <field name="name">Configuration</field>
+ <field name="implied_ids" eval="[(4, ref('group_erp_manager'))]"/>
+ <field name="users" eval="[(4, ref('base.user_root'))]"/>
+ </record>
- <record model="res.groups" id="group_multi_company">
- <field name="name">Multi Companies</field>
- </record>
-
- <record model="res.groups" id="group_multi_currency">
- <field name="name">Multi Currencies</field>
- </record>
+ <record model="res.groups" id="group_user">
+ <field name="name">Employee</field>
+ <field name="users" eval="[(4, ref('base.user_root'))]"/>
+ </record>
- <record model="res.groups" id="group_no_one">
- <field name="name">Technical Features</field>
- </record>
+ <record model="res.groups" id="group_multi_company">
+ <field name="name">Multi Companies</field>
+ </record>
- <record id="group_sale_salesman" model="res.groups">
- <field name="name">User</field>
- </record>
- <record id="group_sale_manager" model="res.groups">
- <field name="name">Manager</field>
- <field name="implied_ids" eval="[(4, ref('group_sale_salesman'))]"/>
- </record>
+ <record model="res.groups" id="group_multi_currency">
+ <field name="name">Multi Currencies</field>
+ </record>
- <!-- Set accesses to menu -->
- <record model="ir.ui.menu" id="base.menu_administration">
- <field name="groups_id" eval="[(6,0, [ref('group_system'), ref('group_erp_manager')])]"/>
- </record>
+ <record model="res.groups" id="group_no_one">
+ <field name="name">Technical Features</field>
+ </record>
- </data>
+ <record id="group_sale_salesman" model="res.groups">
+ <field name="name">User</field>
+ </record>
+ <record id="group_sale_manager" model="res.groups">
+ <field name="name">Manager</field>
+ <field name="implied_ids" eval="[(4, ref('group_sale_salesman'))]"/>
+ </record>
- <data noupdate="1">
+ <!-- Set accesses to menu -->
+ <record model="ir.ui.menu" id="base.menu_administration">
+ <field name="groups_id" eval="[(6,0, [ref('group_system'), ref('group_erp_manager')])]"/>
+ </record>
<record model="ir.rule" id="res_widget_user_rule">
<field name="name">res.widget.user rule</field>
@@ -58,8 +55,11 @@
<record model="ir.rule" id="res_partner_rule">
<field name="name">res.partner company</field>
<field name="model_id" ref="model_res_partner"/>
- <!-- Show partners from ancestors and descendants companies (or company-less), this is usually a better
- default for multicompany setups. -->
+ <!--
+ Show partners from ancestors and descendants companies
+ (or company-less), this is usually a better default for
+ multicompany setups.
+ -->
<field name="domain_force">['|','|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id]),('company_id','=',False)]</field>
</record>
diff --git a/openerp/addons/base/res/company_icon.png b/openerp/addons/base/static/src/img/company_image.png
index 2995ba12644..2995ba12644 100644
--- a/openerp/addons/base/res/company_icon.png
+++ b/openerp/addons/base/static/src/img/company_image.png
Binary files differ
diff --git a/openerp/addons/base/static/src/img/partner_image.png b/openerp/addons/base/static/src/img/partner_image.png
new file mode 100644
index 00000000000..87fdbc5af55
--- /dev/null
+++ b/openerp/addons/base/static/src/img/partner_image.png
Binary files differ
diff --git a/openerp/addons/base/test/base_test.xml b/openerp/addons/base/test/base_test.xml
index d3c1df9bd21..27bcabfc8f9 100644
--- a/openerp/addons/base/test/base_test.xml
+++ b/openerp/addons/base/test/base_test.xml
@@ -7,7 +7,7 @@
-->
<assert model="res.request" id="res_partner_asustek_request" string="Reference field request returns a browsable object">
- <test expr="ref_doc1.name">ASUStek</test>
+ <test expr="ref_doc1.name">ASUSTeK</test>
</assert>
</data>
diff --git a/openerp/addons/base/test/base_test.yml b/openerp/addons/base/test/base_test.yml
index fe22e3a4935..1aea2363f84 100644
--- a/openerp/addons/base/test/base_test.yml
+++ b/openerp/addons/base/test/base_test.yml
@@ -42,15 +42,13 @@
-
!python {model: ir.model}: |
from tools.safe_eval import safe_eval
+ from tools.misc import mute_logger
try:
- safe_eval('open("/etc/passwd","r")')
- assert False, "safe_eval should not allow calling open() builtin"
+ with mute_logger('openerp.tools.safe_eval'):
+ safe_eval('open("/etc/passwd","r")')
+ assert False, "safe_eval should not allow calling open() builtin"
except NameError:
- pass
- except:
- # NameError should be raised because open() builtin is not found,
- # but other exceptions probably indicate that open() was executed!
- assert False, "safe_eval should not allow calling open() builtin"
+ pass
-
"ORM test: verify that parent_store computation are going right"
diff --git a/openerp/addons/base/test/test_osv_expression.yml b/openerp/addons/base/test/test_osv_expression.yml
index fa7a69b74e9..d607b17f801 100644
--- a/openerp/addons/base/test/test_osv_expression.yml
+++ b/openerp/addons/base/test/test_osv_expression.yml
@@ -2,22 +2,8 @@
Testing for hierarchical search in M2M
-
!python {model: res.partner }: |
- ids = self.search(cr, uid, [('category_id', 'child_of','supplier')])
+ ids = self.search(cr, uid, [('category_id', 'child_of',ref('res_partner_category_0'))])
assert len(ids) >= 1, ids
-
--
- Test hierarchical search in M2M with child ID1
--
- !python {model: res.partner }: |
- ids = self.search(cr, uid, [('category_id', 'child_of','Components Supplier')])
- assert len(ids) >= 1, ids
--
- Test hierarchical search in M2M with child ID2
--
- !python {model: res.partner }: |
- ids = self.search(cr, uid, [('category_id', 'child_of','Miscellaneous Suppliers')])
- assert len(ids) >= 1, ids
-
-
"1.0 Setup test partner categories: parent root"
-
@@ -464,8 +450,8 @@
!python {model: res.partner }: |
all_ids = self.search(cr, uid, [('name', '=like', 'A_e_or')])
assert len(all_ids) == 1, "Must match one partner (Axelor), got %r"%all_ids
- all_ids = self.search(cr, uid, [('name', '=ilike', 'm_____')])
- assert len(all_ids) == 1, "Must match *only* one partner (Maxtor), got %r"%all_ids
+ all_ids = self.search(cr, uid, [('name', '=ilike', 'v%')])
+ assert len(all_ids) >= 1, "Must match one partner (Vicking Direct), got %r"%all_ids
-
Check that =like/=ilike expressions (no wildcard variants of like/ilike) are working on translated field.
-
@@ -512,7 +498,7 @@
Testing for Many2Many field with category supplier and active=False
-
!python {model: res.partner }: |
- vals = {'category_id': [(6, 0, [ref("base.res_partner_category_8")])],
+ vals = {'category_id': [(6, 0, [ref("base.res_partner_category_1")])],
'name': 'OpenERP Test',
'active': False,
'child_ids': [(0, 0, {'name': 'address of OpenERP Test', 'country_id': ref("base.be")})]
diff --git a/openerp/import_xml.rng b/openerp/import_xml.rng
index bf5a9e1800e..5dd789c6e95 100644
--- a/openerp/import_xml.rng
+++ b/openerp/import_xml.rng
@@ -185,7 +185,6 @@
<rng:optional> <rng:attribute name="string"/> </rng:optional>
<rng:optional> <rng:attribute name="sequence"/> </rng:optional>
<rng:optional> <rng:attribute name="groups"/> </rng:optional>
- <rng:optional> <rng:attribute name="type"/> </rng:optional>
<rng:optional> <rng:attribute name="menu"/> </rng:optional>
<rng:empty />
</rng:element>
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 874a6ce7063..8a2c43e6ed2 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
-# Copyright (C) 2010-2011 OpenERP s.a. (<http://openerp.com>).
+# Copyright (C) 2010-2012 OpenERP s.a. (<http://openerp.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
@@ -84,7 +84,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
_load_data(cr, module_name, idref, mode, 'test')
return True
except Exception:
- _logger.error(
+ _logger.exception(
'module %s: an exception occurred in a test', module_name)
return False
finally:
@@ -119,7 +119,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
elif ext == '.sql':
process_sql_file(cr, fp)
elif ext == '.yml':
- tools.convert_yaml_import(cr, module_name, fp, idref, mode, noupdate, report)
+ tools.convert_yaml_import(cr, module_name, fp, kind, idref, mode, noupdate, report)
else:
tools.convert_xml_import(cr, module_name, fp, idref, mode, noupdate, report)
finally:
diff --git a/openerp/modules/registry.py b/openerp/modules/registry.py
index 7c7a5c96f8d..ae9772b661a 100644
--- a/openerp/modules/registry.py
+++ b/openerp/modules/registry.py
@@ -22,6 +22,7 @@
""" Models registries.
"""
+from contextlib import contextmanager
import logging
import threading
@@ -43,12 +44,12 @@ class Registry(object):
"""
def __init__(self, db_name):
- self.models = {} # model name/model instance mapping
+ self.models = {} # model name/model instance mapping
self._sql_error = {}
self._store_function = {}
self._init = True
self._init_parent = {}
-
+
# modules fully loaded (maintained during init phase by `loading` module)
self._init_modules = set()
@@ -119,6 +120,17 @@ class Registry(object):
for model in self.models.itervalues():
model.clear_caches()
+ @contextmanager
+ def cursor(self, auto_commit=True):
+ cr = self.db.cursor()
+ try:
+ yield cr
+ if auto_commit:
+ cr.commit()
+ finally:
+ cr.close()
+
+
class RegistryManager(object):
""" Model registries manager.
@@ -196,7 +208,6 @@ class RegistryManager(object):
del cls.registries[db_name]
openerp.cron.cancel(db_name)
-
@classmethod
def delete_all(cls):
"""Delete all the registries. """
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 506c1e4bcba..170108a13ad 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -3,7 +3,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2011 OpenERP SA (<http://www.openerp.com>)
+# Copyright (C) 2004-2012 OpenERP SA (<http://www.openerp.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
@@ -376,11 +376,11 @@ def dispatch_rpc(service_name, method, params):
except openerp.exceptions.Warning:
raise
except openerp.exceptions.DeferredException, e:
- _logger.error(tools.exception_to_unicode(e))
+ _logger.exception(tools.exception_to_unicode(e))
post_mortem(e.traceback)
raise
except Exception, e:
- _logger.error(tools.exception_to_unicode(e))
+ _logger.exception(tools.exception_to_unicode(e))
post_mortem(sys.exc_info())
raise
diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py
index 4ff23956050..5a47601f8a5 100644
--- a/openerp/osv/fields.py
+++ b/openerp/osv/fields.py
@@ -45,6 +45,7 @@ import openerp.tools as tools
from openerp.tools.translate import _
from openerp.tools import float_round, float_repr
import simplejson
+from openerp.tools.html_sanitize import html_sanitize
_logger = logging.getLogger(__name__)
@@ -109,6 +110,7 @@ class _column(object):
self.selectable = True
self.group_operator = args.get('group_operator', False)
self.groups = False # CSV list of ext IDs of groups that can access this field
+ self.deprecated = False # Optional deprecation warning
for a in args:
if args[a]:
setattr(self, a, args[a])
@@ -227,6 +229,14 @@ class char(_column):
class text(_column):
_type = 'text'
+class html(text):
+ _type = 'html'
+ _symbol_c = '%s'
+ def _symbol_f(x):
+ return html_sanitize(x)
+
+ _symbol_set = (_symbol_c, _symbol_f)
+
import __builtin__
class float(_column):
@@ -648,6 +658,20 @@ class many2many(_column):
col2 = '%s_id' % dest_model._table
return (tbl, col1, col2)
+ def _get_query_and_where_params(self, cr, model, ids, values, where_params):
+ """ Extracted from ``get`` to facilitate fine-tuning of the generated
+ query. """
+ query = 'SELECT %(rel)s.%(id2)s, %(rel)s.%(id1)s \
+ FROM %(rel)s, %(from_c)s \
+ WHERE %(rel)s.%(id1)s IN %%s \
+ AND %(rel)s.%(id2)s = %(tbl)s.id \
+ %(where_c)s \
+ %(order_by)s \
+ %(limit)s \
+ OFFSET %(offset)d' \
+ % values
+ return query, where_params
+
def get(self, cr, model, ids, name, user=None, offset=0, context=None, values=None):
if not context:
context = {}
@@ -685,15 +709,7 @@ class many2many(_column):
if self._limit is not None:
limit_str = ' LIMIT %d' % self._limit
- query = 'SELECT %(rel)s.%(id2)s, %(rel)s.%(id1)s \
- FROM %(rel)s, %(from_c)s \
- WHERE %(rel)s.%(id1)s IN %%s \
- AND %(rel)s.%(id2)s = %(tbl)s.id \
- %(where_c)s \
- %(order_by)s \
- %(limit)s \
- OFFSET %(offset)d' \
- % {'rel': rel,
+ query, where_params = self._get_query_and_where_params(cr, model, ids, {'rel': rel,
'from_c': from_c,
'tbl': obj._table,
'id1': id1,
@@ -702,7 +718,8 @@ class many2many(_column):
'limit': limit_str,
'order_by': order_by,
'offset': offset,
- }
+ }, where_params)
+
cr.execute(query, [tuple(ids),] + where_params)
for r in cr.fetchall():
res[r[1]].append(r[0])
diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py
index 563c514726c..7c8085ea8ed 100644
--- a/openerp/osv/orm.py
+++ b/openerp/osv/orm.py
@@ -545,6 +545,7 @@ FIELDS_TO_PGTYPES = {
fields.boolean: 'bool',
fields.integer: 'int4',
fields.text: 'text',
+ fields.html: 'text',
fields.date: 'date',
fields.datetime: 'timestamp',
fields.binary: 'bytea',
@@ -3596,6 +3597,14 @@ class BaseModel(object):
record[f] = res2[record['id']]
else:
record[f] = []
+
+ # Warn about deprecated fields now that fields_pre and fields_post are computed
+ # Explicitly use list() because we may receive tuples
+ for f in list(fields_pre) + list(fields_post):
+ field_column = self._all_columns.get(f) and self._all_columns.get(f).column
+ if field_column and field_column.deprecated:
+ _logger.warning('Field %s.%s is deprecated: %s', self._name, f, field_column.deprecated)
+
readonly = None
for vals in res:
for field in vals.copy():
@@ -3973,6 +3982,9 @@ class BaseModel(object):
direct = []
totranslate = context.get('lang', False) and (context['lang'] != 'en_US')
for field in vals:
+ field_column = self._all_columns.get(field) and self._all_columns.get(field).column
+ if field_column and field_column.deprecated:
+ _logger.warning('Field %s.%s is deprecated: %s', self._name, field, field_column.deprecated)
if field in self._columns:
if self._columns[field]._classic_write and not (hasattr(self._columns[field], '_fnct_inv')):
if (not totranslate) or not self._columns[field].translate:
diff --git a/openerp/release.py b/openerp/release.py
index f0f1f049cb6..a151e939d20 100644
--- a/openerp/release.py
+++ b/openerp/release.py
@@ -30,9 +30,9 @@ RELEASE_LEVELS_DISPLAY = {ALPHA: ALPHA,
# properly comparable using normal operarors, for example:
# (6,1,0,'beta',0) < (6,1,0,'candidate',1) < (6,1,0,'candidate',2)
# (6,1,0,'candidate',2) < (6,1,0,'final',0) < (6,1,2,'final',0)
-version_info = (6,2,0,ALPHA,0)
-version = '.'.join(map(str,version_info[:2])) + RELEASE_LEVELS_DISPLAY[version_info[3]] + str(version_info[4] or '')
-major_version = '.'.join(map(str,version_info[:2]))
+version_info = (7, 0, 0, ALPHA, 0)
+version = '.'.join(map(str, version_info[:2])) + RELEASE_LEVELS_DISPLAY[version_info[3]] + str(version_info[4] or '')
+serie = major_version = '.'.join(map(str, version_info[:2]))
description = 'OpenERP Server'
long_desc = '''OpenERP is a complete ERP and CRM. The main features are accounting (analytic
diff --git a/openerp/service/web_services.py b/openerp/service/web_services.py
index 330bb86dcfc..7c08003bf7a 100644
--- a/openerp/service/web_services.py
+++ b/openerp/service/web_services.py
@@ -75,10 +75,10 @@ def _initialize_db(serv, id, db_name, demo, lang, user_password):
mids = modobj.search(cr, 1, [('state', '=', 'installed')])
modobj.update_translations(cr, 1, mids, lang)
- cr.execute('UPDATE res_users SET password=%s, context_lang=%s, active=True WHERE login=%s', (
+ cr.execute('UPDATE res_users SET password=%s, lang=%s, active=True WHERE login=%s', (
user_password, lang, 'admin'))
- cr.execute('SELECT login, password, name ' \
- ' FROM res_users ' \
+ cr.execute('SELECT login, password ' \
+ ' FROM res_users ' \
' ORDER BY login')
serv.actions[id].update(users=cr.dictfetchall(), clean=True)
cr.commit()
@@ -425,7 +425,7 @@ OpenERP is an ERP+CRM program for small and medium businesses.
The whole source code is distributed under the terms of the
GNU Public Licence.
-(c) 2003-TODAY, Fabien Pinckaers - Tiny sprl''')
+(c) 2003-TODAY - OpenERP SA''')
if extended:
return info, release.version
diff --git a/openerp/tests/__init__.py b/openerp/tests/__init__.py
index 927a375df64..d3ab62ebc1c 100644
--- a/openerp/tests/__init__.py
+++ b/openerp/tests/__init__.py
@@ -8,8 +8,8 @@ Tests can be explicitely added to the `fast_suite` or `checks` lists or not.
See the :ref:`test-framework` section in the :ref:`features` list.
"""
-from . import test_expression, test_ir_sequence, test_orm,\
- test_uninstall
+from . import test_expression, test_html_sanitize, test_ir_sequence, test_orm,\
+ test_view_validation, test_uninstall
fast_suite = [
test_ir_sequence,
@@ -17,7 +17,9 @@ fast_suite = [
checks = [
test_expression,
+ test_html_sanitize,
test_orm,
+ test_view_validation,
]
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/tests/addons/test_exceptions/view.xml b/openerp/tests/addons/test_exceptions/view.xml
index 9c87e7ddbcb..180029e739a 100644
--- a/openerp/tests/addons/test_exceptions/view.xml
+++ b/openerp/tests/addons/test_exceptions/view.xml
@@ -5,7 +5,6 @@
<record id="view_test_exceptions_model" model="ir.ui.view">
<field name="name">Test exceptions</field>
<field name="model">test.exceptions.model</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Test exceptions">
<label string="Each button generates a specific exception on the server. The text on the right is the expected representation of the exception when displayed on the client."/>
diff --git a/openerp/tests/addons/test_impex/tests/test_import.py b/openerp/tests/addons/test_impex/tests/test_import.py
index ab12f0375b5..4712d53feff 100644
--- a/openerp/tests/addons/test_impex/tests/test_import.py
+++ b/openerp/tests/addons/test_impex/tests/test_import.py
@@ -3,6 +3,7 @@ import openerp.modules.registry
import openerp
from openerp.tests import common
+from openerp.tools.misc import mute_logger
def ok(n):
""" Successful import of ``n`` records
@@ -221,6 +222,7 @@ class test_integer_field(ImporterCase):
-1, -42, -(2**31 - 1), -(2**31), -12345678
], values(self.read()))
+ @mute_logger('openerp.sql_db')
def test_out_of_range(self):
self.assertEqual(
self.import_(['value'], [[str(2**31)]]),
diff --git a/openerp/tests/common.py b/openerp/tests/common.py
index b1af4338312..53c67c68844 100644
--- a/openerp/tests/common.py
+++ b/openerp/tests/common.py
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import os
+import threading
import time
import unittest2
import xmlrpclib
@@ -11,6 +12,13 @@ ADDONS_PATH = openerp.tools.config['addons_path']
PORT = openerp.tools.config['xmlrpc_port']
DB = openerp.tools.config['db_name']
+# If the database name is not provided on the command-line,
+# use the one on the thread (which means if it is provided on
+# the command-line, this will break when installing another
+# database from XML-RPC).
+if not DB and hasattr(threading.current_thread(), 'dbname'):
+ DB = threading.current_thread().dbname
+
HOST = '127.0.0.1'
ADMIN_USER = 'admin'
diff --git a/openerp/tests/test_html_sanitize.py b/openerp/tests/test_html_sanitize.py
new file mode 100755
index 00000000000..90ccc88cc1d
--- /dev/null
+++ b/openerp/tests/test_html_sanitize.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+import unittest
+from openerp.tools.html_sanitize import html_sanitize
+
+test_case = """
+<font size="2" style="color: rgb(31, 31, 31); font-family: monospace; font-variant: normal; line-height: normal; ">test1</font>
+<div style="color: rgb(31, 31, 31); font-family: monospace; font-variant: normal; line-height: normal; font-size: 12px; font-style: normal; ">
+<b>test2</b></div><div style="color: rgb(31, 31, 31); font-family: monospace; font-variant: normal; line-height: normal; font-size: 12px; ">
+<i>test3</i></div><div style="color: rgb(31, 31, 31); font-family: monospace; font-variant: normal; line-height: normal; font-size: 12px; ">
+<u>test4</u></div><div style="color: rgb(31, 31, 31); font-family: monospace; font-variant: normal; line-height: normal; font-size: 12px; ">
+<strike>test5</strike></div><div style="color: rgb(31, 31, 31); font-family: monospace; font-variant: normal; line-height: normal; ">
+<font size="5">test6</font></div><div><ul><li><font color="#1f1f1f" face="monospace" size="2">test7</font></li><li>
+<font color="#1f1f1f" face="monospace" size="2">test8</font></li></ul><div><ol><li><font color="#1f1f1f" face="monospace" size="2">test9</font>
+</li><li><font color="#1f1f1f" face="monospace" size="2">test10</font></li></ol></div></div>
+<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div><font color="#1f1f1f" face="monospace" size="2">
+test11</font></div></div></div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
+<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><font color="#1f1f1f" face="monospace" size="2">
+test12</font></div><div><font color="#1f1f1f" face="monospace" size="2"><br></font></div></blockquote></blockquote>
+<font color="#1f1f1f" face="monospace" size="2"><a href="http://google.com">google</a></font>
+<a href="javascript:alert('malicious code')">test link</a>
+"""
+
+class TestSanitizer(unittest.TestCase):
+
+ def test_simple(self):
+ x = "yop"
+ self.assertEqual(x, html_sanitize(x))
+
+ def test_test_case(self):
+ html_sanitize(test_case)
+
+ def test_crm(self):
+ html_sanitize("Merci à l'intérêt pour notre produit.nous vous contacterons bientôt. Merci")
+
+if __name__ == '__main__':
+ unittest.main() \ No newline at end of file
diff --git a/openerp/tests/test_ir_sequence.py b/openerp/tests/test_ir_sequence.py
index fcc5888e47e..b1076e830ee 100644
--- a/openerp/tests/test_ir_sequence.py
+++ b/openerp/tests/test_ir_sequence.py
@@ -22,6 +22,16 @@ def registry(model):
def cursor():
return openerp.modules.registry.RegistryManager.get(DB).db.cursor()
+
+def drop_sequence(code):
+ cr = cursor()
+ for model in ['ir.sequence', 'ir.sequence.type']:
+ s = registry(model)
+ ids = s.search(cr, ADMIN_USER_ID, [('code', '=', code)])
+ s.unlink(cr, ADMIN_USER_ID, ids)
+ cr.commit()
+ cr.close()
+
class test_ir_sequence_standard(unittest2.TestCase):
""" A few tests for a 'Standard' (i.e. PostgreSQL) sequence. """
@@ -48,7 +58,7 @@ class test_ir_sequence_standard(unittest2.TestCase):
def test_ir_sequence_draw(self):
""" Try to draw a number. """
cr = cursor()
- n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type', {})
+ n = registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type', {})
assert n
cr.commit()
cr.close()
@@ -57,15 +67,19 @@ class test_ir_sequence_standard(unittest2.TestCase):
""" Try to draw a number from two transactions. """
cr0 = cursor()
cr1 = cursor()
- n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type', {})
+ n0 = registry('ir.sequence').next_by_code(cr0, ADMIN_USER_ID, 'test_sequence_type', {})
assert n0
- n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type', {})
+ n1 = registry('ir.sequence').next_by_code(cr1, ADMIN_USER_ID, 'test_sequence_type', {})
assert n1
cr0.commit()
cr1.commit()
cr0.close()
cr1.close()
+ @classmethod
+ def tearDownClass(cls):
+ drop_sequence('test_sequence_type')
+
class test_ir_sequence_no_gap(unittest2.TestCase):
""" Copy of the previous tests for a 'No gap' sequence. """
@@ -85,7 +99,7 @@ class test_ir_sequence_no_gap(unittest2.TestCase):
def test_ir_sequence_draw_no_gap(self):
""" Try to draw a number. """
cr = cursor()
- n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_2', {})
+ n = registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type_2', {})
assert n
cr.commit()
cr.close()
@@ -99,12 +113,16 @@ class test_ir_sequence_no_gap(unittest2.TestCase):
cr1._default_log_exceptions = False # Prevent logging a traceback
msg_re = '^could not obtain lock on row in relation "ir_sequence"$'
with self.assertRaisesRegexp(psycopg2.OperationalError, msg_re):
- n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type_2', {})
+ n0 = registry('ir.sequence').next_by_code(cr0, ADMIN_USER_ID, 'test_sequence_type_2', {})
assert n0
- n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type_2', {})
+ n1 = registry('ir.sequence').next_by_code(cr1, ADMIN_USER_ID, 'test_sequence_type_2', {})
cr0.close()
cr1.close()
+ @classmethod
+ def tearDownClass(cls):
+ drop_sequence('test_sequence_type_2')
+
class test_ir_sequence_change_implementation(unittest2.TestCase):
""" Create sequence objects and change their ``implementation`` field. """
@@ -146,6 +164,11 @@ class test_ir_sequence_change_implementation(unittest2.TestCase):
cr.commit()
cr.close()
+ @classmethod
+ def tearDownClass(cls):
+ drop_sequence('test_sequence_type_3')
+ drop_sequence('test_sequence_type_4')
+
class test_ir_sequence_generate(unittest2.TestCase):
""" Create sequence objects and generate some values. """
@@ -162,7 +185,7 @@ class test_ir_sequence_generate(unittest2.TestCase):
cr.close()
cr = cursor()
- f = lambda *a: registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_5', {})
+ f = lambda *a: registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type_5', {})
assert all(str(x) == f() for x in xrange(1,1000))
cr.commit()
cr.close()
@@ -180,11 +203,15 @@ class test_ir_sequence_generate(unittest2.TestCase):
cr.close()
cr = cursor()
- f = lambda *a: registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_6', {})
+ f = lambda *a: registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type_6', {})
assert all(str(x) == f() for x in xrange(1,1000))
cr.commit()
cr.close()
-
+
+ @classmethod
+ def tearDownClass(cls):
+ drop_sequence('test_sequence_type_5')
+ drop_sequence('test_sequence_type_6')
if __name__ == '__main__':
diff --git a/openerp/tests/test_view_validation.py b/openerp/tests/test_view_validation.py
new file mode 100644
index 00000000000..9c19e7b41d2
--- /dev/null
+++ b/openerp/tests/test_view_validation.py
@@ -0,0 +1,131 @@
+# This test can be run stand-alone with something like:
+# > PYTHONPATH=. python2 openerp/tests/test_view_validation.py
+
+from lxml import etree
+from StringIO import StringIO
+import unittest2
+
+import openerp
+from openerp.tools.view_validation import *
+
+invalid_form = etree.parse(StringIO('''\
+<form>
+ <label></label>
+ <group>
+ <div>
+ <page></page>
+ <label colspan="True"></label>
+ <field></field>
+ </div>
+ </group>
+ <notebook>
+ <page>
+ <group col="Two">
+ <div>
+ <label></label>
+ <field colspan="Five"> </field>
+ </div>
+ </group>
+ </page>
+ </notebook>
+</form>
+''')).getroot()
+
+valid_form = etree.parse(StringIO('''\
+<form string="">
+ <field name=""></field>
+ <field name=""></field>
+ <notebook>
+ <page>
+ <field name=""></field>
+ <label string=""></label>
+ <field name=""></field>
+ </page>
+ <page>
+ <group colspan="5" col="2">
+ <label for=""></label>
+ <label string="" colspan="5"></label>
+ </group>
+ </page>
+ </notebook>
+</form>
+''')).getroot()
+
+invalid_graph = etree.parse(StringIO('''\
+<graph>
+ <label/>
+ <group>
+ <div>
+ <field></field>
+ <field></field>
+ </div>
+ </group>
+</graph>
+''')).getroot()
+
+valid_graph = etree.parse(StringIO('''\
+<graph string="">
+ <field name=""></field>
+ <field name=""></field>
+</graph>
+''')).getroot()
+
+invalid_tree = etree.parse(StringIO('''\
+<tree>
+ <group>
+ <div>
+ <field></field>
+ <field></field>
+ </div>
+ </group>
+</tree>
+''')).getroot()
+
+valid_tree= etree.parse(StringIO('''\
+<tree string="">
+ <field name=""></field>
+ <field name=""></field>
+ <button/>
+ <field name=""></field>
+</tree>
+''')).getroot()
+
+
+class test_view_validation(unittest2.TestCase):
+ """ Test the view validation code (but not the views themselves). """
+
+ def test_page_validation(self):
+ assert not valid_page_in_book(invalid_form)
+ assert valid_page_in_book(valid_form)
+
+ def test_all_field_validation(self):
+ assert not valid_att_in_field(invalid_form)
+ assert valid_att_in_field(valid_form)
+
+ def test_all_label_validation(self):
+ assert not valid_att_in_label(invalid_form)
+ assert valid_att_in_label(valid_form)
+
+ def test_form_string_validation(self):
+ assert not valid_att_in_form(invalid_form)
+ assert valid_att_in_form(valid_form)
+
+ def test_graph_validation(self):
+ assert not valid_field_in_graph(invalid_graph)
+ assert valid_field_in_graph(valid_graph)
+
+ def test_tree_validation(self):
+ assert not valid_field_in_tree(invalid_tree)
+ assert valid_field_in_tree(valid_tree)
+
+ def test_colspan_datatype_validation(self):
+ assert not valid_type_in_colspan(invalid_form)
+ assert valid_type_in_colspan(valid_form)
+
+ def test_col_datatype_validation(self):
+ assert not valid_type_in_col(invalid_form)
+ assert valid_type_in_col(valid_form)
+
+
+if __name__ == '__main__':
+ unittest2.main()
diff --git a/openerp/tools/__init__.py b/openerp/tools/__init__.py
index a6eeb14ba96..a0ca411a9df 100644
--- a/openerp/tools/__init__.py
+++ b/openerp/tools/__init__.py
@@ -33,6 +33,7 @@ from pdf_utils import *
from yaml_import import *
from sql import *
from float_utils import *
+from html_sanitize import *
#.apidoc title: Tools
diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py
index e91cce874d2..be8465055ee 100644
--- a/openerp/tools/convert.py
+++ b/openerp/tools/convert.py
@@ -591,24 +591,31 @@ form: module.record_id""" % (xml_id,)
if rec.get('action'):
a_action = rec.get('action','').encode('utf8')
- a_type = rec.get('type','').encode('utf8') or 'act_window'
+
+ # determine the type of action
+ a_type, a_id = self.model_id_get(cr, a_action)
+ a_type = a_type.split('.')[-1] # keep only type part
+
icons = {
"act_window": 'STOCK_NEW',
"report.xml": 'STOCK_PASTE',
"wizard": 'STOCK_EXECUTE',
- "url": 'STOCK_JUMP_TO'
+ "url": 'STOCK_JUMP_TO',
+ "client": 'STOCK_EXECUTE',
+ "server": 'STOCK_EXECUTE',
}
values['icon'] = icons.get(a_type,'STOCK_NEW')
+
if a_type=='act_window':
- a_id = self.id_get(cr, a_action)
cr.execute('select view_type,view_mode,name,view_id,target from ir_act_window where id=%s', (int(a_id),))
rrres = cr.fetchone()
assert rrres, "No window action defined for this id %s !\n" \
"Verify that this is a window action or add a type argument." % (a_action,)
action_type,action_mode,action_name,view_id,target = rrres
if view_id:
- cr.execute('SELECT type FROM ir_ui_view WHERE id=%s', (int(view_id),))
- action_mode, = cr.fetchone()
+ cr.execute('SELECT arch FROM ir_ui_view WHERE id=%s', (int(view_id),))
+ arch, = cr.fetchone()
+ action_mode = etree.fromstring(arch.encode('utf8')).tag
cr.execute('SELECT view_mode FROM ir_act_window_view WHERE act_window_id=%s ORDER BY sequence LIMIT 1', (int(a_id),))
if cr.rowcount:
action_mode, = cr.fetchone()
@@ -624,18 +631,18 @@ form: module.record_id""" % (xml_id,)
values['icon'] = 'STOCK_EXECUTE'
if not values.get('name', False):
values['name'] = action_name
- elif a_type=='wizard':
- a_id = self.id_get(cr, a_action)
- cr.execute('select name from ir_act_wizard where id=%s', (int(a_id),))
- resw = cr.fetchone()
- if (not values.get('name', False)) and resw:
- values['name'] = resw[0]
- elif a_type=='url':
- a_id = self.id_get(cr, a_action)
- cr.execute('select name from ir_act_url where id=%s', (int(a_id),))
+
+ elif a_type in ['wizard', 'url', 'client', 'server'] and not values.get('name'):
+ a_table = 'ir_act_%s' % a_type
+ cr.execute('select name from %s where id=%%s' % a_table, (int(a_id),))
resw = cr.fetchone()
- if (not values.get('name')) and resw:
+ if resw:
values['name'] = resw[0]
+
+ if not values.get('name'):
+ # ensure menu has a name
+ values['name'] = rec_id or '?'
+
if rec.get('sequence'):
values['sequence'] = int(rec.get('sequence'))
if rec.get('icon'):
@@ -657,17 +664,12 @@ form: module.record_id""" % (xml_id,)
groups_value.append((4, group_id))
values['groups_id'] = groups_value
- xml_id = rec.get('id','').encode('utf8')
- self._test_xml_id(xml_id)
- pid = self.pool.get('ir.model.data')._update(cr, self.uid, 'ir.ui.menu', self.module, values, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode, res_id=res and res[0] or False)
+ pid = self.pool.get('ir.model.data')._update(cr, self.uid, 'ir.ui.menu', self.module, values, rec_id, noupdate=self.isnoupdate(data_node), mode=self.mode, res_id=res and res[0] or False)
if rec_id and pid:
self.idref[rec_id] = int(pid)
if rec.get('action') and pid:
- a_action = rec.get('action').encode('utf8')
- a_type = rec.get('type','').encode('utf8') or 'act_window'
- a_id = self.id_get(cr, a_action)
action = "ir.actions.%s,%d" % (a_type, a_id)
self.pool.get('ir.model.data').ir_set(cr, self.uid, 'action', 'tree_but_open', 'Menuitem', [('ir.ui.menu', int(pid))], action, True, True, xml_id=rec_id)
return ('ir.ui.menu', pid)
diff --git a/openerp/tools/html_sanitize.py b/openerp/tools/html_sanitize.py
new file mode 100644
index 00000000000..6763b464ab1
--- /dev/null
+++ b/openerp/tools/html_sanitize.py
@@ -0,0 +1,62 @@
+
+import re
+
+def html_sanitize(x):
+ return x # It seems that our test suite doesn't care.
+ if not x:
+ return x
+ root = pq("<div />")
+ if type(x) == str:
+ x = unicode(x, "utf8", "replace")
+ root.html(x)
+ result = handle_element(root[0])
+ new = pq(result)
+ return new.html()
+
+to_remove = set(["script", "head", "meta", "title", "link", "img"])
+to_unwrap = set(["html", "body"])
+
+javascript_regex = re.compile("""^\s*javascript\s*\:.*$""")
+def handle_a(el, new):
+ href = el.get("href", "#")
+ if javascript_regex.search(href):
+ href = "#"
+ new.set("href", href)
+special = {
+ "a": handle_a,
+}
+
+def handle_element(el):
+ if type(el) == str or type(el) == unicode:
+ return [el]
+ if el.tag in to_remove:
+ return []
+ if el.tag in to_unwrap:
+ return reduce(lambda x,y: x+y, [handle_element(x) for x in children(el)])
+ new = pq("<%s />" % el.tag)[0]
+ for i in children(el):
+ append_to(handle_element(i), new)
+ if el.tag in special:
+ special[el.tag](el, new)
+ return [new]
+
+def children(el):
+ res = []
+ if el.text is not None:
+ res.append(el.text)
+ for i in el.getchildren():
+ res.append(i)
+ if i.tail is not None:
+ res.append(i.tail)
+ return res
+
+def append_to(new_ones, el):
+ for i in new_ones:
+ if type(i) == str or type(i) == unicode:
+ children = el.getchildren()
+ if len(children) == 0:
+ el.text = i
+ else:
+ children[-1].tail = i
+ else:
+ el.append(i)
diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py
index e90fadf0492..7763b3af3b2 100644
--- a/openerp/tools/misc.py
+++ b/openerp/tools/misc.py
@@ -1140,4 +1140,37 @@ class UnquoteEvalContext(defaultdict):
def __missing__(self, key):
return unquote(key)
+
+class mute_logger(object):
+ """Temporary suppress the logging.
+ Can be used as context manager or decorator.
+
+ @mute_logger('openerp.plic.ploc')
+ def do_stuff():
+ blahblah()
+
+ with mute_logger('openerp.foo.bar'):
+ do_suff()
+
+ """
+ def __init__(self, *loggers):
+ self.loggers = loggers
+
+ def filter(self, record):
+ return 0
+
+ def __enter__(self):
+ for logger in self.loggers:
+ logging.getLogger(logger).addFilter(self)
+
+ def __exit__(self, exc_type=None, exc_val=None, exc_tb=None):
+ for logger in self.loggers:
+ logging.getLogger(logger).removeFilter(self)
+
+ def __call__(self, func):
+ @wraps(func)
+ def deco(*args, **kwargs):
+ with self:
+ return func(*args, **kwargs)
+ return deco
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/tools/view_validation.py b/openerp/tools/view_validation.py
new file mode 100644
index 00000000000..7e710d55816
--- /dev/null
+++ b/openerp/tools/view_validation.py
@@ -0,0 +1,85 @@
+""" View validation code (using assertions, not the RNG schema). """
+
+import logging
+
+_logger = logging.getLogger(__name__)
+
+
+def valid_page_in_book(arch):
+ """A `page` node must be below a `book` node."""
+ return not arch.xpath('//page[not(ancestor::notebook)]')
+
+
+def valid_field_in_graph(arch):
+ """A `graph` must have `string` attribute and an immediate node of `graph` view must be `field`."""
+ if arch.xpath('//graph[not (@string)]'):
+ return False
+ for child in arch.xpath('/graph/child::*'):
+ if child.tag != 'field':
+ return False
+ return True
+
+
+def valid_field_in_tree(arch):
+ """A `tree` must have `string` attribute and an immediate node of `tree` view must be `field` or `button`."""
+ if arch.xpath('//tree[not (@string)]'):
+ return False
+ for child in arch.xpath('/tree/child::*'):
+ if child.tag not in ('field', 'button'):
+ return False
+ return True
+
+
+def valid_att_in_field(arch):
+ """A `name` attribute must be in a `field` node."""
+ return not arch.xpath('//field[not (@name)]')
+
+
+def valid_att_in_label(arch):
+ """A `for` and `string` attribute must be on a `label` node."""
+ return not arch.xpath('//label[not ((@for) or (@string))]')
+
+
+def valid_att_in_form(arch):
+ """A `string` attribute must be on a `form` node."""
+ return not arch.xpath('//form[not (@string)]')
+
+
+def valid_type_in_colspan(arch):
+ """A `colspan` attribute must be an `integer` type."""
+ for attrib in arch.xpath('//*/@colspan'):
+ try:
+ int(attrib)
+ except:
+ return False
+ return True
+
+
+def valid_type_in_col(arch):
+ """A `col` attribute must be an `integer` type."""
+ for attrib in arch.xpath('//*/@col'):
+ try:
+ int(attrib)
+ except:
+ return False
+ return True
+
+
+def valid_view(arch):
+ if arch.tag == 'form':
+ for pred in [valid_page_in_book, valid_att_in_form, valid_type_in_colspan,\
+ valid_type_in_col, valid_att_in_field, valid_att_in_label]:
+ if not pred(arch):
+ _logger.error('Invalid XML: %s', pred.__doc__)
+ return False
+ elif arch.tag == 'graph':
+ for pred in [valid_field_in_graph, valid_att_in_field]:
+ if not pred(arch):
+ _logger.error('Invalid XML: %s', pred.__doc__)
+ return False
+ elif arch.tag == 'tree':
+ for pred in [valid_field_in_tree, valid_att_in_field]:
+ if not pred(arch):
+ _logger.error('Invalid XML: %s', pred.__doc__)
+ return False
+ return True
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 136d1bcee7b..57af9e45e89 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -100,7 +100,7 @@ class RecordDictWrapper(dict):
return dict.__getitem__(self, key)
class YamlInterpreter(object):
- def __init__(self, cr, module, id_map, mode, filename, report=None, noupdate=False):
+ def __init__(self, cr, module, id_map, mode, filename, report=None, noupdate=False, loglevel=logging.DEBUG):
self.cr = cr
self.module = module
self.id_map = id_map
@@ -110,6 +110,7 @@ class YamlInterpreter(object):
report = assertion_report.assertion_report()
self.assertion_report = report
self.noupdate = noupdate
+ self.loglevel = loglevel
self.pool = pooler.get_pool(cr.dbname)
self.uid = 1
self.context = {} # opererp context
@@ -119,6 +120,9 @@ class YamlInterpreter(object):
'datetime': datetime,
'timedelta': timedelta}
+ def _log(self, *args, **kwargs):
+ _logger.log(self.loglevel, *args, **kwargs)
+
def _ref(self):
return lambda xml_id: self.get_id(xml_id)
@@ -484,12 +488,10 @@ class YamlInterpreter(object):
self.noupdate = node.noupdate
def process_python(self, node):
- def log(msg, *args):
- _logger.log(logging.TEST, msg, *args)
python, statements = node.items()[0]
model = self.get_model(python.model)
statements = statements.replace("\r\n", "\n")
- code_context = {'model': model, 'cr': self.cr, 'uid': self.uid, 'log': log, 'context': self.context}
+ code_context = {'model': model, 'cr': self.cr, 'uid': self.uid, 'log': self._log, 'context': self.context}
code_context.update({'self': model}) # remove me when no !python block test uses 'self' anymore
try:
code_obj = compile(statements, self.filename, 'exec')
@@ -720,7 +722,7 @@ class YamlInterpreter(object):
if len(ids):
self.pool.get(node.model).unlink(self.cr, self.uid, ids)
else:
- _logger.log(logging.TEST, "Record not deleted.")
+ self._log("Record not deleted.")
def process_url(self, node):
self.validate_xml_id(node.id)
@@ -805,7 +807,7 @@ class YamlInterpreter(object):
is_preceded_by_comment = False
for node in yaml.load(yaml_string):
- is_preceded_by_comment = self._log(node, is_preceded_by_comment)
+ is_preceded_by_comment = self._log_node(node, is_preceded_by_comment)
try:
self._process_node(node)
except YamlImportException, e:
@@ -852,26 +854,27 @@ class YamlInterpreter(object):
else:
raise YamlImportException("Can not process YAML block: %s" % node)
- def _log(self, node, is_preceded_by_comment):
+ def _log_node(self, node, is_preceded_by_comment):
if is_comment(node):
is_preceded_by_comment = True
- _logger.log(logging.TEST, node)
+ self._log(node)
elif not is_preceded_by_comment:
if isinstance(node, types.DictionaryType):
msg = "Creating %s\n with %s"
args = node.items()[0]
- _logger.log(logging.TEST, msg, *args)
+ self._log(msg, *args)
else:
- _logger.log(logging.TEST, node)
+ self._log(node)
else:
is_preceded_by_comment = False
return is_preceded_by_comment
-def yaml_import(cr, module, yamlfile, idref=None, mode='init', noupdate=False, report=None):
+def yaml_import(cr, module, yamlfile, kind, idref=None, mode='init', noupdate=False, report=None):
if idref is None:
idref = {}
+ loglevel = logging.TEST if kind == 'test' else logging.DEBUG
yaml_string = yamlfile.read()
- yaml_interpreter = YamlInterpreter(cr, module, idref, mode, filename=yamlfile.name, report=report, noupdate=noupdate)
+ yaml_interpreter = YamlInterpreter(cr, module, idref, mode, filename=yamlfile.name, report=report, noupdate=noupdate, loglevel=loglevel)
yaml_interpreter.process(yaml_string)
# keeps convention of convert.py
diff --git a/setup.py b/setup.py
index 6e1adadde82..5925a0484ba 100755
--- a/setup.py
+++ b/setup.py
@@ -96,6 +96,7 @@ setuptools.setup(
# our tree.) http://download.gna.org/pychart/
# TODO 'pychart',
'babel',
+ 'docutils',
'feedparser',
'gdata',
'lxml',