From f6710e3f52f1e7e156a356e0c4c1a4241b660cac Mon Sep 17 00:00:00 2001 From: Siddhant Bajaj Date: Sat, 3 Jun 2017 13:23:01 +0530 Subject: [PATCH 1/7] Added Export Ticket button in the admin registration page --- app/views/admin/registrations/index.html.haml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/admin/registrations/index.html.haml b/app/views/admin/registrations/index.html.haml index 0e7035c0..7e366621 100644 --- a/app/views/admin/registrations/index.html.haml +++ b/app/views/admin/registrations/index.html.haml @@ -70,6 +70,7 @@ method: :get, class: 'btn btn-primary' = link_to 'Delete', admin_conference_registration_path(@conference.short_title, registration), method: :delete, class: 'btn btn-danger', data: { confirm: "Do you really want to delete the Registration for #{registration.name}?" } + = link_to 'Export Ticket', conference_conference_registration_path(@conference.short_title, format: :pdf), class: 'btn btn-success' - @registrations.each_with_index do |registration, index| .questions{class: "question#{index}", style: 'display:none;'} = render partial: 'questions', locals: { registration: registration } From 00c3c9da3a261cd0b01ebcec88282567ccd60b1f Mon Sep 17 00:00:00 2001 From: Siddhant Bajaj Date: Sat, 3 Jun 2017 13:23:51 +0530 Subject: [PATCH 2/7] Added Download Ticket button in the user registration show page --- app/views/conference_registrations/show.html.haml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml index c510a263..de98356f 100644 --- a/app/views/conference_registrations/show.html.haml +++ b/app/views/conference_registrations/show.html.haml @@ -104,6 +104,7 @@ = humanized_money tickets.first.price %br - if @tickets.any? + = link_to 'Download Ticket', conference_conference_registration_path(@conference.short_title, format: :pdf), class: 'button btn btn-default btn-info' = link_to 'Get more tickets', conference_tickets_path(@conference.short_title), class: "btn btn-default" - else You haven't bought any tickets. From 4a320c882318ed7739a5e1875b576c596a895f4a Mon Sep 17 00:00:00 2001 From: Siddhant Bajaj Date: Sat, 3 Jun 2017 13:27:20 +0530 Subject: [PATCH 3/7] Added show.pdf.prawn document under conference_registrations views --- .../conference_registrations/show.pdf.prawn | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 app/views/conference_registrations/show.pdf.prawn diff --git a/app/views/conference_registrations/show.pdf.prawn b/app/views/conference_registrations/show.pdf.prawn new file mode 100644 index 00000000..6af70ba5 --- /dev/null +++ b/app/views/conference_registrations/show.pdf.prawn @@ -0,0 +1,34 @@ +prawn_document(force_download: true, filename: "#{@file_name}.pdf", page_layout: :landscape) do |pdf| + # events_array = [] + # header_array = ['Event ID', + # 'Title', + # 'Abstract', + # 'Start time', + # 'Submitter', + # 'Speaker', + # 'Event Type', + # 'Track', + # 'Difficulty Level', + # 'Room', + # 'State' + # ] + # events_array << header_array + # @events.each do |event| + # row = [] + # row << event.id + # row << event.title + # row << event.abstract + # row << (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '') + # row << event.submitter.name + # row << event.speaker_names + # row << event.event_type.title + # row << (event.track.present? ? event.track.name : '') + # row << (event.difficulty_level.present? ? event.difficulty_level.title : '') + # row << (event.room.present? ? event.room.name : '') + # row << event.state + # events_array << row + # end + + # pdf.text "#{@conference.short_title} Events", font_size: 25, align: :center + # pdf.table events_array, header: true, cell_style: {size: 8, border_width: 1} +end \ No newline at end of file From 2e03bb64ab17fd51cea0125da9bfec1526813ed6 Mon Sep 17 00:00:00 2001 From: Siddhant Bajaj Date: Sat, 3 Jun 2017 13:29:11 +0530 Subject: [PATCH 4/7] Modified conference_registrations_controller show method --- app/controllers/conference_registrations_controller.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/controllers/conference_registrations_controller.rb b/app/controllers/conference_registrations_controller.rb index c229440e..48500baf 100644 --- a/app/controllers/conference_registrations_controller.rb +++ b/app/controllers/conference_registrations_controller.rb @@ -31,6 +31,11 @@ class ConferenceRegistrationsController < ApplicationController @tickets = current_user.ticket_purchases.by_conference(@conference).paid @ticket_payments = @tickets.group_by(&:ticket_id) @total_quantity = @tickets.group(:ticket_id).sum(:quantity) + @file_name = "ticket_for_#{@conference.short_title}" + respond_to do |format| + format.html + format.pdf {} + end end def edit; end From b0bc9d4cb06648596541b4ba91b7136f86dfe15f Mon Sep 17 00:00:00 2001 From: Siddhant Bajaj Date: Sat, 3 Jun 2017 13:47:49 +0530 Subject: [PATCH 5/7] Minor changes --- .../conference_registrations_controller.rb | 6 ++-- .../conference_registrations/show.pdf.prawn | 34 +------------------ 2 files changed, 4 insertions(+), 36 deletions(-) diff --git a/app/controllers/conference_registrations_controller.rb b/app/controllers/conference_registrations_controller.rb index 48500baf..44a2bde8 100644 --- a/app/controllers/conference_registrations_controller.rb +++ b/app/controllers/conference_registrations_controller.rb @@ -33,9 +33,9 @@ class ConferenceRegistrationsController < ApplicationController @total_quantity = @tickets.group(:ticket_id).sum(:quantity) @file_name = "ticket_for_#{@conference.short_title}" respond_to do |format| - format.html - format.pdf {} - end + format.html + format.pdf {} + end end def edit; end diff --git a/app/views/conference_registrations/show.pdf.prawn b/app/views/conference_registrations/show.pdf.prawn index 6af70ba5..8268ff1d 100644 --- a/app/views/conference_registrations/show.pdf.prawn +++ b/app/views/conference_registrations/show.pdf.prawn @@ -1,34 +1,2 @@ prawn_document(force_download: true, filename: "#{@file_name}.pdf", page_layout: :landscape) do |pdf| - # events_array = [] - # header_array = ['Event ID', - # 'Title', - # 'Abstract', - # 'Start time', - # 'Submitter', - # 'Speaker', - # 'Event Type', - # 'Track', - # 'Difficulty Level', - # 'Room', - # 'State' - # ] - # events_array << header_array - # @events.each do |event| - # row = [] - # row << event.id - # row << event.title - # row << event.abstract - # row << (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '') - # row << event.submitter.name - # row << event.speaker_names - # row << event.event_type.title - # row << (event.track.present? ? event.track.name : '') - # row << (event.difficulty_level.present? ? event.difficulty_level.title : '') - # row << (event.room.present? ? event.room.name : '') - # row << event.state - # events_array << row - # end - - # pdf.text "#{@conference.short_title} Events", font_size: 25, align: :center - # pdf.table events_array, header: true, cell_style: {size: 8, border_width: 1} -end \ No newline at end of file +end From e8e37e0a6095ee1e670d6223ae2f658755ffa8fc Mon Sep 17 00:00:00 2001 From: Siddhant Bajaj Date: Sun, 4 Jun 2017 03:33:01 +0530 Subject: [PATCH 6/7] Fixed Export Pdf button on admin registration page --- app/controllers/admin/registrations_controller.rb | 7 +++++++ app/views/admin/registrations/index.html.haml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/registrations_controller.rb b/app/controllers/admin/registrations_controller.rb index 2afb8f6a..4d17ee38 100644 --- a/app/controllers/admin/registrations_controller.rb +++ b/app/controllers/admin/registrations_controller.rb @@ -30,6 +30,13 @@ module Admin end end + def show + @file_name = "ticket_for_#{@conference.short_title}" + respond_to do |format| + format.pdf {} + end + end + def destroy if can? :destroy, @registration @registration.destroy diff --git a/app/views/admin/registrations/index.html.haml b/app/views/admin/registrations/index.html.haml index 7e366621..0646744b 100644 --- a/app/views/admin/registrations/index.html.haml +++ b/app/views/admin/registrations/index.html.haml @@ -70,7 +70,7 @@ method: :get, class: 'btn btn-primary' = link_to 'Delete', admin_conference_registration_path(@conference.short_title, registration), method: :delete, class: 'btn btn-danger', data: { confirm: "Do you really want to delete the Registration for #{registration.name}?" } - = link_to 'Export Ticket', conference_conference_registration_path(@conference.short_title, format: :pdf), class: 'btn btn-success' + = link_to 'Export Ticket', admin_conference_registration_path(@conference.short_title, registration, format: :pdf), class: 'btn btn-success' - @registrations.each_with_index do |registration, index| .questions{class: "question#{index}", style: 'display:none;'} = render partial: 'questions', locals: { registration: registration } From 9696433c61a85ec8d0dfafa6926b9afd45528c54 Mon Sep 17 00:00:00 2001 From: Siddhant Bajaj Date: Sun, 4 Jun 2017 03:35:43 +0530 Subject: [PATCH 7/7] Added show.pdf.prawn under admin registrations --- app/views/admin/registrations/show.pdf.prawn | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/views/admin/registrations/show.pdf.prawn diff --git a/app/views/admin/registrations/show.pdf.prawn b/app/views/admin/registrations/show.pdf.prawn new file mode 100644 index 00000000..8268ff1d --- /dev/null +++ b/app/views/admin/registrations/show.pdf.prawn @@ -0,0 +1,2 @@ +prawn_document(force_download: true, filename: "#{@file_name}.pdf", page_layout: :landscape) do |pdf| +end