Skip to content

Commit f0672e6

Browse files
codedsunSuneet Srivastava
andauthored
fix: Filter attendees when ticket holder is not ticket purchaser (#7471)
Co-authored-by: Suneet Srivastava <[email protected]>
1 parent 280ac5b commit f0672e6

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

app/api/attendees.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ def query(self, view_kwargs):
142142
):
143143
raise ForbiddenError({'source': ''}, 'Access Forbidden')
144144
query_ = query_.join(Order).filter(Order.id == order.id)
145+
if current_user.id != order.user_id:
146+
query_ = query_.filter(TicketHolder.user == current_user)
145147

146148
if view_kwargs.get('ticket_id'):
147149
ticket = safe_query_kwargs(Ticket, view_kwargs, 'ticket_id')

app/api/schema/orders.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def initial_values(self, data):
107107
)
108108

109109
attendees = Relationship(
110-
attribute='ticket_holders',
110+
attribute='filtered_ticket_holders',
111111
self_view='v1.order_attendee',
112112
self_view_kwargs={'order_identifier': '<identifier>'},
113113
related_view='v1.attendee_list',

app/models/order.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import time
22

3+
from flask_jwt_extended import current_user
34
from sqlalchemy.sql import func
45

56
from app.api.helpers.db import get_new_identifier
@@ -154,6 +155,13 @@ def invoice_pdf_path(self) -> str:
154155
+ '.pdf'
155156
)
156157

158+
@property
159+
def filtered_ticket_holders(self):
160+
query_ = TicketHolder.query.filter_by(order_id=self.id, deleted_at=None)
161+
if current_user.id != self.user_id:
162+
query_ = query_.filter(TicketHolder.user == current_user)
163+
return query_.all()
164+
157165
@property
158166
def site_view_link(self) -> str:
159167
frontend_url = get_settings()['frontend_url']

0 commit comments

Comments
 (0)