Skip to Content Skip to Search
Methods
A
C
D
E

Instance Public methods

alternative_successful()

# File engines/member/app/controllers/member/subscriptions_controller.rb, line 120
def alternative_successful
end

apply_discount_coupon()

# File engines/member/app/controllers/member/subscriptions_controller.rb, line 66
def apply_discount_coupon
  manager = Service::SubscriptionManager.new(subscription: @subscription)
  if manager.apply_discount_coupon
    url_param = CGI.escape("?discount_coupon=true")
    respond_to do |format|
      format.json { head :ok }
      format.html do
        js_redirect_to current_site.widget_url(
          :member_alternative_successful_subscription,
          @subscription,
          url_param
        )
      end
    end
  else
    @site_settings = current_site.settings
    respond_to do |format|
      format.json { render status: manager.status, json: {errors: [manager.error.message]} }
      format.html do
        flash.now[:error] = manager.error.message
        render :cancel
      end
    end
  end
end

cancel()

# File engines/member/app/controllers/member/subscriptions_controller.rb, line 7
def cancel
  @site_settings = current_site.settings
end

contact_support()

# File engines/member/app/controllers/member/subscriptions_controller.rb, line 92
def contact_support
  if subscriptions_params[:support_email].present?
    manager = Service::SubscriptionManager.new(subscription: @subscription)
    manager.contact_support(subscriptions_params[:support_email])
    url_param = CGI.escape("?contact_support=true")
    respond_to do |format|
      format.json { head :ok }
      format.html do
        js_redirect_to current_site.widget_url(
          :member_alternative_successful_subscription,
          @subscription,
          url_param
        )
      end
    end
  else
    @site_settings = current_site.settings
    respond_to do |format|
      format.json { render status: :not_acceptable, json: {errors: ["An error occurred."]} }
      format.html do
        flash.now[:error] = I18n.t("member.alerts.subscription_contact_support_error",
          {site_id: current_site.id})
        render :cancel
      end
    end
  end
end

destroy()

# File engines/member/app/controllers/member/subscriptions_controller.rb, line 11
def destroy
  manager = Service::SubscriptionManager.new(subscription: @subscription)
  reason = subscriptions_params[:cancellation_reason]
  if manager.cancel(reason)
    current_member.plan_removed(@subscription, reason)

    respond_to do |format|
      message = I18n.t("member.alerts.subscription_cancellation_success", site_id: current_site.id)

      format.json { head :ok }
      format.html do
        flash[:success] = message
        redirect_to account_plans_path
      end
    end

  else
    @site_settings = current_site.settings

    respond_to do |format|
      format.json { render status: manager.error.code, json: {errors: [manager.error.message]} }
      format.html do
        flash.now[:error] = manager.error.message
        render :cancel
      end
    end
  end
end

extend_trial()

# File engines/member/app/controllers/member/subscriptions_controller.rb, line 40
def extend_trial
  manager = Service::SubscriptionManager.new(subscription: @subscription)
  if manager.extend_trial
    url_param = CGI.escape("?extend_trial=true")
    respond_to do |format|
      format.json { head :ok }
      format.html do
        js_redirect_to current_site.widget_url(
          :member_alternative_successful_subscription,
          @subscription,
          url_param
        )
      end
    end
  else
    @site_settings = current_site.settings
    respond_to do |format|
      format.json { render status: manager.status, json: {errors: [manager.error.message]} }
      format.html do
        flash.now[:error] = manager.error.message
        render :cancel
      end
    end
  end
end