Class: Decidim::Surveys::Admin::ResponsesController

Inherits:
ApplicationController show all
Includes:
Forms::Admin::Concerns::HasQuestionnaireResponses
Defined in:
decidim-surveys/app/controllers/decidim/surveys/admin/responses_controller.rb

Overview

This controller allows the user to update a Page.

Instance Method Summary collapse

Methods inherited from Admin::Components::BaseController

#current_component, #current_participatory_space, #parent_path, #permission_class_chain, #permission_scope, #permissions_context, #set_component_breadcrumb_item, #skip_manage_component_permission

Methods included from RegistersPermissions

register_permissions

Methods inherited from Admin::ApplicationController

#permission_class_chain, #permission_scope, #user_has_no_permission_path, #user_not_authorized_path

Methods included from Headers::HttpCachingDisabler

#disable_http_caching

Methods included from TranslatableAttributes

#attachment?, #default_locale?

Methods included from NeedsSnippets

#snippets

Methods included from NeedsOrganization

enhance_controller, extended, included

Instance Method Details

#indexObject



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

def index
  enforce_permission_to :index, :questionnaire_responses

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

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

#questionnaire_export_response_url(id) ⇒ Object



33
34
35
# File 'decidim-surveys/app/controllers/decidim/surveys/admin/responses_controller.rb', line 33

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

#questionnaire_forObject



29
30
31
# File 'decidim-surveys/app/controllers/decidim/surveys/admin/responses_controller.rb', line 29

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

#questionnaire_participant_responses_url(id) ⇒ Object

Specify where to redirect after exporting a user response



42
43
44
# File 'decidim-surveys/app/controllers/decidim/surveys/admin/responses_controller.rb', line 42

def questionnaire_participant_responses_url(id)
  Decidim::EngineRouter.admin_proxy(questionnaire_for.component).survey_response_path(questionnaire_for, id:)
end

#questionnaire_participants_urlObject



46
47
48
# File 'decidim-surveys/app/controllers/decidim/surveys/admin/responses_controller.rb', line 46

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

#questionnaire_urlObject



37
38
39
# File 'decidim-surveys/app/controllers/decidim/surveys/admin/responses_controller.rb', line 37

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

#showObject



21
22
23
24
25
26
27
# File 'decidim-surveys/app/controllers/decidim/surveys/admin/responses_controller.rb', line 21

def show
  enforce_permission_to :show, :questionnaire_responses

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

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