Class: Decidim::FileAuthorizationHandler::Admin::CensusesController

Inherits:
Admin::ApplicationController
  • Object
show all
Defined in:
app/controllers/decidim/file_authorization_handler/admin/censuses_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/controllers/decidim/file_authorization_handler/admin/censuses_controller.rb', line 17

def create
  enforce_permission_to :create, :authorization
  if params[:file]
    unless csv_file?(params[:file])
      flash[:alert] = t(".invalid_format")
      return redirect_to censuses_path
    end
    data = CsvData.new(params[:file].path)
    # rubocop: disable Rails/SkipsModelValidations
    CensusDatum.insert_all(current_organization, data.values, data.headers[2..])
    # rubocop: enable Rails/SkipsModelValidations
    RemoveDuplicatesJob.perform_later(current_organization)
    flash[:notice] = t(".success", count: data.values.count,
                                   errors: data.errors.count)
  end
  redirect_to censuses_path
end

#destroyObject



35
36
37
38
39
# File 'app/controllers/decidim/file_authorization_handler/admin/censuses_controller.rb', line 35

def destroy
  enforce_permission_to :destroy, :authorization, organization: current_organization
  CensusDatum.clear(current_organization)
  redirect_to censuses_path, notice: t(".success")
end

#newObject



12
13
14
15
# File 'app/controllers/decidim/file_authorization_handler/admin/censuses_controller.rb', line 12

def new
  enforce_permission_to :create, :authorization
  @status = Status.new(current_organization)
end

#showObject



7
8
9
10
# File 'app/controllers/decidim/file_authorization_handler/admin/censuses_controller.rb', line 7

def show
  enforce_permission_to :show, :authorization
  @status = Status.new(current_organization)
end