Merge pull request #1834 from bear454/fix-speaker-registration-issues

Fix speaker registration issues
This commit is contained in:
Ana María Martínez Gómez 2017-12-13 10:15:36 +01:00 committed by GitHub
commit 952e8ac316
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 37 additions and 16 deletions

View file

@ -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)
@ -43,11 +45,17 @@ class TicketPdf < Prawn::Document
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

View file

@ -52,10 +52,6 @@ class PictureUploader < CarrierWave::Uploader::Base
"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]
@ -80,6 +76,11 @@ class PictureUploader < CarrierWave::Uploader::Base
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
@ -95,4 +96,8 @@ class PictureUploader < CarrierWave::Uploader::Base
def sponsor?(_picture)
object_class_name == 'sponsors'
end
def conference?(_picture)
object_class_name == 'conferences'
end
end

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -1704,4 +1704,8 @@ describe Conference do
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