Sha256: cb4df89a6736c054a0fb9b0bfc9a24b463ccfc76e6f50e6c0eb54271ccbbd079

Contents?: true

Size: 1.12 KB

Versions: 24

Compression:

Stored size: 1.12 KB

Contents

module PaidUp
  class SubscriptionsController < PaidUpController
    before_filter :authenticate_user!
    before_filter :set_plan, only: [:new, :create]

    def index
      # nothing to do, everything we need is in current_user
    end

    def new
      # nothing to do, @plan set by #set_plan
      if current_user.can_downgrade_to? @plan || @plan.amount == 0
        create
      end
    end

    def create
      # @plan set by #set_plan
      if current_user.subscribe_to_plan(@plan, params[:stripeToken])
        redirect_to subscriptions_path, flash: { notice: :you_are_now_subscribed_to_the_plan.l(plan_name: current_user.plan.name) }
      else
        redirect_to new_plan_subscription_path @plan, flash: { error: current_user.errors.full_messages || :could_not_subscribe_to_plan.l(plan: @plan.name) }
      end
    rescue Stripe::InvalidRequestError => e
      flash[:error] = e.message
      redirect_to plans_path
    rescue Stripe::CardError => e
      flash[:error] = e.message
      redirect_to new_plan_subscription_path
    end

    private
    def set_plan
      @plan = PaidUp::Plan.find(params[:plan_id])
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
paid_up-0.5.3 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.5.2 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.5.1 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.5.0 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.4.4 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.4.3 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.4.2 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.4.1 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.4.0 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.3.0 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.2.4 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.2.3 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.2.2 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.2.1 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.2.0 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.1.9 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.1.8 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.1.7 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.1.6 app/controllers/paid_up/subscriptions_controller.rb
paid_up-0.1.5 app/controllers/paid_up/subscriptions_controller.rb