Class: Admin::AssessmentsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/study_engine/admin/assessments_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



30
31
32
33
34
35
36
37
38
# File 'app/controllers/study_engine/admin/assessments_controller.rb', line 30

def create
  @assessments = ExistingAssessmentsForm.new(params[:study_engine_assessment])
  if assessments.save
    redirect_to [:admin, :assessments], notice: "Assessment created!"
  else
    flash.now.alert = assessments.errors.full_messages.join(", ")
    render :new
  end
end

#destroyObject



59
60
61
62
# File 'app/controllers/study_engine/admin/assessments_controller.rb', line 59

def destroy
  Assessment.destroy params[:id]
  redirect_to [:admin, :assessments], notice: "Assessment has been deleted!"
end

#editObject



40
41
42
43
44
45
46
# File 'app/controllers/study_engine/admin/assessments_controller.rb', line 40

def edit
  if StudyID.new(params[:id]).valid?
    @assessments = UpdateAssessmentsForm.new(params[:id])
  else
    @assessment = Assessment.find(params[:id])
  end
end

#indexObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/study_engine/admin/assessments_controller.rb', line 9

def index
  respond_to do |format|
    @assessments = current_user.admin? ? Assessment.find_each : Assessment.by_site(current_user.site_id).find_each
    @report = Report.new(assessments, params[:field] || "study_id", params[:direction] || "ASC")

    format.csv do
      @csv_options = { force_quotes: true }
      @output_encoding = "UTF-8"
      @streaming = true

      @filename = "#{params[:report]}-#{Time.now.utc.to_s(:db).parameterize.underscore}.csv"
      render params[:report]
    end
    format.html
  end
end

#newObject



26
27
28
# File 'app/controllers/study_engine/admin/assessments_controller.rb', line 26

def new
  @assessments = ExistingAssessmentsForm.new
end

#updateObject



48
49
50
51
52
53
54
55
56
57
# File 'app/controllers/study_engine/admin/assessments_controller.rb', line 48

def update
  if StudyID.new(params[:id]).valid?
    @assessments = UpdateAssessmentsForm.new(params[:id])
    assessments.update_attributes! params[:study_engine_assessment]
  else
    @assessment = Assessment.find(params[:id])
    assessment.update_attributes! params[:assessment].permit(:method_applied)
  end
  redirect_to [:admin, :assessments], notice: "Assessment has been updated!"
end