Class: Decidim::Surveys::Admin::AnswersController

Inherits:
ApplicationController
  • Object
show all
Includes:
Forms::Admin::Concerns::HasQuestionnaireAnswers
Defined in:
app/controllers/decidim/surveys/admin/answers_controller.rb

Overview

This controller allows the user to update a Page.

Instance Method Summary collapse

Instance Method Details

#indexObject



10
11
12
13
14
15
16
17
18
# File 'app/controllers/decidim/surveys/admin/answers_controller.rb', line 10

def index
  enforce_permission_to :index, :questionnaire_answers

  @query = paginate(collection)
  @participants = participants(@query)
  @total = questionnaire.count_participants

  render template: "decidim/surveys/admin/answers/index"
end

#questionnaire_export_response_url(id) ⇒ Object



32
33
34
# File 'app/controllers/decidim/surveys/admin/answers_controller.rb', line 32

def questionnaire_export_response_url(id)
  Decidim::EngineRouter.admin_proxy(questionnaire_for.component).export_response_survey_answer_path(questionnaire_for, id:)
end

#questionnaire_forObject



28
29
30
# File 'app/controllers/decidim/surveys/admin/answers_controller.rb', line 28

def questionnaire_for
  @questionnaire_for ||= Decidim::Surveys::Survey.where(component: current_component).find_by(id: params[:survey_id])
end

#questionnaire_participant_answers_url(id) ⇒ Object

Specify where to redirect after exporting a user response



41
42
43
# File 'app/controllers/decidim/surveys/admin/answers_controller.rb', line 41

def questionnaire_participant_answers_url(id)
  Decidim::EngineRouter.admin_proxy(questionnaire_for.component).survey_answer_path(questionnaire_for, id:)
end

#questionnaire_participants_urlObject



45
46
47
# File 'app/controllers/decidim/surveys/admin/answers_controller.rb', line 45

def questionnaire_participants_url
  Decidim::EngineRouter.admin_proxy(questionnaire_for.component).survey_answers_path(questionnaire_for)
end

#questionnaire_urlObject



36
37
38
# File 'app/controllers/decidim/surveys/admin/answers_controller.rb', line 36

def questionnaire_url
  Decidim::EngineRouter.admin_proxy(questionnaire_for.component).edit_questions_survey_path(questionnaire_for)
end

#showObject



20
21
22
23
24
25
26
# File 'app/controllers/decidim/surveys/admin/answers_controller.rb', line 20

def show
  enforce_permission_to :show, :questionnaire_answers

  @participant = participant(participants_query.participant(params[:id]))

  render template: "decidim/surveys/admin/answers/show"
end