Class: Nuntius::Admin::Lists::SubscribersController

Inherits:
Nuntius::ApplicationAdminController show all
Defined in:
app/controllers/nuntius/admin/lists/subscribers_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



40
41
42
43
44
45
# File 'app/controllers/nuntius/admin/lists/subscribers_controller.rb', line 40

def create
  @subscriber = @list.subscribers.new(subscriber_params)
  @subscriber.save
  # FIXME: This should redirect to list
  respond_with :admin, :list, @subscriber, collection_location: -> { nuntius.admin_list_url(@list) }, location: -> { nuntius.admin_list_url(@list) }, status: :see_other
end

#editObject



47
48
49
# File 'app/controllers/nuntius/admin/lists/subscribers_controller.rb', line 47

def edit
  @subscriber = @list.subscribers.find(params[:id])
end

#importObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/controllers/nuntius/admin/lists/subscribers_controller.rb', line 15

def import
  return unless request.post?

  file = params[:file]
  if file.blank?
    Signum.error(Current.user, text: t(".no_file"))
    redirect_to import_admin_list_subscribers_path(@list) and return
  end

  blob = ActiveStorage::Blob.create_and_upload!(
    io: file,
    filename: file.original_filename,
    content_type: "text/csv"
  )
  ImportSubscribersJob.perform_later(@list, blob, Current.user)

  Signum.info(Current.user, text: t(".queued"))
  redirect_to nuntius.admin_list_path(@list)
end

#indexObject



11
12
13
# File 'app/controllers/nuntius/admin/lists/subscribers_controller.rb', line 11

def index
  @subscribers = @list.subscribers.all
end

#newObject



35
36
37
38
# File 'app/controllers/nuntius/admin/lists/subscribers_controller.rb', line 35

def new
  @subscriber = @list.subscribers.new
  render :edit
end

#updateObject



51
52
53
54
55
56
# File 'app/controllers/nuntius/admin/lists/subscribers_controller.rb', line 51

def update
  @subscriber = @list.subscribers.find(params[:id])
  @subscriber.update(subscriber_params)
  # FIXME: This should redirect to list
  respond_with :admin, :list, @subscriber, collection_location: -> { nuntius.admin_list_url(@list) }, location: -> { nuntius.admin_list_url(@list) }, status: :see_other
end