Skip to content

Commit

Permalink
Merge pull request #1834 from bear454/fix-speaker-registration-issues
Browse files Browse the repository at this point in the history
Fix speaker registration issues
  • Loading branch information
Ana06 committed Dec 13, 2017
2 parents ac8b187 + 710010c commit 952e8ac
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 16 deletions.
18 changes: 13 additions & 5 deletions app/pdfs/ticket_pdf.rb
@@ -1,3 +1,5 @@
require 'open-uri'

class TicketPdf < Prawn::Document
def initialize(conference, user, physical_ticket, ticket_layout, file_name)
super(page_layout: ticket_layout, page_size: 'A4', filename: file_name)
Expand Down Expand Up @@ -43,11 +45,17 @@ def draw_first_square
def draw_second_square
move_up 150
if @conference.picture?
if 7 * @conference.picture.image[:width] > 12 * @conference.picture.image[:height]
image "#{Rails.root}/public#{@conference.picture_url}", at: [@mid_horizontal + 30, cursor], width: 120
else
image "#{Rails.root}/public#{@conference.picture_url}", at: [@mid_horizontal + 30, cursor], height: 70
end
conference_image = case @conference.picture.ticket.url[0, 4]
when 'http', 'ftp:' # CDNs
open(@conference.picture.ticket.url)
when '/sys' # local storage
open([
Rails.root,
'/public',
@conference.picture.ticket.url
].join)
end
image conference_image, at: [@mid_horizontal + 30, cursor]
else
image "#{Rails.root}/public/img/osem-logo.png", at: [@mid_horizontal + 30, cursor], height: 70
end
Expand Down
13 changes: 9 additions & 4 deletions app/uploaders/picture_uploader.rb
Expand Up @@ -52,10 +52,6 @@ def store_dir
"system/#{object_class_name}/#{mounted_as}/#{model.id}"
end

def image
@image ||= MiniMagick::Image.open(file.file)
end

# Create different versions of your uploaded files:
version :large do
process resize_to_fit: [300, 300]
Expand All @@ -80,6 +76,11 @@ def image
process resize_and_pad: [320, 120, 'white']
end

version :ticket, if: :conference?
version :ticket do
process resize_and_pad: [120, 70]
end

# Add a white list of extensions which are allowed to be uploaded.
# For images you might use something like this:
def extension_white_list
Expand All @@ -95,4 +96,8 @@ def content_type_whitelist
def sponsor?(_picture)
object_class_name == 'sponsors'
end

def conference?(_picture)
object_class_name == 'conferences'
end
end
7 changes: 1 addition & 6 deletions app/views/physical_tickets/show.html.haml
Expand Up @@ -31,12 +31,7 @@
= @user.email
.col-md-5.col-md-offset-2.box.well
- if @conference.picture?
- width = @conference.picture.image[:width]
- height = @conference.picture.image[:height]
- if 10 * width > 15 * height
= image_tag(@conference.picture_url, width: '150')
- else
= image_tag(@conference.picture_url, height: '100')
= image_tag(@conference.picture.ticket.url, class: 'img-responsive')
- else
= image_tag('/img/osem-logo.png', class: 'img-responsive')
%p.text-left
Expand Down
9 changes: 9 additions & 0 deletions db/migrate/20171130172334_rebuild_conference_pictures.rb
@@ -0,0 +1,9 @@
class RebuildConferencePictures < ActiveRecord::Migration
def up
Conference.all.each do |conference|
conference.picture.recreate_versions!
end
end

def down; end
end
2 changes: 1 addition & 1 deletion db/schema.rb
Expand Up @@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20171118113113) do
ActiveRecord::Schema.define(version: 20171130172334) do

create_table "ahoy_events", force: :cascade do |t|
t.integer "visit_id"
Expand Down
4 changes: 4 additions & 0 deletions spec/models/conference_spec.rb
Expand Up @@ -1704,4 +1704,8 @@

it { is_expected.to eq [past_conference1, past_conference2] }
end

it 'should have a picture format for tickets' do
expect(create(:conference).picture.ticket.url)
end
end

0 comments on commit 952e8ac

Please sign in to comment.