From 4072ae829e9728a64c6a970ed4ee5a9a3eb3d64c Mon Sep 17 00:00:00 2001 From: Fabien BOURGEOIS Date: Mon, 1 May 2017 22:15:39 +0200 Subject: [PATCH] [MIG][IMP]GOLEM member minor migration to v10, and better guidelines --- golem_member_minor/__init__.py | 4 +-- golem_member_minor/__manifest__.py | 6 ++--- golem_member_minor/i18n/fr.po | 23 +++++++--------- .../i18n/golem_member_minor.pot | 23 +++++++--------- golem_member_minor/models/__init__.py | 18 +++++++++++++ golem_member_minor/models/golem_member.py | 27 ++++++++++--------- golem_member_minor/tests/test_golem_member.py | 18 +++++++------ .../views/golem_member_views.xml | 16 +++++------ 8 files changed, 72 insertions(+), 63 deletions(-) create mode 100644 golem_member_minor/models/__init__.py diff --git a/golem_member_minor/__init__.py b/golem_member_minor/__init__.py index 8d28962..82314be 100644 --- a/golem_member_minor/__init__.py +++ b/golem_member_minor/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2016 Fabien Bourgeois +# Copyright 2017 Fabien Bourgeois # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -15,4 +15,4 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from . import golem_member +from . import models diff --git a/golem_member_minor/__manifest__.py b/golem_member_minor/__manifest__.py index e26f55e..d9b3417 100644 --- a/golem_member_minor/__manifest__.py +++ b/golem_member_minor/__manifest__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2016 Fabien Bourgeois +# Copyright 2017 Fabien Bourgeois # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -23,7 +23,7 @@ 'author': 'Fabien Bourgeois', 'license': 'AGPL-3', 'application': False, - 'installable': False, + 'installable': True, 'depends': ['golem_member'], - 'data': ['golem_member_view.xml'] + 'data': ['views/golem_member_views.xml'] } diff --git a/golem_member_minor/i18n/fr.po b/golem_member_minor/i18n/fr.po index a8632a6..a07b081 100644 --- a/golem_member_minor/i18n/fr.po +++ b/golem_member_minor/i18n/fr.po @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-20 16:50+0000\n" -"PO-Revision-Date: 2016-07-20 16:50+0000\n" +"POT-Creation-Date: 2017-05-01 20:16+0000\n" +"PO-Revision-Date: 2017-05-01 20:16+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -17,7 +17,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: golem_member_minor -#: field:golem.member,activities_participation:0 +#: model:ir.model.fields,field_description:golem_member_minor.field_golem_member_activities_participation msgid "Activities participation?" msgstr "Participation aux activités?" @@ -27,32 +27,27 @@ msgid "GOLEM Member" msgstr "GOLEM : Adhérent" #. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_search -msgid "Group By" -msgstr "Grouper par" - -#. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_search +#: model:ir.ui.view,arch_db:golem_member_minor.golem_member_search_inherit_minor msgid "Is adult" msgstr "Est adulte" #. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_search +#: model:ir.ui.view,arch_db:golem_member_minor.golem_member_search_inherit_minor msgid "Is minor" msgstr "Est mineur" #. module: golem_member_minor -#: field:golem.member,is_minor:0 +#: model:ir.model.fields,field_description:golem_member_minor.field_golem_member_is_minor msgid "Is minor?" msgstr "Est mineur?" #. module: golem_member_minor -#: field:golem.member,legal_guardian_ids:0 +#: model:ir.model.fields,field_description:golem_member_minor.field_golem_member_legal_guardian_ids msgid "Legal guardians" msgstr "Représentants légaux" #. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_form +#: model:ir.ui.view,arch_db:golem_member_minor.golem_member_form_inherit_minor msgid "Minor" msgstr "Mineur" diff --git a/golem_member_minor/i18n/golem_member_minor.pot b/golem_member_minor/i18n/golem_member_minor.pot index 54cfe4e..6531b4c 100644 --- a/golem_member_minor/i18n/golem_member_minor.pot +++ b/golem_member_minor/i18n/golem_member_minor.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-20 16:49+0000\n" -"PO-Revision-Date: 2016-07-20 16:49+0000\n" +"POT-Creation-Date: 2017-05-01 20:16+0000\n" +"PO-Revision-Date: 2017-05-01 20:16+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,7 +16,7 @@ msgstr "" "Plural-Forms: \n" #. module: golem_member_minor -#: field:golem.member,activities_participation:0 +#: model:ir.model.fields,field_description:golem_member_minor.field_golem_member_activities_participation msgid "Activities participation?" msgstr "" @@ -26,32 +26,27 @@ msgid "GOLEM Member" msgstr "" #. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_search -msgid "Group By" -msgstr "" - -#. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_search +#: model:ir.ui.view,arch_db:golem_member_minor.golem_member_search_inherit_minor msgid "Is adult" msgstr "" #. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_search +#: model:ir.ui.view,arch_db:golem_member_minor.golem_member_search_inherit_minor msgid "Is minor" msgstr "" #. module: golem_member_minor -#: field:golem.member,is_minor:0 +#: model:ir.model.fields,field_description:golem_member_minor.field_golem_member_is_minor msgid "Is minor?" msgstr "" #. module: golem_member_minor -#: field:golem.member,legal_guardian_ids:0 +#: model:ir.model.fields,field_description:golem_member_minor.field_golem_member_legal_guardian_ids msgid "Legal guardians" msgstr "" #. module: golem_member_minor -#: view:golem.member:golem_member_minor.minor_add_form +#: model:ir.ui.view,arch_db:golem_member_minor.golem_member_form_inherit_minor msgid "Minor" msgstr "" diff --git a/golem_member_minor/models/__init__.py b/golem_member_minor/models/__init__.py new file mode 100644 index 0000000..f4e5ac9 --- /dev/null +++ b/golem_member_minor/models/__init__.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- + +# Copyright 2017 Fabien Bourgeois +# +# 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 golem_member diff --git a/golem_member_minor/models/golem_member.py b/golem_member_minor/models/golem_member.py index 2d4d22b..d1c6976 100644 --- a/golem_member_minor/models/golem_member.py +++ b/golem_member_minor/models/golem_member.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2016 Fabien Bourgeois +# Copyright 2017 Fabien Bourgeois # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -15,28 +15,29 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +""" GOLEM Member Minor management """ + from datetime import datetime, timedelta from odoo import models, fields, api - class GolemMember(models.Model): + """ GOLEM Member adaptations """ _inherit = 'golem.member' ADULT_DURATION = timedelta(days=365*18) - legal_guardian_ids = fields.Many2many('res.partner', - string='Legal guardians', - domain="['&', " - "('is_company', '=', False), " - "('id', '!=', partner_id)]") + legal_guardian_ids = fields.Many2many( + 'res.partner', string='Legal guardians', index=True, + domain="['&', ('is_company', '=', False), ('id', '!=', partner_id)]") activities_participation = fields.Boolean('Activities participation?') is_minor = fields.Boolean('Is minor?', compute='_compute_is_minor', store=True, default=False) - @api.one + @api.multi @api.depends('birthdate_date') def _compute_is_minor(self): - if (self.birthdate_date): - self.is_minor = ((datetime.now() - self.ADULT_DURATION) < - fields.Datetime.from_string(self.birthdate_date)) - else: - self.is_minor = False + for member in self: + if member.birthdate_date: + member.is_minor = ((datetime.now() - self.ADULT_DURATION) < + fields.Datetime.from_string(member.birthdate_date)) + else: + member.is_minor = False diff --git a/golem_member_minor/tests/test_golem_member.py b/golem_member_minor/tests/test_golem_member.py index d2da293..d004e17 100644 --- a/golem_member_minor/tests/test_golem_member.py +++ b/golem_member_minor/tests/test_golem_member.py @@ -15,10 +15,12 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +""" GOLEM Member Minor tests """ + from odoo.tests.common import TransactionCase - class GolemMemberMinorTestCase(TransactionCase): + """ GOLEM Member Minor tests """ def setUp(self): super(GolemMemberMinorTestCase, self).setUp() @@ -28,10 +30,10 @@ class GolemMemberMinorTestCase(TransactionCase): def test_member_minor(self): """ Test minor computing """ - m = self.member_model.create({'lastname': u'Doe', 'firstname': u'Joe'}) - self.assertFalse(m.is_minor) - m = self.member_model.create({'lastname': u'Doe', 'firstname': u'Bob', - 'birthdate_date': '1990-01-01'}) - self.assertFalse(m.is_minor) - m.write({'birthdate_date': '2015-01-01'}) - self.assertTrue(m.is_minor) + new_m = self.member_model.create({'lastname': u'Doe', 'firstname': u'Joe'}) + self.assertFalse(new_m.is_minor) + new_m = self.member_model.create({'lastname': u'Doe', 'firstname': u'Bob', + 'birthdate_date': '1990-01-01'}) + self.assertFalse(new_m.is_minor) + new_m.write({'birthdate_date': '2015-01-01'}) + self.assertTrue(new_m.is_minor) diff --git a/golem_member_minor/views/golem_member_views.xml b/golem_member_minor/views/golem_member_views.xml index 00060e1..f5c3777 100644 --- a/golem_member_minor/views/golem_member_views.xml +++ b/golem_member_minor/views/golem_member_views.xml @@ -1,7 +1,7 @@ - + Add Minor Page/Tab golem.member - + - - @@ -52,17 +50,17 @@ along with this program. If not, see . - + Add Minor/Adult filters golem.member - + - + - +