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 @@ + + + + + + - \ No newline at end of file + diff --git a/easy_my_coop/view/subscription_template.xml b/easy_my_coop/view/subscription_template.xml index 9783e73..16842ac 100644 --- a/easy_my_coop/view/subscription_template.xml +++ b/easy_my_coop/view/subscription_template.xml @@ -240,31 +240,33 @@
-
+
-
- -
-
- +
+
+ +
-
+
-
- -
-
- +
+
+ +
@@ -537,31 +539,33 @@
-
+
-
- -
-
- +
+
+ +
-
+
-
- -
-
- +
+
+ +
@@ -618,15 +622,4 @@ - - - - -