File tree Expand file tree Collapse file tree 4 files changed +11
-6
lines changed Expand file tree Collapse file tree 4 files changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -304,12 +304,10 @@ def ticket_attendee_authorized(order_identifier):
304304 if current_user :
305305 try :
306306 order = Order .query .filter_by (identifier = order_identifier ).first ()
307- user_id = order .user .id
308- event_id = order .event .id
309307 except NoResultFound :
310308 return NotFoundError ({'source' : '' }, 'This ticket is not associated with any order' ).respond ()
311- if current_user .id == user_id or current_user . is_organizer ( event_id ):
312- key = UPLOAD_PATHS ['pdf' ]['ticket_attendee ' ].format (identifier = order_identifier )
309+ if current_user .can_download_tickets ( order ):
310+ key = UPLOAD_PATHS ['pdf' ]['tickets_all ' ].format (identifier = order_identifier )
313311 file_path = '../generated/tickets/{}/{}/' .format (key , generate_hash (key )) + order_identifier + '.pdf'
314312 try :
315313 return return_tickets (file_path , order_identifier )
Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ def create_pdf_tickets_for_holder(order):
5353 """
5454 if order .status == 'completed' or order .status == 'placed' :
5555 pdf = create_save_pdf (render_template ('pdf/ticket_purchaser.html' , order = order ),
56- UPLOAD_PATHS ['pdf' ]['ticket_attendee ' ],
56+ UPLOAD_PATHS ['pdf' ]['tickets_all ' ],
5757 dir_path = '/static/uploads/pdf/tickets/' , identifier = order .identifier , upload_dir = 'generated/tickets/' )
5858
5959 order .tickets_pdf_url = pdf
Original file line number Diff line number Diff line change 8080 },
8181 'pdf' : {
8282 'ticket_attendee' : 'attendees/tickets/pdf/{identifier}' ,
83- 'order' : 'orders/invoices/pdf/{identifier}'
83+ 'order' : 'orders/invoices/pdf/{identifier}' ,
84+ 'tickets_all' : 'orders/tickets/pdf/{identifier}'
8485 }
8586}
8687
Original file line number Diff line number Diff line change @@ -360,6 +360,12 @@ def first_access_panel(self):
360360 return False
361361 return perm .panel_name
362362
363+ def can_download_tickets (self , order ):
364+ permissible_users = [holder .id for holder in order .ticket_holders ] + [order .user .id ]
365+ if self .is_staff or self .is_organizer (order .event .id ) or self .id in permissible_users :
366+ return True
367+ return False
368+
363369 def can_access_panel (self , panel_name ):
364370 """
365371 Check if user can access an Admin Panel
You can’t perform that action at this time.
0 commit comments