From 1d3ac0e75e6ebc839f749339890420559551596c Mon Sep 17 00:00:00 2001 From: EL HADJI DEM Date: Thu, 30 Jan 2014 11:41:08 -0500 Subject: [PATCH 1/7] [ADD] Add passport and passport_partner modules: It allows to manage several passports for each contact --- passport/__init__.py | 25 +++++ passport/__openerp__.py | 52 ++++++++++ passport/i18n/fr.po | 108 +++++++++++++++++++++ passport/i18n/passport.pot | 108 +++++++++++++++++++++ passport/res_passport.py | 45 +++++++++ passport/res_passport_view.xml | 48 +++++++++ passport/security/ir.model.access.csv | 2 + passport_partner/__init__.py | 24 +++++ passport_partner/__openerp__.py | 59 +++++++++++ passport_partner/i18n/fr.po | 48 +++++++++ passport_partner/i18n/passport_partner.pot | 48 +++++++++ passport_partner/res_partner.py | 32 ++++++ passport_partner/res_partner_view.xml | 35 +++++++ passport_partner/res_passport.py | 31 ++++++ 14 files changed, 665 insertions(+) create mode 100644 passport/__init__.py create mode 100644 passport/__openerp__.py create mode 100644 passport/i18n/fr.po create mode 100644 passport/i18n/passport.pot create mode 100644 passport/res_passport.py create mode 100644 passport/res_passport_view.xml create mode 100644 passport/security/ir.model.access.csv create mode 100644 passport_partner/__init__.py create mode 100644 passport_partner/__openerp__.py create mode 100644 passport_partner/i18n/fr.po create mode 100644 passport_partner/i18n/passport_partner.pot create mode 100644 passport_partner/res_partner.py create mode 100644 passport_partner/res_partner_view.xml create mode 100644 passport_partner/res_passport.py diff --git a/passport/__init__.py b/passport/__init__.py new file mode 100644 index 000000000..ef5bc44bd --- /dev/null +++ b/passport/__init__.py @@ -0,0 +1,25 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +from . import res_passport + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/passport/__openerp__.py b/passport/__openerp__.py new file mode 100644 index 000000000..63d9af784 --- /dev/null +++ b/passport/__openerp__.py @@ -0,0 +1,52 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +{ + 'name': 'Passport Management', + 'version': '0.1', + 'author': 'Savoir-faire Linux', + 'maintainer': 'Savoir-faire Linux', + 'website': 'http://www.savoirfairelinux.com', + 'category': 'Customer Relationship Management', + 'description': """ +Passport Management +=================== + +Contributors +------------ +* El Hadji Dem (elhadji.dem@savoirfairelinux.com) +""", + 'depends': [ + 'base', + ], + 'external_dependencies': {}, + 'data': [ + 'res_passport_view.xml', + 'security/ir.model.access.csv', + ], + 'demo': [], + 'test': [], + 'installable': True, + 'active': False, +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/passport/i18n/fr.po b/passport/i18n/fr.po new file mode 100644 index 000000000..83cc49aff --- /dev/null +++ b/passport/i18n/fr.po @@ -0,0 +1,108 @@ +# 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-01-17 16:27+0000\n" +"PO-Revision-Date: 2014-01-17 11:30-0500\n" +"Last-Translator: EL Hadji DEM \n" +"Language-Team: \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.5.4\n" + +#. 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 +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 +#: help:res.passport,expiration_date:0 +msgid "Expiration date." +msgstr "Date d'expiration." + +#. module: passport +#: view:res.passport:0 +msgid "PassportTree" +msgstr "PassportTree" + +#. 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 +#: view:res.passport:0 +msgid "PassportForm" +msgstr "PassportForm" + +#. 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 +#: field:res.passport,number:0 +msgid "Passport No" +msgstr "No du passeport" + +#. module: passport +#: help:res.passport,birth_date:0 +msgid "Birth Date." +msgstr "Date de naissance." + +#. module: passport +#: selection:res.passport,gender:0 +msgid "Male" +msgstr "Homme" + +#. module: passport +#: help:res.passport,country_id:0 +msgid "Delivery country." +msgstr "Pays de délivrance." + +#. 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" diff --git a/passport/i18n/passport.pot b/passport/i18n/passport.pot new file mode 100644 index 000000000..5666d1851 --- /dev/null +++ b/passport/i18n/passport.pot @@ -0,0 +1,108 @@ +# 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-01-17 16:26+0000\n" +"PO-Revision-Date: 2014-01-17 11:26-0500\n" +"Last-Translator: EL Hadji DEM \n" +"Language-Team: \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.5.4\n" + +#. 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 +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 +#: help:res.passport,expiration_date:0 +msgid "Expiration date." +msgstr "" + +#. module: passport +#: view:res.passport:0 +msgid "PassportTree" +msgstr "" + +#. module: passport +#: view:res.passport:0 +msgid "Owner name (As printed into the passport)" +msgstr "" + +#. module: passport +#: view:res.passport:0 +msgid "PassportForm" +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 +#: field:res.passport,number:0 +msgid "Passport No" +msgstr "" + +#. module: passport +#: help:res.passport,birth_date:0 +msgid "Birth Date." +msgstr "" + +#. module: passport +#: selection:res.passport,gender:0 +msgid "Male" +msgstr "" + +#. module: passport +#: help:res.passport,country_id:0 +msgid "Delivery country." +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 "" diff --git a/passport/res_passport.py b/passport/res_passport.py new file mode 100644 index 000000000..da0a9fa3d --- /dev/null +++ b/passport/res_passport.py @@ -0,0 +1,45 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +from openerp.osv import fields, orm + + +class res_passport(orm.Model): + _description = 'Passport' + _name = 'res.passport' + _columns = { + 'name': fields.char('Owner name', size=256, select=True, + 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="Delivery country."), + 'expiration_date': fields.date('Expiration date', + help="Expiration date."), + 'birth_date': fields.date('Birth Date', help="Birth Date."), + 'gender': fields.selection([('male', 'Male'), + ('female', 'Female')], + 'Gender', + help="Gender."), + } + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/passport/res_passport_view.xml b/passport/res_passport_view.xml new file mode 100644 index 000000000..1069cffc5 --- /dev/null +++ b/passport/res_passport_view.xml @@ -0,0 +1,48 @@ + + + + + + Passport Tree View + res.passport + tree + + + + + + + + + + + + + + + Passport Form View + res.passport + form + +
+ + + + + + + + +
+
+
+ + + + Passport + + res.passport + tree,form + +
+
diff --git a/passport/security/ir.model.access.csv b/passport/security/ir.model.access.csv new file mode 100644 index 000000000..728723cfe --- /dev/null +++ b/passport/security/ir.model.access.csv @@ -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 diff --git a/passport_partner/__init__.py b/passport_partner/__init__.py new file mode 100644 index 000000000..ec9b0697a --- /dev/null +++ b/passport_partner/__init__.py @@ -0,0 +1,24 @@ +# -*- encoding: utf-8 -*- +############################################################################### +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################### + +from . import res_passport +from . import res_partner diff --git a/passport_partner/__openerp__.py b/passport_partner/__openerp__.py new file mode 100644 index 000000000..a7cd8f067 --- /dev/null +++ b/passport_partner/__openerp__.py @@ -0,0 +1,59 @@ +# -*- encoding: utf-8 -*- +############################################################################### +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################### + +{ + 'name': 'Passport Management - Partners Bindings', + 'version': '0.1', + 'author': 'Savoir-faire Linux', + 'maintainer': 'Savoir-faire Linux', + 'website': 'http://www.savoirfairelinux.com', + 'license': 'AGPL-3', + 'category': 'Customer Relationship Management', + 'summary': 'Partner Multi Passport', + 'description': """ +Passport Management - Partners Bindings +======================================= + +This module allows you to manage several passports for each contact. + +Contributors +------------ +* El Hadji Dem (elhadji.dem@savoirfairelinux.com) + +""", + 'depends': [ + 'base', + 'passport' + ], + 'external_dependencies': { + 'python': [], + }, + 'data': [ + "res_partner_view.xml", + ], + 'demo': [], + 'test': [], + 'installable': True, + 'auto_install': True, +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/passport_partner/i18n/fr.po b/passport_partner/i18n/fr.po new file mode 100644 index 000000000..cda31baa2 --- /dev/null +++ b/passport_partner/i18n/fr.po @@ -0,0 +1,48 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * passport_partner +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-01-17 16:33+0000\n" +"PO-Revision-Date: 2014-01-17 11:34-0500\n" +"Last-Translator: EL Hadji DEM \n" +"Language-Team: \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.5.4\n" + +#. module: passport_partner +#: view:res.partner:0 +msgid "Passport Details" +msgstr "Détails du passeport" + +#. module: passport_partner +#: field:res.passport,partner_id:0 +msgid "Contact" +msgstr "Contact" + +#. module: passport_partner +#: model:ir.model,name:passport_partner.model_res_passport view:res.partner:0 +#: field:res.partner,passport_ids:0 +msgid "Passport" +msgstr "Passeport" + +#. module: passport_partner +#: model:ir.model,name:passport_partner.model_res_partner +msgid "Partner" +msgstr "Partenaire" + +#. module: passport_partner +#: help:res.passport,partner_id:0 +msgid "Contact." +msgstr "Contact." + +#. module: passport_partner +#: view:res.partner:0 +msgid "Owner name (As printed into the passport)" +msgstr "Nom du propriétaire (Comme écrit sur le passeport)" diff --git a/passport_partner/i18n/passport_partner.pot b/passport_partner/i18n/passport_partner.pot new file mode 100644 index 000000000..ad4a6a67a --- /dev/null +++ b/passport_partner/i18n/passport_partner.pot @@ -0,0 +1,48 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * passport_partner +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-01-17 16:32+0000\n" +"PO-Revision-Date: 2014-01-17 11:32-0500\n" +"Last-Translator: EL Hadji DEM \n" +"Language-Team: \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.5.4\n" + +#. module: passport_partner +#: view:res.partner:0 +msgid "Passport Details" +msgstr "" + +#. module: passport_partner +#: field:res.passport,partner_id:0 +msgid "Contact" +msgstr "" + +#. module: passport_partner +#: model:ir.model,name:passport_partner.model_res_passport view:res.partner:0 +#: field:res.partner,passport_ids:0 +msgid "Passport" +msgstr "" + +#. module: passport_partner +#: model:ir.model,name:passport_partner.model_res_partner +msgid "Partner" +msgstr "" + +#. module: passport_partner +#: help:res.passport,partner_id:0 +msgid "Contact." +msgstr "" + +#. module: passport_partner +#: view:res.partner:0 +msgid "Owner name (As printed into the passport)" +msgstr "" diff --git a/passport_partner/res_partner.py b/passport_partner/res_partner.py new file mode 100644 index 000000000..8697c64be --- /dev/null +++ b/passport_partner/res_partner.py @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +from openerp.osv import orm, fields + + +class res_partner(orm.Model): + _inherit = 'res.partner' + _columns = { + 'passport_ids': fields.one2many('res.passport', 'partner_id', 'Passport'), + } + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/passport_partner/res_partner_view.xml b/passport_partner/res_partner_view.xml new file mode 100644 index 000000000..3dac1f5eb --- /dev/null +++ b/passport_partner/res_partner_view.xml @@ -0,0 +1,35 @@ + + + + + passport.partner.form.inherit + res.partner + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+
+
+
+
+
diff --git a/passport_partner/res_passport.py b/passport_partner/res_passport.py new file mode 100644 index 000000000..43d4fad7c --- /dev/null +++ b/passport_partner/res_passport.py @@ -0,0 +1,31 @@ +# -*- encoding: utf-8 -*- +############################################################################### +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################### + +from openerp.osv import fields, orm + + +class res_passport(orm.Model): + """Add contact""" + _inherit = 'res.passport' + _columns = { + 'partner_id': fields.many2one('res.partner', 'Contact', help="Contact."), + } From 98766c270e09c8bda86b2033a3ca0a557d2596af Mon Sep 17 00:00:00 2001 From: EL HADJI DEM Date: Thu, 30 Jan 2014 15:09:13 -0500 Subject: [PATCH 2/7] [IMP] add tests directory for passport module --- passport/tests/__init__.py | 27 ++++++++ passport/tests/test_passport.py | 109 ++++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 passport/tests/__init__.py create mode 100644 passport/tests/test_passport.py diff --git a/passport/tests/__init__.py b/passport/tests/__init__.py new file mode 100644 index 000000000..379245ef1 --- /dev/null +++ b/passport/tests/__init__.py @@ -0,0 +1,27 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +from . import test_passport + +checks = [ + test_passport, +] diff --git a/passport/tests/test_passport.py b/passport/tests/test_passport.py new file mode 100644 index 000000000..03a2dcbdd --- /dev/null +++ b/passport/tests/test_passport.py @@ -0,0 +1,109 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +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))) + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 185e9aaea2c53836cb8d435a69d72d4204224fae Mon Sep 17 00:00:00 2001 From: EL HADJI DEM Date: Fri, 14 Feb 2014 16:31:47 -0500 Subject: [PATCH 3/7] [IMP] change view presentation of passport --- passport/res_passport.py | 15 ++++++++ passport/res_passport_view.xml | 12 +++---- passport_partner/i18n/fr.po | 38 +++++++++++++++++--- passport_partner/i18n/passport_partner.pot | 36 ++++++++++++++++--- passport_partner/res_partner.py | 28 +++++++++++++++ passport_partner/res_partner_view.xml | 42 ++++++++++++++-------- 6 files changed, 142 insertions(+), 29 deletions(-) diff --git a/passport/res_passport.py b/passport/res_passport.py index da0a9fa3d..c87432ca1 100644 --- a/passport/res_passport.py +++ b/passport/res_passport.py @@ -42,4 +42,19 @@ class res_passport(orm.Model): help="Gender."), } + def name_get(self, cr, uid, ids, context=None): + if context is None: + context = {} + if isinstance(ids, (int, long)): + ids = [ids] + res = [] + reads = self.read(cr, uid, ids, ['name', 'country_id'], context) + + for record in reads: + name = record['name'] + if record['country_id']: + name = record['country_id'][1] + ' | ' + name + res.append((record['id'], name)) + return res + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/passport/res_passport_view.xml b/passport/res_passport_view.xml index 1069cffc5..9c200a6ff 100644 --- a/passport/res_passport_view.xml +++ b/passport/res_passport_view.xml @@ -26,12 +26,12 @@
- - - - - - + + + + + +
diff --git a/passport_partner/i18n/fr.po b/passport_partner/i18n/fr.po index cda31baa2..8cd21dd24 100644 --- a/passport_partner/i18n/fr.po +++ b/passport_partner/i18n/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: OpenERP Server 7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-01-17 16:33+0000\n" -"PO-Revision-Date: 2014-01-17 11:34-0500\n" +"POT-Creation-Date: 2014-02-05 22:07+0000\n" +"PO-Revision-Date: 2014-02-05 17:09-0500\n" "Last-Translator: EL Hadji DEM \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,26 +16,54 @@ msgstr "" "Plural-Forms: \n" "X-Generator: Poedit 1.5.4\n" +#. module: passport_partner +#: view:res.partner:0 +msgid "Create" +msgstr "Créer" + #. module: passport_partner #: view:res.partner:0 msgid "Passport Details" msgstr "Détails du passeport" +#. module: passport_partner +#: view:res.passport:0 +msgid "or" +msgstr "ou" + +#. module: passport_partner +#: code:addons/passport_partner/res_partner.py:37 +#: code:addons/passport_partner/res_partner.py:38 +#, python-format +msgid "New Passport" +msgstr "Nouveau passeport" + +#. module: passport_partner +#: view:res.passport:0 +msgid "Save and Close" +msgstr "Enregistrer et fermer" + #. module: passport_partner #: field:res.passport,partner_id:0 msgid "Contact" msgstr "Contact" #. module: passport_partner +#: model:ir.actions.act_window,name:passport_partner.action_passport_list #: model:ir.model,name:passport_partner.model_res_passport view:res.partner:0 -#: field:res.partner,passport_ids:0 +#: field:res.partner,passport_ids:0 view:res.passport:0 msgid "Passport" msgstr "Passeport" #. module: passport_partner #: model:ir.model,name:passport_partner.model_res_partner msgid "Partner" -msgstr "Partenaire" +msgstr "Organisme" + +#. module: passport_partner +#: view:res.passport:0 +msgid "Discard" +msgstr "Annuler" #. module: passport_partner #: help:res.passport,partner_id:0 @@ -43,6 +71,6 @@ msgid "Contact." msgstr "Contact." #. module: passport_partner -#: view:res.partner:0 +#: view:res.partner:0 view:res.passport:0 msgid "Owner name (As printed into the passport)" msgstr "Nom du propriétaire (Comme écrit sur le passeport)" diff --git a/passport_partner/i18n/passport_partner.pot b/passport_partner/i18n/passport_partner.pot index ad4a6a67a..caf8492c9 100644 --- a/passport_partner/i18n/passport_partner.pot +++ b/passport_partner/i18n/passport_partner.pot @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: OpenERP Server 7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-01-17 16:32+0000\n" -"PO-Revision-Date: 2014-01-17 11:32-0500\n" +"POT-Creation-Date: 2014-02-05 22:05+0000\n" +"PO-Revision-Date: 2014-02-05 17:06-0500\n" "Last-Translator: EL Hadji DEM \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,19 +16,42 @@ msgstr "" "Plural-Forms: \n" "X-Generator: Poedit 1.5.4\n" +#. module: passport_partner +#: view:res.partner:0 +msgid "Create" +msgstr "" + #. module: passport_partner #: view:res.partner:0 msgid "Passport Details" msgstr "" +#. module: passport_partner +#: view:res.passport:0 +msgid "or" +msgstr "" + +#. module: passport_partner +#: code:addons/passport_partner/res_partner.py:37 +#: code:addons/passport_partner/res_partner.py:38 +#, python-format +msgid "New Passport" +msgstr "" + +#. module: passport_partner +#: view:res.passport:0 +msgid "Save and Close" +msgstr "" + #. module: passport_partner #: field:res.passport,partner_id:0 msgid "Contact" msgstr "" #. module: passport_partner +#: model:ir.actions.act_window,name:passport_partner.action_passport_list #: model:ir.model,name:passport_partner.model_res_passport view:res.partner:0 -#: field:res.partner,passport_ids:0 +#: field:res.partner,passport_ids:0 view:res.passport:0 msgid "Passport" msgstr "" @@ -37,12 +60,17 @@ msgstr "" msgid "Partner" msgstr "" +#. module: passport_partner +#: view:res.passport:0 +msgid "Discard" +msgstr "" + #. module: passport_partner #: help:res.passport,partner_id:0 msgid "Contact." msgstr "" #. module: passport_partner -#: view:res.partner:0 +#: view:res.partner:0 view:res.passport:0 msgid "Owner name (As printed into the passport)" msgstr "" diff --git a/passport_partner/res_partner.py b/passport_partner/res_partner.py index 8697c64be..60439455b 100644 --- a/passport_partner/res_partner.py +++ b/passport_partner/res_partner.py @@ -21,6 +21,7 @@ ############################################################################## from openerp.osv import orm, fields +from openerp.tools.translate import _ class res_partner(orm.Model): @@ -29,4 +30,31 @@ class res_partner(orm.Model): 'passport_ids': fields.one2many('res.passport', 'partner_id', 'Passport'), } + def action_add_passport_form_view(self, cr, uid, ids, context=None): + """Call action, if there is a contact, put it in the name.""" + ir_model_data = self.pool.get('ir.model.data') + contacts = self.browse(cr, uid, ids, context=context) + contact_name = ('%s : %s ' % (contacts[0].full_name, _('New Passport')) if len(contacts) == 1 else False) + name = contact_name or _('New Passport') + try: + compose_form_id = ir_model_data.get_object_reference(cr, uid, 'passport_partner', 'add_passport_form_view')[1] + except ValueError: + compose_form_id = False + ctx = dict(context) + ctx.update({ + 'default_res_id': ids[0], + 'default_partner_id': ids[0], + }) + return { + 'name': name, + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'res.passport', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/passport_partner/res_partner_view.xml b/passport_partner/res_partner_view.xml index 3dac1f5eb..9a5f72af4 100644 --- a/passport_partner/res_partner_view.xml +++ b/passport_partner/res_partner_view.xml @@ -8,28 +8,42 @@ +