mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Add surveys; custom generated by admins
Available during registration or after conference Co-authored-by: Shyukri <shshyukriev@suse.com> Co-authored-by: Henne <hvogel@opensuse.org> Co-authored-by: Moises <mdeniz@suse.com>
This commit is contained in:
parent
4e742d170f
commit
9f3c0eff5d
43 changed files with 701 additions and 17 deletions
30
app/controllers/surveys_controller.rb
Normal file
30
app/controllers/surveys_controller.rb
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
class SurveysController < ApplicationController
|
||||
load_resource :conference, find_by: :short_title
|
||||
load_and_authorize_resource
|
||||
|
||||
def index
|
||||
@surveys = @conference.surveys.select(&:active?)
|
||||
end
|
||||
|
||||
def show
|
||||
@survey_submission = @survey.survey_submissions.new
|
||||
end
|
||||
|
||||
def reply
|
||||
survey_submission = params[:survey_submission]
|
||||
|
||||
@survey.survey_questions.each do |survey_question|
|
||||
reply = survey_question.survey_replies.find_by(user: current_user)
|
||||
reply_text = survey_submission[survey_question.id.to_s].reject(&:blank?).join(',')
|
||||
|
||||
if reply
|
||||
reply.update_attributes(text: reply_text) unless reply.text == reply_text
|
||||
else
|
||||
survey_question.survey_replies.create!(text: reply_text, user: current_user)
|
||||
end
|
||||
@survey.survey_submissions.create!(user: current_user) unless @survey.survey_submissions.find_by(user: current_user)
|
||||
end
|
||||
|
||||
redirect_to :back
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue