summaryrefslogtreecommitdiff
path: root/addons/website_event_questions
diff options
context:
space:
mode:
authorstd-odoo <std@odoo.com>2020-08-13 12:38:02 +0000
committerThibault Delavallée <tde@odoo.com>2020-08-17 16:29:49 +0000
commit3dfb3c1e747bf8b78a20acff314212eca2f22998 (patch)
tree974d9423864b45edc0ac8b575983aecd777eb825 /addons/website_event_questions
parentd3b18979bfb5496fa4370fdf03a806c469127730 (diff)
[FIX] website_event(_*): improve user flow and experience from frontend
PURPOSE Provide some fixes after internal test deployment of event online features. Notably: user registration flow, various fixes in templates. Also add some unit tests to avoid regressions while working on event features. LINKS Task ID-2169118 odoo/odoo#55967 odoo/enterprise#12438 X-original-commit: e66684b23eebaadc3df7b908427d3d7a83d4f0a0
Diffstat (limited to 'addons/website_event_questions')
-rw-r--r--addons/website_event_questions/__manifest__.py1
-rw-r--r--addons/website_event_questions/controllers/main.py6
-rw-r--r--addons/website_event_questions/security/security.xml46
3 files changed, 50 insertions, 3 deletions
diff --git a/addons/website_event_questions/__manifest__.py b/addons/website_event_questions/__manifest__.py
index c0c913a28ee..10bd9acb673 100644
--- a/addons/website_event_questions/__manifest__.py
+++ b/addons/website_event_questions/__manifest__.py
@@ -13,6 +13,7 @@
'views/event_registration_views.xml',
'views/event_question_views.xml',
'views/event_templates.xml',
+ 'security/security.xml',
'security/ir.model.access.csv',
],
'demo': [
diff --git a/addons/website_event_questions/controllers/main.py b/addons/website_event_questions/controllers/main.py
index fdcc1f66313..885866ab1b0 100644
--- a/addons/website_event_questions/controllers/main.py
+++ b/addons/website_event_questions/controllers/main.py
@@ -23,14 +23,14 @@ class WebsiteEvent(WebsiteEventController):
for key, value in form_details.items():
if 'question_answer' in key and value:
dummy, registration_index, question_id = key.split('-')
- question = request.env['event.question'].browse(int(question_id))
+ question_sudo = request.env['event.question'].browse(int(question_id))
answer_values = None
- if question.question_type == 'simple_choice':
+ if question_sudo.question_type == 'simple_choice':
answer_values = {
'question_id': int(question_id),
'value_answer_id': int(value)
}
- elif question.question_type == 'text_box':
+ elif question_sudo.question_type == 'text_box':
answer_values = {
'question_id': int(question_id),
'value_text_box': value
diff --git a/addons/website_event_questions/security/security.xml b/addons/website_event_questions/security/security.xml
new file mode 100644
index 00000000000..8c44829ca6b
--- /dev/null
+++ b/addons/website_event_questions/security/security.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo><data noupdate="1">
+
+ <record id="ir_rule_event_question_published" model="ir.rule">
+ <field name="name">Event Question: not event groups: event published read</field>
+ <field name="model_id" ref="website_event_questions.model_event_question"/>
+ <field name="domain_force">[('event_id.is_published', '=', True)]</field>
+ <field name="groups" eval="[(4, ref('base.group_public')), (4, ref('base.group_portal')), (4, ref('base.group_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ </record>
+ <record id="ir_rule_event_question_event_user" model="ir.rule">
+ <field name="name">Event Question: event user: read all</field>
+ <field name="model_id" ref="website_event_questions.model_event_question"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('event.group_event_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ </record>
+
+ <record id="ir_rule_event_question_answer_published" model="ir.rule">
+ <field name="name">Event Question Answer: not event groups: event published read</field>
+ <field name="model_id" ref="website_event_questions.model_event_question_answer"/>
+ <field name="domain_force">[('question_id.event_id.is_published', '=', True)]</field>
+ <field name="groups" eval="[(4, ref('base.group_public')), (4, ref('base.group_portal')), (4, ref('base.group_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ </record>
+ <record id="ir_rule_event_question_answer_event_user" model="ir.rule">
+ <field name="name">Event Question Answer: event user: read all</field>
+ <field name="model_id" ref="website_event_questions.model_event_question_answer"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('event.group_event_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ </record>
+
+</data></odoo>