Class: Projects::BackersController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Projects::BackersController
- Defined in:
- app/controllers/projects/backers_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #credits_checkout ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #show ⇒ Object
- #update_info ⇒ Object
Instance Method Details
#create ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'app/controllers/projects/backers_controller.rb', line 48 def create @title = t('projects.backers.create.title') @backer.user = current_user @backer.reward_id = nil if params[:backer][:reward_id].to_i == 0 create! do |success,failure| failure.html do flash[:failure] = t('projects.backers.review.error') return redirect_to new_project_backer_path(@project) end success.html do resource.update_current_billing_info flash[:notice] = nil session[:thank_you_backer_id] = @backer.id return render :create end end @thank_you_id = @project.id end |
#credits_checkout ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'app/controllers/projects/backers_controller.rb', line 67 def credits_checkout if current_user.credits < @backer.value flash[:failure] = t('projects.backers.checkout.no_credits') return redirect_to new_project_backer_path(@backer.project) end unless @backer.confirmed? @backer.update_attributes({ payment_method: 'Credits' }) @backer.confirm! end flash[:success] = t('projects.backers.checkout.success') redirect_to project_backer_path(project_id: parent.id, id: resource.id) end |
#index ⇒ Object
17 18 19 |
# File 'app/controllers/projects/backers_controller.rb', line 17 def index render collection end |
#new ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'app/controllers/projects/backers_controller.rb', line 26 def new unless parent.online? flash[:failure] = t('projects.back.cannot_back') return redirect_to :root end @create_url = ::Configuration[:secure_review_host] ? project_backers_url(@project, {host: ::Configuration[:secure_review_host], protocol: 'https'}) : project_backers_path(@project) @title = t('projects.backers.new.title', name: @project.name) @backer = @project.backers.new(user: current_user) empty_reward = Reward.new(minimum_value: 0, description: t('projects.backers.new.no_reward')) @rewards = [empty_reward] + @project.rewards.order(:minimum_value) # Select if params[:reward_id] && (@selected_reward = @project.rewards.find params[:reward_id]) && !@selected_reward.sold_out? @backer.reward = @selected_reward @backer.value = "%0.0f" % @selected_reward.minimum_value end end |
#show ⇒ Object
21 22 23 24 |
# File 'app/controllers/projects/backers_controller.rb', line 21 def show @title = t('projects.backers.show.title') session[:thank_you_backer_id] = nil end |
#update_info ⇒ Object
11 12 13 14 15 |
# File 'app/controllers/projects/backers_controller.rb', line 11 def update_info resource.update_attributes(params[:backer]) resource.update_user_billing_info render json: {message: 'updated'} end |