Skip to content

Instantly share code, notes, and snippets.

@waseem
Created August 17, 2012 10:03
Show Gist options
  • Save waseem/3377662 to your computer and use it in GitHub Desktop.
Save waseem/3377662 to your computer and use it in GitHub Desktop.
CardsController
class CardsController < InheritedResources::Base
require 'aws/s3'
require 'builder'
def show
@card = Card.find(params[:id])
if (@card)
respond_to do |format|
format.xml #{ render @card, :template => '#{Rails.root}/app/views/cards/show.xml.builder', :type => :builder, :layout => false }
format.html
end
end
end
def create
@card = Card.new(params[:card])
@card.user = User.find(current_user.id)
@user = User.find(current_user.id)
@user.first_name = params[:card][:first_name]
@user.last_name = params[:card][:last_name]
@user.title = params[:card][:title]
@user.company = params[:card][:company]
@user.mobile_phone = params[:card][:mainphone]
@user.fix_phone = params[:card][:secondphone]
@user.email = params[:card][:email]
@template_name = params[:card][:template_name]
@img_recto = ImageList.new("#{Rails.root}/app/assets/images/blank_#{@template_name}_front.png")
@img = ImageList.new("#{Rails.root}/app/assets/images/blank_#{@template_name}_front.png")
@res = ImageList.new("#{Rails.root}/app/assets/images/blank_#{@template_name}_back.png")
if (@template_name == "business")
business_card_creation
elsif (@template_name == "blue")
blue_card_creation
elsif (@template_name == "cool")
cool_card_creation
elsif (@template_name == "nostalgia")
nostalgia_card_creation
end
s3 = AWS::S3.new( :access_key_id => 'AKIAJRJBXPNSVOGYU52A', :secret_access_key => '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')
@bucket = s3.buckets['popwingscards2']
@photo = @bucket.objects["tmp_#{@user.id}.jpg"]
@photo.write(@img.to_blob)
@photo_verso = @bucket.objects["tmp_#{@user.id}_back.jpg"]
@photo_verso.write(@res.to_blob)
if (params[:preview])
render "new"
else
respond_to do |format|
if @card.save
if (@card.photo_url && @card.photo_url != "")
src = ImageList.new("#{Rails.public_path}" + @card.photo_url)
src = src.resize(75, 75)
src.write("#{Rails.public_path}" + "compress_photo_card_#{@card.id}.j2k")
src = ImageList.new("#{Rails.public_path}" + "compress_photo_card_#{@card.id}.j2k")
photo = @bucket.objects["compress_photo_card_#{@card.id}.j2k"]
photo.write(src.to_blob)
end
definite_photo = @bucket.objects["#{@card.id}_front.jpg"]
definite_photo.write(@img.to_blob)
definite_photo_verso = @bucket.objects["#{@card.id}_back.jpg"]
definite_photo_verso.write(@res.to_blob)
format.html { redirect_to cards_path, notice: 'Card was successfully created.' }
format.json { render json: @card, status: :created, location: @card }
else
format.html { render action: "new" }
format.json { render json: @card.errors, status: :unprocessable_entity}
end
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment