Browse Source
[ADD] Add passport and passport_partner modules: You can manage several passports for each contact.
pull/2/head
[ADD] Add passport and passport_partner modules: You can manage several passports for each contact.
pull/2/head
unknown
11 years ago
committed by
Yannick Vaucher
11 changed files with 670 additions and 0 deletions
-
24passport/__init__.py
-
50passport/__openerp__.py
-
126passport/i18n/fr.po
-
125passport/i18n/passport.pot
-
31passport/res_partner.py
-
17passport/res_partner_view.xml
-
58passport/res_passport.py
-
46passport/res_passport_view.xml
-
2passport/security/ir.model.access.csv
-
27passport/tests/__init__.py
-
164passport/tests/test_passport.py
@ -0,0 +1,24 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2013-2014 Savoir-faire Linux |
||||
|
# (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from . import res_passport |
||||
|
from . import res_partner |
@ -0,0 +1,50 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2013-2014 Savoir-faire Linux |
||||
|
# (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
{ |
||||
|
'name': 'Passport Management', |
||||
|
'version': '0.1', |
||||
|
'author': 'Savoir-faire Linux', |
||||
|
'maintainer': 'Savoir-faire Linux', |
||||
|
'website': 'http://www.savoirfairelinux.com', |
||||
|
'license': 'AGPL-3', |
||||
|
'category': 'Customer Relationship Management', |
||||
|
'description': """ |
||||
|
Passport Management |
||||
|
=================== |
||||
|
|
||||
|
Contributors |
||||
|
------------ |
||||
|
* El Hadji Dem (elhadji.dem@savoirfairelinux.com) |
||||
|
* Sandy Carter (sandy.carter@savoirfairelinux.com) |
||||
|
""", |
||||
|
'depends': [], |
||||
|
'external_dependencies': {}, |
||||
|
'data': [ |
||||
|
'res_passport_view.xml', |
||||
|
"res_partner_view.xml", |
||||
|
'security/ir.model.access.csv', |
||||
|
], |
||||
|
'demo': [], |
||||
|
'test': [], |
||||
|
'installable': True, |
||||
|
} |
@ -0,0 +1,126 @@ |
|||||
|
# Translation of OpenERP Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * passport |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: OpenERP Server 7.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2014-02-24 23:40+0000\n" |
||||
|
"PO-Revision-Date: 2014-02-24 18:47-0500\n" |
||||
|
"Last-Translator: Sandy Carter <sandy.carter@savoirfairelinux.com>\n" |
||||
|
"Language-Team: \n" |
||||
|
"Language: fr\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: 8bit\n" |
||||
|
"Plural-Forms: \n" |
||||
|
"X-Generator: Poedit 1.6.4\n" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,country_id:0 |
||||
|
msgid "Country of deliverance." |
||||
|
msgstr "Pays émetteur." |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,birth_date:0 |
||||
|
msgid "Date of birth on passport." |
||||
|
msgstr "Date de naissance sur le passeport." |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,gender:0 |
||||
|
msgid "Gender." |
||||
|
msgstr "Sexe." |
||||
|
|
||||
|
#. module: passport |
||||
|
#: model:ir.actions.act_window,name:passport.action_passport_tree_list |
||||
|
#: model:ir.model,name:passport.model_res_passport view:res.partner:0 |
||||
|
#: field:res.partner,passport_ids:0 |
||||
|
msgid "Passport" |
||||
|
msgstr "Passeport" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,country_id:0 |
||||
|
msgid "Delivery country" |
||||
|
msgstr "Pays de délivrance" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,name:0 |
||||
|
msgid "Owner name" |
||||
|
msgstr "Nom du propriétaire" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,gender:0 |
||||
|
msgid "Gender" |
||||
|
msgstr "Sexe" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,number:0 |
||||
|
msgid "Passport No" |
||||
|
msgstr "No du passeport" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,expiration_date:0 |
||||
|
msgid "Expiration date of passport." |
||||
|
msgstr "Date d'expiration sur le passeport." |
||||
|
|
||||
|
#. module: passport |
||||
|
#: view:res.passport:0 |
||||
|
msgid "PassportTree" |
||||
|
msgstr "PassportTree" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: code:addons/passport/res_partner.py:39 |
||||
|
#, python-format |
||||
|
msgid "New Passport" |
||||
|
msgstr "Nouveau passeport" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: view:res.passport:0 |
||||
|
msgid "PassportForm" |
||||
|
msgstr "PassportForm" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,partner_id:0 |
||||
|
msgid "Contact" |
||||
|
msgstr "Contact" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,number:0 |
||||
|
msgid "Passport number." |
||||
|
msgstr "Numéro du passeport." |
||||
|
|
||||
|
#. module: passport |
||||
|
#: selection:res.passport,gender:0 |
||||
|
msgid "Female" |
||||
|
msgstr "Femme" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,name:0 |
||||
|
msgid "Owner name (As printed into the passport)." |
||||
|
msgstr "Nom du propriétaire (Comme écrit sur le passeport)." |
||||
|
|
||||
|
#. module: passport |
||||
|
#: model:ir.model,name:passport.model_res_partner |
||||
|
msgid "Partner" |
||||
|
msgstr "Organisme" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: selection:res.passport,gender:0 |
||||
|
msgid "Male" |
||||
|
msgstr "Homme" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: view:res.passport:0 |
||||
|
msgid "Owner name (As printed into the passport)" |
||||
|
msgstr "Nom du propriétaire (Comme écrit sur le passeport)" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,expiration_date:0 |
||||
|
msgid "Expiration date" |
||||
|
msgstr "Date d'expiration" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,birth_date:0 |
||||
|
msgid "Birth Date" |
||||
|
msgstr "Date de naissance" |
@ -0,0 +1,125 @@ |
|||||
|
# Translation of OpenERP Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * passport |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: OpenERP Server 7.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2014-02-24 23:40+0000\n" |
||||
|
"PO-Revision-Date: 2014-02-24 23:40+0000\n" |
||||
|
"Last-Translator: <>\n" |
||||
|
"Language-Team: \n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Plural-Forms: \n" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,country_id:0 |
||||
|
msgid "Country of deliverance." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,birth_date:0 |
||||
|
msgid "Date of birth on passport." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,gender:0 |
||||
|
msgid "Gender." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: model:ir.actions.act_window,name:passport.action_passport_tree_list |
||||
|
#: model:ir.model,name:passport.model_res_passport |
||||
|
#: view:res.partner:0 |
||||
|
#: field:res.partner,passport_ids:0 |
||||
|
msgid "Passport" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,country_id:0 |
||||
|
msgid "Delivery country" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,name:0 |
||||
|
msgid "Owner name" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,gender:0 |
||||
|
msgid "Gender" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,number:0 |
||||
|
msgid "Passport No" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,expiration_date:0 |
||||
|
msgid "Expiration date of passport." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: view:res.passport:0 |
||||
|
msgid "PassportTree" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: code:addons/passport/res_partner.py:39 |
||||
|
#, python-format |
||||
|
msgid "New Passport" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: view:res.passport:0 |
||||
|
msgid "PassportForm" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,partner_id:0 |
||||
|
msgid "Contact" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,number:0 |
||||
|
msgid "Passport number." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: selection:res.passport,gender:0 |
||||
|
msgid "Female" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: help:res.passport,name:0 |
||||
|
msgid "Owner name (As printed into the passport)." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: model:ir.model,name:passport.model_res_partner |
||||
|
msgid "Partner" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: selection:res.passport,gender:0 |
||||
|
msgid "Male" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: view:res.passport:0 |
||||
|
msgid "Owner name (As printed into the passport)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,expiration_date:0 |
||||
|
msgid "Expiration date" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: passport |
||||
|
#: field:res.passport,birth_date:0 |
||||
|
msgid "Birth Date" |
||||
|
msgstr "" |
@ -0,0 +1,31 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2013-2014 Savoir-faire Linux |
||||
|
# (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from openerp.osv import orm, fields |
||||
|
|
||||
|
|
||||
|
class res_partner(orm.Model): |
||||
|
_inherit = 'res.partner' |
||||
|
_columns = { |
||||
|
'passport_ids': fields.one2many( |
||||
|
'res.passport', 'partner_id', 'Passport'), |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<record id="view_partner_form" model="ir.ui.view"> |
||||
|
<field name="model">res.partner</field> |
||||
|
<field name="inherit_id" ref="base.view_partner_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<notebook position="inside"> |
||||
|
<page string="Passport" attrs="{'invisible': [('is_company','=',True)]}"> |
||||
|
<field name="passport_ids" nolabel="1"/> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,58 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2013-2014 Savoir-faire Linux |
||||
|
# (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from openerp.osv import fields, orm |
||||
|
|
||||
|
|
||||
|
class res_passport(orm.Model): |
||||
|
_description = 'Passport' |
||||
|
_name = 'res.passport' |
||||
|
_columns = { |
||||
|
'name': fields.char( |
||||
|
'Owner name', help='Owner name (As printed into the passport).'), |
||||
|
'number': fields.char( |
||||
|
'Passport No', size=50, help='Passport number.'), |
||||
|
'country_id': fields.many2one( |
||||
|
'res.country', 'Delivery country', help="Country of deliverance."), |
||||
|
'expiration_date': fields.date( |
||||
|
'Expiration date', help="Expiration date of passport."), |
||||
|
'birth_date': fields.date('Birth Date', |
||||
|
help="Date of birth on passport."), |
||||
|
'gender': fields.selection( |
||||
|
[('male', 'Male'), |
||||
|
('female', 'Female')], |
||||
|
'Gender', help="Gender."), |
||||
|
'partner_id': fields.many2one('res.partner', 'Contact'), |
||||
|
} |
||||
|
|
||||
|
def name_get(self, cr, uid, ids, context=None): |
||||
|
if type(ids) in (int, long): |
||||
|
ids = [ids] |
||||
|
res = [] |
||||
|
for res_passport in self.browse(cr, uid, ids, context=context): |
||||
|
name_elements = [] |
||||
|
if res_passport.country_id and res_passport.country_id.name: |
||||
|
name_elements.append(res_passport.country_id.name) |
||||
|
if res_passport.name: |
||||
|
name_elements.append(res_passport.name) |
||||
|
res.append((res_passport.id, ' | '.join(name_elements))) |
||||
|
return res |
@ -0,0 +1,46 @@ |
|||||
|
<?xml version="1.0" ?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!-- Tree Views passport--> |
||||
|
<record model="ir.ui.view" id="passport_tree_view"> |
||||
|
<field name="name">Passport Tree View</field> |
||||
|
<field name="model">res.passport</field> |
||||
|
<field name="type">tree</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="PassportTree" version="7.0"> |
||||
|
<field name="country_id"/> |
||||
|
<field name="number"/> |
||||
|
<field name="expiration_date"/> |
||||
|
<field name="name"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<!-- Form Views passport--> |
||||
|
<record model="ir.ui.view" id="passport_form_view"> |
||||
|
<field name="name">Passport Form View</field> |
||||
|
<field name="model">res.passport</field> |
||||
|
<field name="type">form</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="PassportForm" version="7.0" > |
||||
|
<group col="4"> |
||||
|
<field name="country_id"/> |
||||
|
<field name="name" string="Owner name (As printed into the passport)"/> |
||||
|
<field name="number"/> |
||||
|
<field name="gender"/> |
||||
|
<field name="expiration_date"/> |
||||
|
<field name="birth_date"/> |
||||
|
</group> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<!-- Actions --> |
||||
|
<record model="ir.actions.act_window" id="action_passport_tree_list"> |
||||
|
<field name="name">Passport</field> |
||||
|
<field name="view_id" ref="passport_tree_view"/> |
||||
|
<field name="res_model">res.passport</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,2 @@ |
|||||
|
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" |
||||
|
"access_res_passport","res_passport_user","model_res_passport","base.group_user",1,1,1,1 |
@ -0,0 +1,27 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2013 Savoir-faire Linux |
||||
|
# (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from . import test_passport |
||||
|
|
||||
|
checks = [ |
||||
|
test_passport, |
||||
|
] |
@ -0,0 +1,164 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2013 Savoir-faire Linux |
||||
|
# (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from openerp.tests.common import TransactionCase |
||||
|
from openerp.osv.orm import browse_record |
||||
|
from datetime import date |
||||
|
|
||||
|
|
||||
|
class Base_Test_passport(TransactionCase): |
||||
|
""" |
||||
|
Simple test creating a passport |
||||
|
This is a base class for passport test cases. |
||||
|
Inherit from this and setup values. |
||||
|
""" |
||||
|
|
||||
|
def setUp(self, vals={}): |
||||
|
""" |
||||
|
Setting up passport. |
||||
|
""" |
||||
|
# Default test values |
||||
|
self.vals = {'name': 'This is a test passport name', |
||||
|
'number': 'A200124789', |
||||
|
'country_id': 1, |
||||
|
'expiration_date': date(2013, 11, 14), |
||||
|
'birth_date': date(1980, 11, 21), |
||||
|
'gender': 'male', |
||||
|
} |
||||
|
super(Base_Test_passport, self).setUp() |
||||
|
# Overwrite vals if needed |
||||
|
self.vals = dict(self.vals.items() + vals.items()) |
||||
|
# Create the passport object; we will be testing this, so store in self |
||||
|
res_passport = self.registry('res.passport') |
||||
|
self.passport_id = res_passport.create(self.cr, self.uid, self.vals, context=None) |
||||
|
|
||||
|
def test_passport(self): |
||||
|
""" |
||||
|
Checking the passport creation. |
||||
|
""" |
||||
|
res_passport = self.registry('res.passport') |
||||
|
passport_obj = res_passport.browse(self.cr, self.uid, self.passport_id, context=None) |
||||
|
for field in self.vals: |
||||
|
val = passport_obj[field] |
||||
|
if type(val) == browse_record: |
||||
|
self.assertEquals(self.vals[field], val.id, |
||||
|
"IDs for %s don't match: (%i != %i)" % |
||||
|
(field, self.vals[field], val.id)) |
||||
|
else: |
||||
|
self.assertEquals(str(self.vals[field]), str(val), |
||||
|
"Values for %s don't match: (%s != %s)" % |
||||
|
(field, str(self.vals[field]), str(val))) |
||||
|
|
||||
|
|
||||
|
class Test_passport_bad(Base_Test_passport): |
||||
|
""" |
||||
|
Simple test creating a passport, test against bad values |
||||
|
""" |
||||
|
def setUp(self): |
||||
|
""" |
||||
|
Setting up passport, then changing the values to test against. |
||||
|
""" |
||||
|
super(Test_passport_bad, self).setUp() |
||||
|
# Change vals to something wrong |
||||
|
self.vals = { |
||||
|
'name': 'This is the wrong passport name', |
||||
|
'number': 'A111111111', |
||||
|
'country_id': 0, |
||||
|
'expiration_date': date(1999, 11, 14), |
||||
|
'birth_date': date(1999, 11, 21), |
||||
|
'gender': '', |
||||
|
} |
||||
|
|
||||
|
def test_passport(self): |
||||
|
""" |
||||
|
Checking the passport creation, assertions should all be false. |
||||
|
""" |
||||
|
res_passport = self.registry('res.passport') |
||||
|
passport_obj = res_passport.browse(self.cr, self.uid, self.passport_id, context=None) |
||||
|
for field in self.vals: |
||||
|
val = passport_obj[field] |
||||
|
if type(val) == browse_record: |
||||
|
self.assertNotEqual(self.vals[field], val.id, |
||||
|
"IDs for %s don't match: (%i != %i)" % |
||||
|
(field, self.vals[field], val.id)) |
||||
|
else: |
||||
|
self.assertNotEqual(str(self.vals[field]), str(val), |
||||
|
"Values for %s don't match: (%s != %s)" % |
||||
|
(field, str(self.vals[field]), str(val))) |
||||
|
|
||||
|
|
||||
|
class Test_passport_name_get(TransactionCase): |
||||
|
""" |
||||
|
Test name_get |
||||
|
""" |
||||
|
def setUp(self): |
||||
|
""" |
||||
|
Setting up passport with name, country, either and none. |
||||
|
""" |
||||
|
super(Test_passport_name_get, self).setUp() |
||||
|
res_passport = self.registry('res.passport') |
||||
|
res_country = self.registry('res.country') |
||||
|
country = res_country.browse(self.cr, self.uid, 1, context=None) |
||||
|
self.name_on_passport = 'test name' |
||||
|
self.country_name = country.name_get()[0][1] |
||||
|
self.both = res_passport.create( |
||||
|
self.cr, self.uid, {'name': self.name_on_passport, |
||||
|
'country_id': country.id, }, |
||||
|
context=None) |
||||
|
self.name_only = res_passport.create( |
||||
|
self.cr, self.uid, {'name': self.name_on_passport, }, |
||||
|
context=None) |
||||
|
self.country_only = res_passport.create( |
||||
|
self.cr, self.uid, {'country_id': country.id, }, |
||||
|
context=None) |
||||
|
self.neither = res_passport.create( |
||||
|
self.cr, self.uid, {}, |
||||
|
context=None) |
||||
|
|
||||
|
def test_passport(self): |
||||
|
""" |
||||
|
Checking the passport creation, assertions should all be false. |
||||
|
""" |
||||
|
res_passport = self.registry('res.passport') |
||||
|
both_obj = res_passport.browse(self.cr, self.uid, self.both, context=None) |
||||
|
name_only = res_passport.browse(self.cr, self.uid, self.name_only, context=None) |
||||
|
country_only = res_passport.browse(self.cr, self.uid, self.country_only, context=None) |
||||
|
neither = res_passport.browse(self.cr, self.uid, self.neither, context=None) |
||||
|
self.assertEquals( |
||||
|
both_obj.name_get()[0][1], |
||||
|
' | '.join((self.country_name, self.name_on_passport)), |
||||
|
'Error in passport name_get() with both country name and name on ' |
||||
|
'passport.' |
||||
|
) |
||||
|
self.assertEquals( |
||||
|
name_only.name_get()[0][1], self.name_on_passport, |
||||
|
'Error in passport name_get() with only name on passport.' |
||||
|
) |
||||
|
self.assertEquals( |
||||
|
country_only.name_get()[0][1], self.country_name, |
||||
|
'Error in passport name_get() with only name of country.' |
||||
|
) |
||||
|
self.assertEquals( |
||||
|
neither.name_get()[0][1], '', |
||||
|
'Error in passport name_get() with neither country name nor name ' |
||||
|
'on passport.' |
||||
|
) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue