From 606ce24579add706c22b9414b8a76553d599887d Mon Sep 17 00:00:00 2001 From: kraj-odoo Date: Mon, 22 Sep 2025 10:14:27 +0530 Subject: [PATCH 1/2] [ADD] event_registration_limit: added the new module event_registration_limit -> the event_registration_limit module makes the ticket per registration limited. -> added the default ticket per registration field where the ticket per registration value can be added. -> the default ticket per registration value will be 9 if there is no value for the field. --- event_registration_limit/__init__.py | 1 + event_registration_limit/__manifest__.py | 12 +++++ event_registration_limit/models/__init__.py | 1 + .../models/event_event.py | 22 ++++++++ .../views/event_event_views.xml | 15 ++++++ .../views/event_registration_views.xml | 50 +++++++++++++++++++ 6 files changed, 101 insertions(+) create mode 100644 event_registration_limit/__init__.py create mode 100644 event_registration_limit/__manifest__.py create mode 100644 event_registration_limit/models/__init__.py create mode 100644 event_registration_limit/models/event_event.py create mode 100644 event_registration_limit/views/event_event_views.xml create mode 100644 event_registration_limit/views/event_registration_views.xml diff --git a/event_registration_limit/__init__.py b/event_registration_limit/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/event_registration_limit/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/event_registration_limit/__manifest__.py b/event_registration_limit/__manifest__.py new file mode 100644 index 00000000000..c3b64b1dd58 --- /dev/null +++ b/event_registration_limit/__manifest__.py @@ -0,0 +1,12 @@ +{ + 'name': "Event Registration limit", + 'category': "Marketing/Events", + 'summary': "Module to Limit the Number of Tickets Per Registration", + 'depends': ['event' , 'website_event'], + 'data': [ + 'views/event_event_views.xml', + 'views/event_registration_views.xml' + ], + 'installable': True, + 'license': "AGPL-3", +} diff --git a/event_registration_limit/models/__init__.py b/event_registration_limit/models/__init__.py new file mode 100644 index 00000000000..b6bc3899716 --- /dev/null +++ b/event_registration_limit/models/__init__.py @@ -0,0 +1 @@ +from . import event_event diff --git a/event_registration_limit/models/event_event.py b/event_registration_limit/models/event_event.py new file mode 100644 index 00000000000..ba73f81e9e1 --- /dev/null +++ b/event_registration_limit/models/event_event.py @@ -0,0 +1,22 @@ + +from odoo import api, fields, models +from odoo.exceptions import ValidationError + + +class Event(models.Model): + _inherit = "event.event" + + # Event-level limit for max tickets per registration + default_tickets_per_registration = fields.Integer( + string="Default Tickets per Registration", + help="Maximum number of tickets that can be booked in a single registration for this event.", + default=9 + ) + + @api.constrains("default_tickets_per_registration") + def _check_ticket_limit(self): + for event in self: + if event.default_tickets_per_registration < 0: + raise ValidationError( + "Default tickets per registration must be greater than 0." + ) diff --git a/event_registration_limit/views/event_event_views.xml b/event_registration_limit/views/event_event_views.xml new file mode 100644 index 00000000000..9b0dd255c2b --- /dev/null +++ b/event_registration_limit/views/event_event_views.xml @@ -0,0 +1,15 @@ + + + + + event.event.view.form.from.event.inherit + event.event + + + + + + + + + diff --git a/event_registration_limit/views/event_registration_views.xml b/event_registration_limit/views/event_registration_views.xml new file mode 100644 index 00000000000..daeac7ff33e --- /dev/null +++ b/event_registration_limit/views/event_registration_views.xml @@ -0,0 +1,50 @@ + + + + + + From ccdff18b7706e76ce2f9fadb4977adff9a3e0db1 Mon Sep 17 00:00:00 2001 From: kraj-odoo Date: Mon, 22 Sep 2025 10:47:49 +0530 Subject: [PATCH 2/2] [FIX] event_registration_limit: Removed unwanted whitespace -> removed wnwanted whitespace for the event_registration_limit module --- event_registration_limit/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/event_registration_limit/__manifest__.py b/event_registration_limit/__manifest__.py index c3b64b1dd58..3c77239e1be 100644 --- a/event_registration_limit/__manifest__.py +++ b/event_registration_limit/__manifest__.py @@ -2,7 +2,7 @@ 'name': "Event Registration limit", 'category': "Marketing/Events", 'summary': "Module to Limit the Number of Tickets Per Registration", - 'depends': ['event' , 'website_event'], + 'depends': ['event', 'website_event'], 'data': [ 'views/event_event_views.xml', 'views/event_registration_views.xml'