Class: Decidim::Meetings::Admin::MeetingsPollController
- Inherits:
-
ApplicationController
- Object
- Admin::Components::BaseController
- ApplicationController
- Decidim::Meetings::Admin::MeetingsPollController
show all
- Includes:
- TranslatableAttributes
- Defined in:
- app/controllers/decidim/meetings/admin/meetings_poll_controller.rb
Instance Method Summary
collapse
#maps_enabled?, #meetings
Instance Method Details
#answer_options ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'app/controllers/decidim/meetings/admin/meetings_poll_controller.rb', line 43
def answer_options
respond_to do |format|
format.json do
question_id = params["id"]
question = Decidim::Meetings::Question.find_by(id: question_id)
render json: question.answer_options.map { |answer_option| AnswerOptionPresenter.new(answer_option).as_json } if question.present?
end
end
end
|
#answer_options_url(params) ⇒ Object
Returns the url to get the answer options json (for the display conditions form) for the question with id = params
59
60
61
|
# File 'app/controllers/decidim/meetings/admin/meetings_poll_controller.rb', line 59
def answer_options_url(params)
url_for([questionnaire.questionnaire_for, { action: :answer_options, format: :json, **params }])
end
|
#edit ⇒ Object
15
16
17
18
19
20
21
|
# File 'app/controllers/decidim/meetings/admin/meetings_poll_controller.rb', line 15
def edit
enforce_permission_to :update, :poll, meeting: meeting, poll: poll
@form = form(Admin::QuestionnaireForm).from_model(questionnaire)
render template: "decidim/meetings/admin/poll/edit"
end
|
#edit_questionnaire_title ⇒ Object
Implement this method in your controller to set the title of the edit form.
65
66
67
|
# File 'app/controllers/decidim/meetings/admin/meetings_poll_controller.rb', line 65
def edit_questionnaire_title
t(:title, scope: "decidim.meetings.admin.meetings_poll.form", questionnaire_for: translated_attribute(meeting.try(:title)))
end
|
#questionnaire_for ⇒ Object
53
54
55
|
# File 'app/controllers/decidim/meetings/admin/meetings_poll_controller.rb', line 53
def questionnaire_for
poll
end
|
#update ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'app/controllers/decidim/meetings/admin/meetings_poll_controller.rb', line 23
def update
enforce_permission_to :update, :poll, meeting: meeting, poll: poll
@form = form(Admin::QuestionnaireForm).from_params(params)
Admin::UpdateQuestionnaire.call(@form, questionnaire) do
on(:ok) do
flash[:notice] = I18n.t("update.success", scope: "decidim.meetings.admin.meetings_poll")
redirect_to after_update_url
end
on(:invalid) do
flash.now[:alert] = I18n.t("update.invalid", scope: "decidim.meetings.admin.meetings_poll")
render template: "decidim/meetings/admin/poll/edit"
end
end
end
|