osem-fcy/app/controllers/physical_tickets_controller.rb

33 lines
1.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2017-09-26 21:43:18 +05:30
class PhysicalTicketsController < ApplicationController
before_action :authenticate_user!
load_resource :conference, find_by: :short_title
load_and_authorize_resource find_by: :token
authorize_resource :conference_registrations, class: Registration
def index
@physical_tickets = current_user.physical_tickets.by_conference(@conference)
2020-07-13 04:21:31 -07:00
@has_registration_ticket = current_user.ticket_purchases.where(ticket: @conference.registration_tickets, paid: true).any?
@unpaid_ticket_purchases = current_user.ticket_purchases.by_conference(@conference).unpaid
2020-06-18 12:02:59 -07:00
@user = current_user
end
def show
@file_name = "ticket_for_#{@conference.short_title}.pdf"
@user = @physical_ticket.user
@ticket_layout = @conference.ticket_layout.to_sym
@qrcode_image = RQRCode::QRCode.new(@physical_ticket.token).as_png(size: 180, border_modules: 0)
2017-07-15 03:37:32 +05:30
respond_to do |format|
format.html
format.pdf do
pdf = TicketPdf.new(@conference, @user, @physical_ticket, @ticket_layout, @file_name)
send_data pdf.render,
2018-11-13 18:01:49 -08:00
filename: @file_name,
type: 'application/pdf',
2017-07-15 03:37:32 +05:30
disposition: 'attachment'
end
end
end
end