diff --git a/golem_activity_registration/__manifest__.py b/golem_activity_registration/__manifest__.py
index d2ce101..04c3107 100644
--- a/golem_activity_registration/__manifest__.py
+++ b/golem_activity_registration/__manifest__.py
@@ -18,7 +18,7 @@
{
'name': 'GOLEM Activity Member Registrations',
'summary': 'GOLEM Activities Member Registrations management',
- 'version': '10.0.1.4.5',
+ 'version': '10.0.1.5.1',
'category': 'GOLEM',
'author': 'Fabien Bourgeois, Michel Dessenne',
'license': 'AGPL-3',
diff --git a/golem_activity_registration/i18n/fr.po b/golem_activity_registration/i18n/fr.po
index 4c5b9c7..bddeb50 100644
--- a/golem_activity_registration/i18n/fr.po
+++ b/golem_activity_registration/i18n/fr.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-09 14:23+0000\n"
-"PO-Revision-Date: 2018-08-09 16:38+0200\n"
+"POT-Creation-Date: 2018-09-26 08:25+0000\n"
+"PO-Revision-Date: 2018-09-26 10:28+0200\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -204,6 +204,13 @@ msgstr "Le nombre de places ne peut pas être négatif"
msgid "On default season, there is no activity for this member."
msgstr "Sur la saison par défaut, il n'y a pas d'activité pour cet usager."
+#. module: golem_activity_registration
+#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_only_for_subscriber
+#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_only_for_subscriber
+#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_search_inherit_registration
+msgid "Only for subscriber"
+msgstr "Réservé aux adhérents"
+
#. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places
msgid "Places"
@@ -245,7 +252,7 @@ msgid "Service user"
msgstr "Usager"
#. module: golem_activity_registration
-#: code:addons/golem_activity_registration/models/golem_activity_registration.py:70
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:71
#, python-format
msgid "Sorry, there is no more place !"
msgstr "Désolé, il n'y a plus de place disponible !"
@@ -256,13 +263,19 @@ msgid "Subscription"
msgstr "Inscription"
#. module: golem_activity_registration
-#: code:addons/golem_activity_registration/models/golem_activity_registration.py:100
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:130
+#, python-format
+msgid "Subscription can not be executed : the targeted activity is only for subscriber."
+msgstr "L'inscription n'a pas pu être faite : l'activité choisie est réservée aux adhérents."
+
+#. module: golem_activity_registration
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:134
#, python-format
msgid "Subscription can not be executed : the targeted member is not on the same season as the activity."
msgstr "L'inscription n'a pas pu être enregistrée : l'usager visé n'est pas ahdérant pour la même saison que celle pendant laquelle se déroule l'activité."
#. module: golem_activity_registration
-#: code:addons/golem_activity_registration/models/golem_activity_registration.py:92
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:104
#: sql_constraint:golem.activity.registration:0
#, python-format
msgid "This member has already been registered for this activity."
diff --git a/golem_activity_registration/i18n/golem_activity_registration.pot b/golem_activity_registration/i18n/golem_activity_registration.pot
index b56cd83..4bc0b2b 100644
--- a/golem_activity_registration/i18n/golem_activity_registration.pot
+++ b/golem_activity_registration/i18n/golem_activity_registration.pot
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-09 14:23+0000\n"
-"PO-Revision-Date: 2018-08-09 14:23+0000\n"
+"POT-Creation-Date: 2018-09-26 08:25+0000\n"
+"PO-Revision-Date: 2018-09-26 08:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -204,6 +204,13 @@ msgstr ""
msgid "On default season, there is no activity for this member."
msgstr ""
+#. module: golem_activity_registration
+#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_only_for_subscriber
+#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_only_for_subscriber
+#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_search_inherit_registration
+msgid "Only for subscriber"
+msgstr ""
+
#. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places
msgid "Places"
@@ -245,7 +252,7 @@ msgid "Service user"
msgstr ""
#. module: golem_activity_registration
-#: code:addons/golem_activity_registration/models/golem_activity_registration.py:70
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:71
#, python-format
msgid "Sorry, there is no more place !"
msgstr ""
@@ -256,13 +263,19 @@ msgid "Subscription"
msgstr ""
#. module: golem_activity_registration
-#: code:addons/golem_activity_registration/models/golem_activity_registration.py:100
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:130
+#, python-format
+msgid "Subscription can not be executed : the targeted activity is only for subscriber."
+msgstr ""
+
+#. module: golem_activity_registration
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:134
#, python-format
msgid "Subscription can not be executed : the targeted member is not on the same season as the activity."
msgstr ""
#. module: golem_activity_registration
-#: code:addons/golem_activity_registration/models/golem_activity_registration.py:92
+#: code:addons/golem_activity_registration/models/golem_activity_registration.py:104
#: sql_constraint:golem.activity.registration:0
#, python-format
msgid "This member has already been registered for this activity."
diff --git a/golem_activity_registration/models/golem_activity_registration.py b/golem_activity_registration/models/golem_activity_registration.py
index 4a69f08..e6d6025 100644
--- a/golem_activity_registration/models/golem_activity_registration.py
+++ b/golem_activity_registration/models/golem_activity_registration.py
@@ -43,6 +43,7 @@ class GolemActivity(models.Model):
index=True)
places_used = fields.Integer('Places used', compute='compute_places_used',
store=True)
+ only_for_subscriber = fields.Boolean(default=False)
@api.multi
@api.depends('activity_registration_ids')
@@ -75,7 +76,7 @@ class GolemActivityRegistration(models.Model):
""" GOLEM Activity Registration """
_name = 'golem.activity.registration'
_description = 'GOLEM Activity Registration'
- _rec_name ='activity_id'
+ _rec_name = 'activity_id'
member_id = fields.Many2one('golem.member', string='Service user',
required=True, ondelete='cascade', index=True)
@@ -91,11 +92,33 @@ class GolemActivityRegistration(models.Model):
('registration_uniq', 'UNIQUE (member_id, activity_id)',
_('This member has already been registered for this activity.'))]
+ @api.onchange('activity_id', 'activity_id.only_for_subscriber')
+ def onchange_activity_subcrib(self):
+ """ If activity only for subscribers : do not allow non subscribers """
+ domain = []
+ if self.activity_id.only_for_subscriber:
+ domain.append(('membership_state', 'not in', ('none', 'canceled', 'old')))
+ return {'domain': {'member_id': domain}}
+
+ @api.onchange('member_id')
+ def onchange_member_subcrib(self):
+ """ If not subscriber : do not show subscribers only activities """
+ domain = []
+ if self.member_id and self.member_id.membership_state in ('none', 'canceled', 'old'):
+ domain.append(('only_for_subscriber', '=', False))
+ return {'domain': {'activity_id': domain}}
+
+
@api.constrains('member_id', 'activity_id')
def _check_season_reliability(self):
""" Forbid registration when member season if not coherent with
activity season or are duplicates """
for reg in self:
+ if (reg.activity_id.only_for_subscriber and \
+ reg.member_id.membership_state in ['none', 'canceled', 'old']):
+ emsg = _('Subscription can not be executed : the targeted '
+ 'activity is only for subscriber.')
+ raise models.ValidationError(emsg)
if reg.activity_id.season_id not in reg.member_id.season_ids:
emsg = _('Subscription can not be executed : the targeted '
'member is not on the same season as the activity.')
diff --git a/golem_activity_registration/views/golem_activity_views.xml b/golem_activity_registration/views/golem_activity_views.xml
index fde9b43..265455e 100644
--- a/golem_activity_registration/views/golem_activity_views.xml
+++ b/golem_activity_registration/views/golem_activity_views.xml
@@ -38,6 +38,9 @@ along with this program. If not, see .
+
+
+
@@ -66,6 +69,8 @@ along with this program. If not, see .
+
diff --git a/golem_activity_registration_payment/__manifest__.py b/golem_activity_registration_payment/__manifest__.py
index 10a4df5..2363982 100644
--- a/golem_activity_registration_payment/__manifest__.py
+++ b/golem_activity_registration_payment/__manifest__.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# Copyright 2018 Fabien Bourgeois
+# Copyright 2018 Youssef El Ouahby
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,7 +20,7 @@
'name': 'GOLEM Activity Member Registration Payments',
'summary': 'GOLEM Activities Member Registration Payments',
'description': 'GOLEM Activities Member Registration Payments',
- 'version': '10.0.0.3.6',
+ 'version': '10.0.0.4.1',
'category': 'GOLEM',
'author': 'Fabien Bourgeois',
'license': 'AGPL-3',
@@ -29,5 +30,6 @@
'data': ['views/golem_member_views.xml',
'views/golem_activity_registration_views.xml',
'report/golem_member_card_templates.xml',
- 'wizard/golem_activity_registration_invoicing.xml']
+ 'wizard/golem_activity_registration_invoicing.xml',
+ 'views/golem_activity_views.xml']
}
diff --git a/golem_activity_registration_payment/i18n/fr.po b/golem_activity_registration_payment/i18n/fr.po
index 21eb07c..b1e93d7 100644
--- a/golem_activity_registration_payment/i18n/fr.po
+++ b/golem_activity_registration_payment/i18n/fr.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-27 10:09+0000\n"
-"PO-Revision-Date: 2018-08-27 12:10+0200\n"
+"POT-Creation-Date: 2018-09-26 09:44+0000\n"
+"PO-Revision-Date: 2018-09-26 11:58+0200\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -49,7 +49,7 @@ msgid "Activity id"
msgstr "Activité liée"
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/models/golem_member.py:76
+#: code:addons/golem_activity_registration_payment/models/golem_member.py:78
#, python-format
msgid "All confirmed registrations had already been invoiced."
msgstr "Toutes les inscriptions confirmées ont déjà été facturées."
@@ -124,6 +124,18 @@ msgstr "Afficher les paiements"
msgid "Draft Invoice"
msgstr "Facture en brouillon"
+#. module: golem_activity_registration_payment
+#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_free_activity
+#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_free_activity
+#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_search_inherit_activity_registration_payment
+msgid "Free activity"
+msgstr "Gratuit"
+
+#. module: golem_activity_registration_payment
+#: model:ir.model,name:golem_activity_registration_payment.model_golem_activity
+msgid "GOLEM Activity"
+msgstr "Activité"
+
#. module: golem_activity_registration_payment
#: model:ir.model,name:golem_activity_registration_payment.model_golem_activity_registration
msgid "GOLEM Activity Registration"
@@ -145,14 +157,14 @@ msgid "GOLEM Member"
msgstr "Adhérent"
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:151
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:153
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_invoice_id
#, python-format
msgid "Generated invoice"
msgstr "Facture générée"
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:166
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:168
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_payment_ids
#, python-format
msgid "Generated payments"
@@ -311,7 +323,7 @@ msgid "Registration id"
msgstr "Inscription"
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/models/golem_member.py:69
+#: code:addons/golem_activity_registration_payment/models/golem_member.py:71
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form
#, python-format
msgid "Registration invoicing"
@@ -339,13 +351,13 @@ msgid "Status"
msgstr "État"
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:147
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:149
#, python-format
msgid "There is no generated invoice."
msgstr "Il n'y a pas de facture générée."
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:162
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:164
#, python-format
msgid "There is no generated payments."
msgstr "Il n'y a pas de paiement généré."
diff --git a/golem_activity_registration_payment/i18n/golem_activity_registration_payment.pot b/golem_activity_registration_payment/i18n/golem_activity_registration_payment.pot
index bc717f8..b483cc8 100644
--- a/golem_activity_registration_payment/i18n/golem_activity_registration_payment.pot
+++ b/golem_activity_registration_payment/i18n/golem_activity_registration_payment.pot
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-27 10:09+0000\n"
-"PO-Revision-Date: 2018-08-27 10:09+0000\n"
+"POT-Creation-Date: 2018-09-26 09:44+0000\n"
+"PO-Revision-Date: 2018-09-26 09:44+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -45,7 +45,7 @@ msgid "Activity id"
msgstr ""
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/models/golem_member.py:76
+#: code:addons/golem_activity_registration_payment/models/golem_member.py:78
#, python-format
msgid "All confirmed registrations had already been invoiced."
msgstr ""
@@ -120,6 +120,18 @@ msgstr ""
msgid "Draft Invoice"
msgstr ""
+#. module: golem_activity_registration_payment
+#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_free_activity
+#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_free_activity
+#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_search_inherit_activity_registration_payment
+msgid "Free activity"
+msgstr ""
+
+#. module: golem_activity_registration_payment
+#: model:ir.model,name:golem_activity_registration_payment.model_golem_activity
+msgid "GOLEM Activity"
+msgstr ""
+
#. module: golem_activity_registration_payment
#: model:ir.model,name:golem_activity_registration_payment.model_golem_activity_registration
msgid "GOLEM Activity Registration"
@@ -141,14 +153,14 @@ msgid "GOLEM Member"
msgstr ""
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:151
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:153
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_invoice_id
#, python-format
msgid "Generated invoice"
msgstr ""
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:166
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:168
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_payment_ids
#, python-format
msgid "Generated payments"
@@ -307,7 +319,7 @@ msgid "Registration id"
msgstr ""
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/models/golem_member.py:69
+#: code:addons/golem_activity_registration_payment/models/golem_member.py:71
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form
#, python-format
msgid "Registration invoicing"
@@ -335,13 +347,13 @@ msgid "Status"
msgstr ""
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:147
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:149
#, python-format
msgid "There is no generated invoice."
msgstr ""
#. module: golem_activity_registration_payment
-#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:162
+#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:164
#, python-format
msgid "There is no generated payments."
msgstr ""
diff --git a/golem_activity_registration_payment/models/__init__.py b/golem_activity_registration_payment/models/__init__.py
index 461a002..8a33eed 100644
--- a/golem_activity_registration_payment/models/__init__.py
+++ b/golem_activity_registration_payment/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_activity_registration
+from . import golem_member, golem_activity_registration, golem_activity
diff --git a/golem_activity_registration_payment/models/golem_activity.py b/golem_activity_registration_payment/models/golem_activity.py
new file mode 100644
index 0000000..9dcd94b
--- /dev/null
+++ b/golem_activity_registration_payment/models/golem_activity.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Youssef El Ouahby
+# Copyright 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 Activity adaptations """
+
+from odoo import models, fields, api
+
+class GolemActivity(models.Model):
+ """ GOLEM Activity adaptations """
+ _inherit = 'golem.activity'
+
+ free_activity = fields.Boolean(default=False)
+
+ @api.onchange('free_activity')
+ def onchange_free_activity(self):
+ """ If free activity, price should be 0.0 """
+ for activity in self:
+ if activity.free_activity:
+ activity.list_price = 0.0
diff --git a/golem_activity_registration_payment/models/golem_activity_registration.py b/golem_activity_registration_payment/models/golem_activity_registration.py
index b3d5361..9e8b475 100644
--- a/golem_activity_registration_payment/models/golem_activity_registration.py
+++ b/golem_activity_registration_payment/models/golem_activity_registration.py
@@ -31,3 +31,4 @@ class GolemActivityRegistration(models.Model):
invoice_id = fields.Many2one(related='invoice_line_id.invoice_id')
invoice_state = fields.Selection(related='invoice_line_id.invoice_id.state',
store=True)
+ free_activity = fields.Boolean(related='activity_id.free_activity')
diff --git a/golem_activity_registration_payment/models/golem_member.py b/golem_activity_registration_payment/models/golem_member.py
index b5fc6ab..30aa5b2 100644
--- a/golem_activity_registration_payment/models/golem_member.py
+++ b/golem_activity_registration_payment/models/golem_member.py
@@ -35,6 +35,7 @@ class GolemMember(models.Model):
regis = member.activity_registration_ids
regis = regis.filtered(
lambda r: (r.state == 'confirmed' and
+ not r.activity_id.free_activity and
(not r.invoice_line_id or
r.invoice_line_id.invoice_id.state == 'cancel'))
)
@@ -52,9 +53,10 @@ class GolemMember(models.Model):
self.ensure_one()
member = self[0]
registrations = member.activity_registration_ids.filtered(
- lambda r: r.state == 'confirmed' and
- (not r.invoice_line_id or
- r.invoice_line_id.invoice_id.state == 'cancel')
+ lambda r: (r.state == 'confirmed' and
+ not r.activity_id.free_activity and
+ (not r.invoice_line_id or
+ r.invoice_line_id.invoice_id.state == 'cancel'))
)
if registrations:
invoicing = self.env['golem.activity.registration.invoicing'].create({
diff --git a/golem_activity_registration_payment/views/golem_activity_registration_views.xml b/golem_activity_registration_payment/views/golem_activity_registration_views.xml
index 86fb72c..3bae912 100644
--- a/golem_activity_registration_payment/views/golem_activity_registration_views.xml
+++ b/golem_activity_registration_payment/views/golem_activity_registration_views.xml
@@ -45,6 +45,12 @@ along with this program. If not, see .
+
+
+
+
+ {'readonly': [('free_activity', '=', True)]}
+
diff --git a/golem_activity_registration_payment/views/golem_activity_views.xml b/golem_activity_registration_payment/views/golem_activity_views.xml
new file mode 100644
index 0000000..08ba1be
--- /dev/null
+++ b/golem_activity_registration_payment/views/golem_activity_views.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+ Golem activity form adaptations
+ golem.activity
+
+
+
+ {'invisible': [('free_activity', '=', True)]}
+
+
+
+
+
+
+
+
+
+ Golem Activity Search adaptations
+ golem.activity
+
+
+
+
+
+
+
+
+
diff --git a/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py b/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py
index d21b3b4..6454666 100644
--- a/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py
+++ b/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py
@@ -29,9 +29,11 @@ class GolemActivityRegistrationInvoicingLine(models.TransientModel):
_description = 'GOLEM Activity Registration Invoicing Lines'
invoicing_id = fields.Many2one('golem.activity.registration.invoicing',
- required=True)
- registration_id = fields.Many2one('golem.activity.registration', required=True)
- activity_id = fields.Many2one('golem.activity', required=True, readonly=True)
+ required=True, ondelete='cascade')
+ registration_id = fields.Many2one('golem.activity.registration', required=True,
+ ondelete='cascade')
+ activity_id = fields.Many2one('golem.activity', required=True, readonly=True,
+ ondelete='cascade')
price = fields.Monetary()
currency_id = fields.Many2one(related='activity_id.currency_id')
diff --git a/golem_activity_registration_state/__manifest__.py b/golem_activity_registration_state/__manifest__.py
index 87d50aa..c8bc7bf 100644
--- a/golem_activity_registration_state/__manifest__.py
+++ b/golem_activity_registration_state/__manifest__.py
@@ -19,7 +19,7 @@
'name': 'GOLEM Activity Session Member Registrations States',
'summary': 'GOLEM Activities Session Member Registration states',
'description': 'GOLEM Activities Session Member Registration states',
- 'version': '10.0.2.2.0',
+ 'version': '10.0.2.2.1',
'category': 'GOLEM',
'author': 'Fabien Bourgeois',
'license': 'AGPL-3',
diff --git a/golem_activity_registration_state/models/golem_activity_registration.py b/golem_activity_registration_state/models/golem_activity_registration.py
index fde5a1d..2b20d5d 100644
--- a/golem_activity_registration_state/models/golem_activity_registration.py
+++ b/golem_activity_registration_state/models/golem_activity_registration.py
@@ -18,7 +18,7 @@
""" GOLEM Activity Registration State """
from odoo import models, fields, api, _
-from odoo.exceptions import UserError
+from odoo.exceptions import UserError, ValidationError
class GolemMember(models.Model):
""" GOLEM Member adaptations """
@@ -89,9 +89,10 @@ class GolemActivityRegistration(models.Model):
def state_remove(self):
""" Remove registrations, only if canceled """
if self.filtered(lambda r: r.state != 'canceled'):
- uerr = _('You can not confirm a canceled registration.')
+ uerr = _('You can not remove a uncanceled registration.')
raise UserError(uerr)
self.unlink()
+ return {'type': 'ir.actions.client', 'tag': 'reload'}
@api.multi
def write(self, values):
diff --git a/golem_activity_registration_state/views/golem_activity_registration_views.xml b/golem_activity_registration_state/views/golem_activity_registration_views.xml
index e7305ed..694ef92 100644
--- a/golem_activity_registration_state/views/golem_activity_registration_views.xml
+++ b/golem_activity_registration_state/views/golem_activity_registration_views.xml
@@ -45,20 +45,21 @@ along with this program. If not, see .
0
+
diff --git a/golem_admin/__init__.py b/golem_admin/__init__.py
index 9dd702d..feff6f0 100644
--- a/golem_admin/__init__.py
+++ b/golem_admin/__init__.py
@@ -14,3 +14,5 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
+
+from . import models
diff --git a/golem_admin/__manifest__.py b/golem_admin/__manifest__.py
index a306c20..eded0a1 100644
--- a/golem_admin/__manifest__.py
+++ b/golem_admin/__manifest__.py
@@ -22,7 +22,7 @@
- New application on top menu ;
- Management of users and groups, companies ;
- Good default access / rights to do. ''',
- 'version': '10.0.0.1.0',
+ 'version': '10.0.0.1.3',
'category': 'GOLEM',
'author': 'Fabien Bourgeois',
'license': 'AGPL-3',
diff --git a/golem_admin/models/__init__.py b/golem_admin/models/__init__.py
new file mode 100644
index 0000000..8466807
--- /dev/null
+++ b/golem_admin/models/__init__.py
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 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 .
+
+from . import res_partner
diff --git a/golem_admin/models/res_partner.py b/golem_admin/models/res_partner.py
new file mode 100644
index 0000000..21a2e63
--- /dev/null
+++ b/golem_admin/models/res_partner.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 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 .
+
+""" Partner adaptations """
+
+from odoo import models, fields, api
+
+
+class Partner(models.Model):
+ """ Partner adaptations """
+ _inherit = 'res.partner'
+
+ signup_token = fields.Char(groups="golem_base.group_golem_manager")
+ signup_type = fields.Char(groups="golem_base.group_golem_manager")
+ signup_expiration = fields.Datetime(groups="golem_base.group_golem_manager")
+
+ @api.multi
+ def write(self, vals):
+ """ Overwrite native function to workaround admin only write on fields
+ signup*, as it's impossible to overwrite groups attribute """
+ if (('signup_token' in vals or 'signup_type' in vals or
+ 'signup_expiration' in vals)
+ and self.env.user.has_group('golem_base.group_golem_manager')):
+ return super(Partner, self.sudo()).write(vals)
+ return super(Partner, self).write(vals)
diff --git a/golem_pcs/__init__.py b/golem_pcs/__init__.py
new file mode 100644
index 0000000..1fced20
--- /dev/null
+++ b/golem_pcs/__init__.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Youssef El Ouahby
+# Copyright 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 .
+
+from . import models
diff --git a/golem_pcs/__manifest__.py b/golem_pcs/__manifest__.py
new file mode 100644
index 0000000..b2cb7d5
--- /dev/null
+++ b/golem_pcs/__manifest__.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Youssef El Ouahby
+# Copyright 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 .
+
+{
+ 'name': 'GOLEM Professions and Socioprofessional Categories',
+ 'summary': 'GOLEM Professions and Socioprofessional Categories',
+ 'version': '10.0.0.2.0',
+ 'category': 'GOLEM',
+ 'author': 'Fabien Bourgeois, Youssef El ouahby',
+ 'license': 'AGPL-3',
+ 'application': False,
+ 'installable': True,
+ 'depends': ['golem_member'],
+ 'data': ['security/ir.model.access.csv',
+ 'data/golem_pcs_data.xml',
+ 'views/golem_member_views.xml',
+ 'views/res_partner_views.xml']
+}
diff --git a/golem_pcs/data/golem_pcs_data.xml b/golem_pcs/data/golem_pcs_data.xml
new file mode 100644
index 0000000..dd63638
--- /dev/null
+++ b/golem_pcs/data/golem_pcs_data.xml
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+
+
+
+ Agriculteurs exploitants
+ 01
+
+
+ Artisans, commerçants et chefs d’entreprise
+ 02
+
+
+ Cadres et professions intellectuelles supérieures
+ 03
+
+
+ Professions intermédiaires
+ 04
+
+
+ Employés
+ 05
+
+
+ Ouvriers
+ 06
+
+
+ Retraités
+ 07
+
+
+ Autres personnes sans activité professionnelle
+ 08
+
+
+
+
+ Agriculteurs sur petite exploitation
+ 11
+
+
+
+ Agriculteurs sur moyenne exploitation
+ 12
+
+
+
+ Agriculteurs sur grande exploitation
+ 13
+
+
+
+
+ Artisan
+ 21
+
+
+
+ Commerçant et assimilés
+ 22
+
+
+
+ Chefs d’entreprise de 10 salariés ou plus
+ 23
+
+
+
+
+ Professions libérales
+ 31
+
+
+
+ Cadres de la fonction publique
+ 33
+
+
+
+ Professeurs, professions scientifiques
+ 34
+
+
+
+ Professions de l’information, des arts et des spectacles
+ 35
+
+
+
+ Cadres administratifs et commerciaux d’entreprise
+ 37
+
+
+
+ Ingénieurs et cadres techniques d’entreprise
+ 38
+
+
+
+
+ Professeurs des écoles, instituteurs et assimilés
+ 42
+
+
+
+ Professions intermédiaires de la santé et du travail social
+ 43
+
+
+
+ Clergé, religieux
+ 44
+
+
+
+ Professions intermédiaires administratives de la fonction publique
+ 45
+
+
+
+ Professions intermédiaires administratives et commerciales des entreprises
+ 46
+
+
+
+ Techniciens
+ 47
+
+
+
+ Contremaîtres, agents de maîtrise
+ 48
+
+
+
+
+ Employés civils et agents de service de la fonction publique
+ 52
+
+
+
+ Policiers et militaires
+ 53
+
+
+
+ Employés administratifs d’entreprise
+ 54
+
+
+
+ Employés de commerce
+ 55
+
+
+
+ Personnels des services directs aux particuliers
+ 56
+
+
+
+
+ Ouvriers qualifiés de type industriel
+ 62
+
+
+
+ Ouvriers qualifiés de type artisanal
+ 63
+
+
+
+ Chauffeurs
+ 64
+
+
+
+ Ouvriers qualifiés de la manutention, du magasinage et du transport
+ 65
+
+
+
+ Ouvriers non qualifiés de type industriel
+ 67
+
+
+
+ Ouvriers non qualifiés de type artisanal
+ 68
+
+
+
+ Ouvriers agricoles
+ 69
+
+
+
+
+ Anciens agriculteurs exploitants
+ 71
+
+
+
+ Anciens artisans, commerçants et chefs d’entreprise
+ 72
+
+
+
+ Anciens cadres
+ 74
+
+
+
+ Anciennes professions intermédiaires
+ 75
+
+
+
+ Anciens employés
+ 77
+
+
+
+ Anciens ouvriers
+ 78
+
+
+
+
+ Chômeurs n’ayant jamais travaillé
+ 81
+
+
+
+ Militaires du contingent
+ 83
+
+
+
+ Élèves, étudiants
+ 84
+
+
+
+ Personnes diverses sans activité professionnelle de moins de 60 ans (sauf retraités)
+ 85
+
+
+
+ Personnes diverses sans activité professionnelle de 60 ans et plus (sauf retraités)
+ 86
+
+
+
+
diff --git a/golem_pcs/i18n/fr.po b/golem_pcs/i18n/fr.po
new file mode 100644
index 0000000..2813962
--- /dev/null
+++ b/golem_pcs/i18n/fr.po
@@ -0,0 +1,106 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * golem_pcs
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-09-24 14:16+0000\n"
+"PO-Revision-Date: 2018-09-24 16:17+0200\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: golem_pcs
+#: model:ir.ui.view,arch_db:golem_pcs.golem_member_search_inherit_golem_pcs
+msgid "By PCS"
+msgstr "Par PCS"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_code
+msgid "Code"
+msgstr "Code"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_create_uid
+msgid "Created by"
+msgstr "Créé par"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_create_date
+msgid "Created on"
+msgstr "Créé le"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_display_name
+msgid "Display Name"
+msgstr "Nom affiché"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_full_name
+msgid "Full name"
+msgstr "Nom"
+
+#. module: golem_pcs
+#: model:ir.model,name:golem_pcs.model_golem_member
+msgid "GOLEM Member"
+msgstr "Adhérent"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_id
+msgid "ID"
+msgstr "ID"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs___last_update
+msgid "Last Modified on"
+msgstr "Dernière Modification le"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_write_uid
+msgid "Last Updated by"
+msgstr "Dernière mise à jour par"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_write_date
+msgid "Last Updated on"
+msgstr "Dernière mise à jour le"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_name
+msgid "Name"
+msgstr "Nom"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_member_pcs_id
+#: model:ir.model.fields,field_description:golem_pcs.field_res_partner_pcs_id
+#: model:ir.model.fields,field_description:golem_pcs.field_res_users_pcs_id
+msgid "PCS"
+msgstr "PCS"
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_parent_id
+msgid "Parent id"
+msgstr "Parent"
+
+#. module: golem_pcs
+#: model:ir.model,name:golem_pcs.model_res_partner
+msgid "Partner"
+msgstr "Partenaire"
+
+#. module: golem_pcs
+#: model:ir.model.fields,help:golem_pcs.field_golem_member_pcs_id
+#: model:ir.model.fields,help:golem_pcs.field_res_partner_pcs_id
+#: model:ir.model.fields,help:golem_pcs.field_res_users_pcs_id
+msgid "Professions and Socioprofessional Categories"
+msgstr "Professions et catégories socioprofessionnelles"
+
+#. module: golem_pcs
+#: model:ir.model,name:golem_pcs.model_golem_pcs
+msgid "golem.pcs"
+msgstr "golem.pcs"
+
diff --git a/golem_pcs/i18n/golem_pcs.pot b/golem_pcs/i18n/golem_pcs.pot
new file mode 100644
index 0000000..dbaa2af
--- /dev/null
+++ b/golem_pcs/i18n/golem_pcs.pot
@@ -0,0 +1,106 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * golem_pcs
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-09-24 14:16+0000\n"
+"PO-Revision-Date: 2018-09-24 14:16+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: golem_pcs
+#: model:ir.ui.view,arch_db:golem_pcs.golem_member_search_inherit_golem_pcs
+msgid "By PCS"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_code
+msgid "Code"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_create_date
+msgid "Created on"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_full_name
+msgid "Full name"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model,name:golem_pcs.model_golem_member
+msgid "GOLEM Member"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_id
+msgid "ID"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs___last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_name
+msgid "Name"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_member_pcs_id
+#: model:ir.model.fields,field_description:golem_pcs.field_res_partner_pcs_id
+#: model:ir.model.fields,field_description:golem_pcs.field_res_users_pcs_id
+msgid "PCS"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,field_description:golem_pcs.field_golem_pcs_parent_id
+msgid "Parent id"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model,name:golem_pcs.model_res_partner
+msgid "Partner"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model.fields,help:golem_pcs.field_golem_member_pcs_id
+#: model:ir.model.fields,help:golem_pcs.field_res_partner_pcs_id
+#: model:ir.model.fields,help:golem_pcs.field_res_users_pcs_id
+msgid "Professions and Socioprofessional Categories"
+msgstr ""
+
+#. module: golem_pcs
+#: model:ir.model,name:golem_pcs.model_golem_pcs
+msgid "golem.pcs"
+msgstr ""
+
diff --git a/golem_pcs/models/__init__.py b/golem_pcs/models/__init__.py
new file mode 100644
index 0000000..1e7b183
--- /dev/null
+++ b/golem_pcs/models/__init__.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Youssef El Ouahby
+# Copyright 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 .
+
+from . import res_partner, golem_pcs
diff --git a/golem_pcs/models/golem_pcs.py b/golem_pcs/models/golem_pcs.py
new file mode 100644
index 0000000..82a9960
--- /dev/null
+++ b/golem_pcs/models/golem_pcs.py
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Youssef El Ouahby
+# Copyright 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 PCS """
+
+from odoo import models, fields, api
+
+class GolemPCS(models.Model):
+ """ GOLEM PCS """
+ _name = 'golem.pcs'
+ _rec_name = 'full_name'
+ _order = 'code asc'
+
+ full_name = fields.Char(compute='_compute_full_name', store=True, index=True)
+ name = fields.Char(required=True)
+ code = fields.Char()
+ parent_id = fields.Many2one('golem.pcs', ondelete='cascade')
+
+ @api.depends('name', 'code')
+ def _compute_full_name(self):
+ """ Computes full name """
+ for pcs in self:
+ pcs.full_name = u'%s - %s' % (pcs.code, pcs.name) if pcs.code else pcs.name
diff --git a/golem_pcs/models/res_partner.py b/golem_pcs/models/res_partner.py
new file mode 100644
index 0000000..17a6dc4
--- /dev/null
+++ b/golem_pcs/models/res_partner.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Youssef El Ouahby
+# Copyright 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 .
+
+""" Partner adaptations """
+
+from odoo import models, fields
+
+class ResPartner(models.Model):
+ """ Partner extention """
+ _inherit = 'res.partner'
+
+ pcs_id = fields.Many2one('golem.pcs', string='PCS', index=True,
+ help='Professions and Socioprofessional Categories')
diff --git a/golem_pcs/security/ir.model.access.csv b/golem_pcs/security/ir.model.access.csv
new file mode 100644
index 0000000..298dc4d
--- /dev/null
+++ b/golem_pcs/security/ir.model.access.csv
@@ -0,0 +1,4 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_golem_pcs_user,Access GOLEM PCS User,model_golem_pcs,base.group_user,1,0,0,0
+access_golem_pcs_golem_user,Access GOLEM PCS GOLEM User,model_golem_pcs,golem_base.group_golem_user,1,0,0,0
+access_golem_pcs_golem_manager,Access GOLEM PCS GOLEM Manager,model_golem_pcs,golem_base.group_golem_manager,1,1,1,1
diff --git a/golem_pcs/views/golem_member_views.xml b/golem_pcs/views/golem_member_views.xml
new file mode 100644
index 0000000..b8bddf5
--- /dev/null
+++ b/golem_pcs/views/golem_member_views.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+ GOLEM Member Form PCS adaptations
+ golem.member
+
+
+
+
+
+
+
+
+
+
+ GOLEM Member Search PCS adaptations
+ golem.member
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/golem_pcs/views/res_partner_views.xml b/golem_pcs/views/res_partner_views.xml
new file mode 100644
index 0000000..6bfa282
--- /dev/null
+++ b/golem_pcs/views/res_partner_views.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+ Partner Form PCS adaptations
+ res.partner
+
+
+
+
+
+
+
+
+
+
+ Partner Search PCS adaptations
+ res.partner
+
+
+
+
+
+
+
+
+