diff options
| author | Thibault Francois <tfr@openerp.com> | 2021-02-24 13:38:40 +0000 |
|---|---|---|
| committer | Thibault Francois <tfr@openerp.com> | 2021-03-01 13:29:50 +0000 |
| commit | ebadf16c7c38ca52ec4c5ce871c2584aaa98b91d (patch) | |
| tree | b6ede9f47fe1e77e7f75b010e89da885d2bbc466 /addons | |
| parent | 72e96af8dc392796d4e45b96784e7ac50d660127 (diff) | |
[FIX] website_event: make allowed_field customizable
Problem
-------
Since
https://github.com/odoo/odoo/commit/d3b18979bfb5496fa4370fdf03a806c469127730,
when a visitor register for an event, the fields in the POST are checked against a list of allowed fields.
The list is hardcoded inside the method _process_attendees_form.
Solution
--------
Move this list in a specific method that can be easily overidden by
another module
closes odoo/odoo#66757
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/website_event/controllers/main.py | 2 | ||||
| -rw-r--r-- | addons/website_event/models/event_registration.py | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index e35d52f89bb..493c0515c75 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -320,7 +320,7 @@ class WebsiteEventController(http.Controller): :param form_details: posted data from frontend registration form, like {'1-name': 'r', '1-email': 'r@r.com', '1-phone': '', '1-event_ticket_id': '1'} """ - allowed_fields = {'name', 'phone', 'email', 'mobile', 'event_id', 'partner_id', 'event_ticket_id'} + allowed_fields = request.env['event.registration']._get_website_registration_allowed_fields() registration_fields = {key: v for key, v in request.env['event.registration']._fields.items() if key in allowed_fields} registrations = {} global_values = {} diff --git a/addons/website_event/models/event_registration.py b/addons/website_event/models/event_registration.py index 8b56c14f742..f62f206934f 100644 --- a/addons/website_event/models/event_registration.py +++ b/addons/website_event/models/event_registration.py @@ -9,3 +9,6 @@ class EventRegistration(models.Model): _inherit = ['event.registration'] visitor_id = fields.Many2one('website.visitor', string='Visitor', ondelete='set null') + + def _get_website_registration_allowed_fields(self): + return {'name', 'phone', 'email', 'mobile', 'event_id', 'partner_id', 'event_ticket_id'} |
