summaryrefslogtreecommitdiff
path: root/addons/website_event_questions/models/event_registration.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website_event_questions/models/event_registration.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_event_questions/models/event_registration.py')
-rw-r--r--addons/website_event_questions/models/event_registration.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/addons/website_event_questions/models/event_registration.py b/addons/website_event_questions/models/event_registration.py
new file mode 100644
index 00000000..72683374
--- /dev/null
+++ b/addons/website_event_questions/models/event_registration.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import fields, models
+
+
+class EventRegistration(models.Model):
+ """ Store answers on attendees. """
+ _inherit = 'event.registration'
+
+ registration_answer_ids = fields.One2many('event.registration.answer', 'registration_id', string='Attendee Answers')
+
+class EventRegistrationAnswer(models.Model):
+ """ Represents the user input answer for a single event.question """
+ _name = 'event.registration.answer'
+ _description = 'Event Registration Answer'
+
+ question_id = fields.Many2one(
+ 'event.question', ondelete='restrict', required=True,
+ domain="[('event_id', '=', event_id)]")
+ registration_id = fields.Many2one('event.registration', required=True, ondelete='cascade')
+ partner_id = fields.Many2one('res.partner', related='registration_id.partner_id')
+ event_id = fields.Many2one('event.event', related='registration_id.event_id')
+ question_type = fields.Selection(related='question_id.question_type')
+ value_answer_id = fields.Many2one('event.question.answer', string="Suggested answer")
+ value_text_box = fields.Text('Text answer')
+
+ _sql_constraints = [
+ ('value_check', "CHECK(value_answer_id IS NOT NULL OR COALESCE(value_text_box, '') <> '')", "There must be a suggested value or a text value.")
+ ]