Skip to content

Commit 97549be

Browse files
committed
[ADD] event_ticket_registration_limit: add ticket limits per registration
- add a new field to `event.event.ticket` as `max_tickets_per_registration` to limit the number of tickets per registration. - alter `event.event_event_ticket_view_tree_from_event` and `website.website_event.modal_ticket_registration` views to add the field task-4504632
1 parent 4c650f3 commit 97549be

File tree

6 files changed

+60
-0
lines changed

6 files changed

+60
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
'name': 'Event Ticket Registration Limit',
3+
'description': 'adds a feature to restrict the maximum number of tickets per registration',
4+
'category': 'Event/Event Ticket',
5+
'depends': ['base', 'event', 'website_event'],
6+
7+
'version': '1.0',
8+
'author': 'Kishan B. Gajera',
9+
10+
'installable': True,
11+
'application': True,
12+
13+
'license': 'LGPL-3',
14+
15+
'data': [
16+
'views/event_ticket_view.xml',
17+
'views/modal_ticket_registration_web_view.xml',
18+
]
19+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import event_ticket
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from odoo import models, fields
2+
3+
class EventTicket(models.Model):
4+
_inherit = "event.event.ticket"
5+
6+
max_tickets_per_registration = fields.Integer(string="Max Tickets per Registration", help="Define the maximum number of tickets that can be booked per registration.")
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<odoo>
3+
<record id="event_event_ticket_view_tree_from_event_inherited" model="ir.ui.view">
4+
<field name="name">event.event.ticket.view.list.inherit</field>
5+
<field name="model">event.event.ticket</field>
6+
<field name="inherit_id" ref="event.event_event_ticket_view_tree_from_event"/>
7+
<field name="arch" type="xml">
8+
<xpath expr="//list" position="inside">
9+
<field name="max_tickets_per_registration" string="Max Tickets/Registration" />
10+
</xpath>
11+
</field>
12+
</record>
13+
</odoo>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<odoo>
3+
<template id="modal_ticket_registration" name="modal_ticket_registration" inherit_id="website_event.modal_ticket_registration">
4+
<xpath expr="//div//t[@t-set='seats_max']" position="before">
5+
<t t-set="seats_max_registration" t-value="(ticket.max_tickets_per_registration + 1) if ticket.max_tickets_per_registration else 10"/>
6+
</xpath>
7+
8+
<xpath expr="//div//t[@t-set='seats_max']" position="attributes">
9+
<attribute name="t-value">min(seats_max_ticket, seats_max_event, seats_max_registration)</attribute>
10+
</xpath>
11+
12+
<xpath expr="//div[hasclass('o_wevent_registration_single_select')]//t[@t-set='seats_max']" position="before">
13+
<t t-set="seats_max_registration" t-value="(tickets.max_tickets_per_registration + 1) if tickets.max_tickets_per_registration else 10"/>
14+
</xpath>
15+
16+
<xpath expr="//div[hasclass('o_wevent_registration_single_select')]//t[@t-set='seats_max']" position="attributes">
17+
<attribute name="t-value">min(seats_max_ticket, seats_max_event, seats_max_registration)</attribute>
18+
</xpath>
19+
</template>
20+
</odoo>

0 commit comments

Comments
 (0)