diff --git a/golem_member_minor/models/__init__.py b/golem_member_minor/models/__init__.py
index 57273fd..6bf7b26 100644
--- a/golem_member_minor/models/__init__.py
+++ b/golem_member_minor/models/__init__.py
@@ -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, golem_legal_gardian
+from . import golem_member, golem_legal_guardian
diff --git a/golem_member_minor/models/golem_legal_gardian.py b/golem_member_minor/models/golem_legal_gardian.py
deleted file mode 100644
index b49821a..0000000
--- a/golem_member_minor/models/golem_legal_gardian.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright 2017-2018 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 .
-
-""" Golem Legal Gardian Management """
-
-from odoo import models, fields, api, _
-from odoo.exceptions import ValidationError
-
-class GolemLegalGardian(models.Model):
- """ Golem Legal Gardian Management """
- _name = 'golem.legal.gardian'
-
- member_id = fields.Many2one('golem.member', required=True,
- ondelete='cascade',
- readonly=True)
- legal_gardian_id = fields.Many2one('res.partner', required=True,
- domain="[('is_company', '=', False)]",
- ondelete='cascade')
- name = fields.Char(related="legal_gardian_id.name")
- contact_address = fields.Char(related="legal_gardian_id.contact_address")
- phone = fields.Char(related="legal_gardian_id.phone")
- mobile = fields.Char(related="legal_gardian_id.mobile")
- email = fields.Char(related="legal_gardian_id.email")
-
-
- is_default_gardian = fields.Boolean()
-
-
- def do_default_gardian(self):
- """ Make current only default gardian """
- self.ensure_one()
- self.write({'is_default_gardian': True})
- legal_list = self.member_id.legal_guardian2_ids.filtered(
- lambda a: a.legal_gardian_id not in self.legal_gardian_id)
- legal_list.write({'is_default_gardian': False})
- return {
- 'type': 'ir.actions.client',
- 'tag': 'reload'
- }
-
- @api.model
- def create(self, values):
- """ Make the current gardian is default if the only, and the only if default """
- if values['is_default_gardian']:
- self.env['golem.member'].browse(values['member_id']).legal_guardian2_ids.write(
- {'is_default_gardian': False})
- if not self.env['golem.member'].browse(values['member_id']).legal_guardian2_ids:
- values['is_default_gardian'] = True
- return super(GolemLegalGardian, self).create(values)
-
- @api.multi
- def unlink(self):
- """ Forbids default legal gardian removal """
- for gardian in self:
- if gardian.is_default_gardian and len(gardian.member_id.legal_guardian2_ids) > 1:
- emsg = _('You can\'t delete the default legal gardian')
- raise ValidationError(emsg)
- else:
- return super(GolemLegalGardian, self).unlink()
diff --git a/golem_member_minor/models/golem_legal_guardian.py b/golem_member_minor/models/golem_legal_guardian.py
new file mode 100644
index 0000000..b19065b
--- /dev/null
+++ b/golem_member_minor/models/golem_legal_guardian.py
@@ -0,0 +1,72 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2017-2018 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 .
+
+""" Golem Legal Guardian Management """
+
+from odoo import models, fields, api, _
+from odoo.exceptions import ValidationError
+
+class GolemLegalGuardian(models.Model):
+ """ Golem Legal Guardian Management """
+ _name = 'golem.legal.guardian'
+
+ member_id = fields.Many2one('golem.member', required=True,
+ ondelete='cascade',
+ readonly=True)
+ legal_guardian_id = fields.Many2one('res.partner', required=True,
+ domain="[('is_company', '=', False)]",
+ ondelete='cascade')
+ name = fields.Char(related="legal_guardian_id.name")
+ contact_address = fields.Char(related="legal_guardian_id.contact_address")
+ phone = fields.Char(related="legal_guardian_id.phone")
+ mobile = fields.Char(related="legal_guardian_id.mobile")
+ email = fields.Char(related="legal_guardian_id.email")
+
+
+ is_default_guardian = fields.Boolean()
+
+ def do_default_guardian(self):
+ """ Make current only default guardian """
+ self.ensure_one()
+ self.write({'is_default_guardian': True})
+ legal_list = self.member_id.legal_guardian_ids.filtered(
+ lambda a: a.legal_guardian_id not in self.legal_guardian_id)
+ legal_list.write({'is_default_guardian': False})
+ return {
+ 'type': 'ir.actions.client',
+ 'tag': 'reload'
+ }
+
+ @api.model
+ def create(self, values):
+ """ Make the current guardian is default if the only, and the only if default """
+ if values['is_default_guardian']:
+ self.env['golem.member'].browse(values['member_id']).legal_guardian_ids.write(
+ {'is_default_guardian': False})
+ if not self.env['golem.member'].browse(values['member_id']).legal_guardian_ids:
+ values['is_default_guardian'] = True
+ return super(GolemLegalGuardian, self).create(values)
+
+ @api.multi
+ def unlink(self):
+ """ Forbids default legal guardian removal """
+ for guardian in self:
+ if guardian.is_default_guardian and len(guardian.member_id.legal_guardian_ids) > 1:
+ emsg = _('You can\'t delete the default legal guardian')
+ raise ValidationError(emsg)
+ else:
+ return super(GolemLegalGuardian, self).unlink()
diff --git a/golem_member_minor/models/golem_member.py b/golem_member_minor/models/golem_member.py
index 24cd3fe..b0ef6fd 100644
--- a/golem_member_minor/models/golem_member.py
+++ b/golem_member_minor/models/golem_member.py
@@ -26,11 +26,8 @@ class GolemMember(models.Model):
""" GOLEM Member adaptations """
_inherit = 'golem.member'
- legal_guardian_ids = fields.Many2many(
- 'res.partner', string='Legal guardians', index=True, auto_join=True,
- domain="['&', ('is_company', '=', False), ('id', '!=', partner_id)]")
- legal_guardian2_ids = fields.One2many('golem.legal.gardian', 'member_id',
- string='Legal guardians')
+ legal_guardian_ids = fields.One2many('golem.legal.guardian', 'member_id',
+ string='Legal guardians')
activities_participation = fields.Boolean('Activities participation?')
leave_alone = fields.Boolean('Can leave alone?')
is_minor = fields.Boolean('Is minor?', compute='_compute_is_minor',