diff --git a/easy_my_coop/__openerp__.py b/easy_my_coop/__openerp__.py
index af28c4c..e6b1e12 100644
--- a/easy_my_coop/__openerp__.py
+++ b/easy_my_coop/__openerp__.py
@@ -20,7 +20,7 @@
##############################################################################
{
"name": "Easy My Coop",
- "version": "9.0.1.2.0",
+ "version": "9.0.1.3.0",
"depends": ["base",
"sale",
"purchase",
diff --git a/easy_my_coop/controllers/main.py b/easy_my_coop/controllers/main.py
index 4e08da0..e5cac2b 100644
--- a/easy_my_coop/controllers/main.py
+++ b/easy_my_coop/controllers/main.py
@@ -46,6 +46,16 @@ class WebsiteSubscription(http.Controller):
values[field] = kwargs.pop(field)
values.update(kwargs=kwargs.items())
+ # Configuration
+ cmp = request.env['res.company']._company_default_get()
+ values.update({
+ 'display_data_policy': cmp.display_data_policy_approval,
+ 'data_policy_required': cmp.data_policy_approval_required,
+ 'data_policy_text': cmp.data_policy_approval_text,
+ 'display_internal_rules': cmp.display_internal_rules_approval,
+ 'internal_rules_required': cmp.internal_rules_approval_required,
+ 'internal_rules_text': cmp.internal_rules_approval_text,
+ })
return request.website.render("easy_my_coop.becomecooperator", values)
@http.route(['/page/become_company_cooperator',
@@ -63,6 +73,16 @@ class WebsiteSubscription(http.Controller):
if kwargs.get(field):
values[field] = kwargs.pop(field)
values.update(kwargs=kwargs.items())
+ # Configuration
+ cmp = request.env['res.company']._company_default_get()
+ values.update({
+ 'display_data_policy': cmp.display_data_policy_approval,
+ 'data_policy_required': cmp.data_policy_approval_required,
+ 'data_policy_text': cmp.data_policy_approval_text,
+ 'display_internal_rules': cmp.display_internal_rules_approval,
+ 'internal_rules_required': cmp.internal_rules_approval_required,
+ 'internal_rules_text': cmp.internal_rules_approval_text,
+ })
return request.website.render("easy_my_coop.becomecompanycooperator", values)
def preRenderThanks(self, values, kwargs):
diff --git a/easy_my_coop/models/company.py b/easy_my_coop/models/company.py
index 95c8db3..4663aca 100644
--- a/easy_my_coop/models/company.py
+++ b/easy_my_coop/models/company.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from openerp import fields, models
+from openerp import api, fields, models
class ResCompany(models.Model):
@@ -44,3 +44,35 @@ class ResCompany(models.Model):
bottom_logo2 = fields.Binary(string="Bottom logo 2")
logo_url = fields.Char(string="logo url",
compute="_get_base_logo")
+ display_data_policy_approval = fields.Boolean(
+ help="Choose to display a data policy checkbox on the cooperator"
+ " website form."
+ )
+ data_policy_approval_required = fields.Boolean(
+ string="Is data policy approval required?"
+ )
+ data_policy_approval_text = fields.Html(
+ translate=True,
+ help="Text to display aside the checkbox to approve data policy."
+ )
+ display_internal_rules_approval = fields.Boolean(
+ help="Choose to display an internal rules checkbox on the"
+ " cooperator website form."
+ )
+ internal_rules_approval_required = fields.Boolean(
+ string="Is internal rules approval required?"
+ )
+ internal_rules_approval_text = fields.Html(
+ translate=True,
+ help="Text to display aside the checkbox to approve internal rules."
+ )
+
+ @api.onchange('data_policy_approval_required')
+ def onchange_data_policy_approval_required(self):
+ if self.data_policy_approval_required:
+ self.display_data_policy_approval = True
+
+ @api.onchange('internal_rules_approval_required')
+ def onchange_internal_rules_approval_required(self):
+ if self.internal_rules_approval_required:
+ self.display_internal_rules_approval = True
diff --git a/easy_my_coop/models/coop.py b/easy_my_coop/models/coop.py
index 636b1e5..62b997a 100644
--- a/easy_my_coop/models/coop.py
+++ b/easy_my_coop/models/coop.py
@@ -16,8 +16,6 @@ _REQUIRED = ['email',
'city',
'iban',
'no_registre',
- 'data_policy_approved',
- 'internal_rules_approved',
'gender'] # Could be improved including required from model
@@ -32,7 +30,13 @@ class subscription_request(models.Model):
_description = 'Subscription Request'
def get_required_field(self):
- return _REQUIRED
+ required_fields = _REQUIRED
+ company = self.env['res.company']._company_default_get()
+ if company.data_policy_approval_required:
+ required_fields.append('data_policy_approved')
+ if company.internal_rules_approval_required:
+ required_fields.append('internal_rules_approved')
+ return required_fields
@api.model
def create(self, vals):
@@ -334,12 +338,10 @@ class subscription_request(models.Model):
data_policy_approved = fields.Boolean(
string='Data Policy Approved',
default=False,
- # required=True,
)
internal_rules_approved = fields.Boolean(
string='Approved Internal Rules',
default=False,
- # required=True,
)
_order = "id desc"
diff --git a/easy_my_coop/view/res_company_view.xml b/easy_my_coop/view/res_company_view.xml
index 3bfdd48..4eee70a 100644
--- a/easy_my_coop/view/res_company_view.xml
+++ b/easy_my_coop/view/res_company_view.xml
@@ -21,9 +21,15 @@
-