summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Perais (lpe) <lpe@odoo.com>2018-06-25 10:55:32 +0200
committerLucas Perais (lpe) <lpe@odoo.com>2018-06-26 15:07:42 +0200
commitcda2ac9b71ef3ad6dc07e1c0418e560261503d33 (patch)
tree147e5969662a24c95512a78c2de55724e0e258c9
parentf6b3247c31ee176944a060afb911021d071d8a32 (diff)
[FIX] event, event_sale, website_event: allow portal access to own registrations
OPW 1859364
-rw-r--r--addons/event/security/event_security.xml7
-rw-r--r--addons/event/security/ir.model.access.csv3
-rw-r--r--addons/event_sale/__manifest__.py1
-rw-r--r--addons/event_sale/security/event_security.xml8
-rw-r--r--addons/website_event/controllers/main.py2
-rw-r--r--addons/website_event/views/event_templates.xml2
6 files changed, 20 insertions, 3 deletions
diff --git a/addons/event/security/event_security.xml b/addons/event/security/event_security.xml
index 110262928b6..7664085fc0e 100644
--- a/addons/event/security/event_security.xml
+++ b/addons/event/security/event_security.xml
@@ -41,5 +41,12 @@
]
</field>
</record>
+ <record model="ir.rule" id="event_registration_portal">
+ <field name="name">Event/Registration: Portal</field>
+ <field name="model_id" ref="model_event_registration"/>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ <field name="domain_force">['|', ('email', '=', user.partner_id.email), ('partner_id', '=', user.partner_id.id)]
+ </field>
+ </record>
</data>
</odoo>
diff --git a/addons/event/security/ir.model.access.csv b/addons/event/security/ir.model.access.csv
index ed7ec0e0cc6..8a49f01f191 100644
--- a/addons/event/security/ir.model.access.csv
+++ b/addons/event/security/ir.model.access.csv
@@ -5,7 +5,8 @@ access_event_event_portal,event.event.portal,model_event_event,,1,0,0,0
access_event_event_user,event.event.user,model_event_event,event.group_event_user,1,0,0,0
access_event_event_manager,event.event.manager,model_event_event,event.group_event_manager,1,1,1,1
access_event_registration,event.registration,model_event_registration,event.group_event_user,1,1,1,1
-access_event_registration_portal,event.registration,model_event_registration,,0,0,0,0
+access_event_registration_employee,event.registration,model_event_registration,base.group_user,1,0,0,0
+access_event_registration_portal,event.registration,model_event_registration,base.group_portal,1,0,0,0
access_event_mail,event.mail,model_event_mail,event.group_event_user,1,0,0,0
access_event_mail_manager,event.mail manager,model_event_mail,event.group_event_manager,1,1,1,1
access_event_mail_registration,event.mail.registration,model_event_mail_registration,event.group_event_user,1,0,0,0
diff --git a/addons/event_sale/__manifest__.py b/addons/event_sale/__manifest__.py
index 97140bd471f..2293b52dfb5 100644
--- a/addons/event_sale/__manifest__.py
+++ b/addons/event_sale/__manifest__.py
@@ -26,6 +26,7 @@ this event.
'data/event_sale_data.xml',
'report/event_event_templates.xml',
'security/ir.model.access.csv',
+ 'security/event_security.xml',
'wizard/event_edit_registration.xml',
],
'demo': ['data/event_demo.xml'],
diff --git a/addons/event_sale/security/event_security.xml b/addons/event_sale/security/event_security.xml
new file mode 100644
index 00000000000..a5bc0885b9b
--- /dev/null
+++ b/addons/event_sale/security/event_security.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data noupdate="0">
+ <record id="sales_team.group_sale_salesman" model="res.groups">
+ <field name="implied_ids" eval="[(4, ref('event.group_event_user'))]"/>
+ </record>
+ </data>
+</odoo>
diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py
index 7e4a9c227a6..a056829683b 100644
--- a/addons/website_event/controllers/main.py
+++ b/addons/website_event/controllers/main.py
@@ -173,7 +173,7 @@ class WebsiteEventController(http.Controller):
'event': event,
'main_object': event,
'range': range,
- 'registrable': event._is_event_registrable()
+ 'registrable': event.sudo()._is_event_registrable()
}
return request.render("website_event.event_description_full", values)
diff --git a/addons/website_event/views/event_templates.xml b/addons/website_event/views/event_templates.xml
index 9a04d4e7e57..0a64a7430ca 100644
--- a/addons/website_event/views/event_templates.xml
+++ b/addons/website_event/views/event_templates.xml
@@ -480,7 +480,7 @@
<t t-if="event.state != 'draft'" itemprop="availability" content="http://schema.org/Discontinued">
Event registration is closed.
</t>
- <t t-if="uid">
+ <t t-if="request.env.user.has_group('event.group_event_manager')">
<a t-attf-href="/web#id=#{event.id}&amp;view_type=form&amp;model=event.event">
<i class="fa fa-plus-circle"></i>
<em>Configure and Launch Event Registration</em>