Class: Storytime::SubscriptionsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/storytime/subscriptions_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#authenticate_user!, #current_user, #setup, #user_signed_in?

Methods included from Concerns::CurrentSite

#current_storytime_site

Methods included from Concerns::ControllerContentFor

#content_for, #content_for?, #view_context

Instance Method Details

#createObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/storytime/subscriptions_controller.rb', line 7

def create
  @subscription = Storytime::Subscription.find_by(permitted_attributes) || Storytime::Subscription.new(permitted_attributes)
  @subscription.subscribed = true unless @subscription.subscribed

  if @subscription.save
    flash[:notice] = I18n.t('flash.subscriptions.create.success')
  else
    flash[:error] = I18n.t('flash.subscriptions.create.fail')
  end

  if respond_to?(:redirect_back)
    redirect_back(fallback_location: "/")
  else
    redirect_to :back
  end
end

#destroyObject



24
25
26
27
28
29
30
31
32
# File 'app/controllers/storytime/subscriptions_controller.rb', line 24

def destroy
  if params[:t] == @subscription.token
    flash[:notice] = I18n.t('flash.subscriptions.destroy.success') if @subscription.unsubscribe!
  else
    flash[:error] = I18n.t('flash.subscriptions.destroy.fail')
  end

  redirect_to "/"
end