Class AnnotationsController
In: app/controllers/annotations_controller.rb
lib/benchmarking/submission_files/annotations_controller.rb
Parent: ApplicationController

Methods

Public Instance methods

Not possible to do with image annotations.

[Source]

    # File app/controllers/annotations_controller.rb, line 6
 6:   def add_existing_annotation
 7:     return unless request.post?
 8:     @text = AnnotationText.find(params[:annotation_text_id])
 9:     @submission_file_id = params[:submission_file_id]
10:     @submission_file = SubmissionFile.find(@submission_file_id)
11:     submission= @submission_file.submission
12:     @annotation = TextAnnotation.new
13:     @annotation.update_attributes({
14:       :line_start => params[:line_start], 
15:       :line_end => params[:line_end],
16:       :submission_file_id => params[:submission_file_id],
17:       :annotation_number => submission.annotations.count + 1
18:     })
19:     @annotation.annotation_text = @text
20:     @annotation.save
21:     @submission = @submission_file.submission
22:     @annotations = @submission.annotations
23:   end

TODO: Is the assignment closed? If so, begin generating Submissions and SubmissionFiles

[Source]

    # File lib/benchmarking/submission_files/annotations_controller.rb, line 8
 8:   def add_existing_annotation
 9:     @text = AnnotationText.find(params[:annotation_text_id])
10:     @submission_file_id = params[:submission_file_id]
11:     @submission_file = SubmissionFile.find(@submission_file_id)
12:     @annotation = Annotation.new
13:     @annotation.update_attributes({
14:       :line_start => params[:line_start], 
15:       :line_end => params[:line_end],
16:       :submission_file_id => params[:submission_file_id]
17:     })
18:     @annotation.annotation_text = @text
19:     @annotation.save
20:     @submission = @submission_file.submission
21:     @annotations = @submission.annotations
22:   end

[Source]

    # File lib/benchmarking/submission_files/annotations_controller.rb, line 24
24:   def create
25:     @text = AnnotationText.create({
26:       :content => params[:content],
27:       :annotation_category_id => params[:category_id]
28:     })
29:     @submission_file_id = params[:submission_file_id]
30:     @submission_file = SubmissionFile.find(@submission_file_id)
31:     @annotation = Annotation.create({ 
32:       :line_start => params[:line_start], 
33:       :line_end => params[:line_end],
34:       :annotation_text_id => @text.id,
35:       :submission_file_id => params[:submission_file_id]
36:     })
37:     @submission = @submission_file.submission
38:     @annotations = @submission.annotations
39:   end

[Source]

    # File app/controllers/annotations_controller.rb, line 25
25:   def create
26:     return unless request.post?
27:     @text = AnnotationText.create({
28:       :content => params[:content],
29:       :annotation_category_id => params[:category_id]
30:     })
31:     @submission_file_id = params[:submission_file_id]
32:     @submission_file = SubmissionFile.find(@submission_file_id)
33:     submission= @submission_file.submission
34:     case params[:annotation_type]
35:       when 'text'
36:         @annotation = TextAnnotation.create({
37:           :line_start => params[:line_start],
38:           :line_end => params[:line_end],
39:           :annotation_text_id => @text.id,
40:           :submission_file_id => params[:submission_file_id],
41:           :annotation_number => submission.annotations.count + 1
42:         })
43:       when 'image'
44:         @annotation = ImageAnnotation.create({
45:           :annotation_text_id => @text.id,
46:           :submission_file_id => params[:submission_file_id],
47:           :x1 => Integer(params[:x1]), :x2 => Integer(params[:x2]),
48:           :y1 => Integer(params[:y1]), :y2 => Integer(params[:y2]),
49:           :annotation_number => submission.annotations.count + 1
50:         })
51:     end
52:     @submission = @submission_file.submission
53:     @annotations = @submission.annotations
54:   end

[Source]

    # File app/controllers/annotations_controller.rb, line 56
56:   def destroy
57:     return unless request.post?
58:     @annotation = Annotation.find(params[:id])
59:     @old_annotation = @annotation.destroy
60:     @submission_file_id = params[:submission_file_id]
61:     @submission_file = SubmissionFile.find(@submission_file_id)
62:     @submission = @submission_file.submission
63:     @annotations = @submission.annotations
64:     @annotations.each do |annot|
65:       if annot.annotation_number > @old_annotation.annotation_number
66:         annot.annotation_number -= 1
67:         annot.save
68:       end
69:     end
70: 
71:   end

[Source]

    # File lib/benchmarking/submission_files/annotations_controller.rb, line 41
41:   def destroy
42:     @annotation = Annotation.find(params[:id])
43:     @old_annotation = @annotation.destroy
44:     @submission_file_id = params[:submission_file_id]
45:     @submission_file = SubmissionFile.find(@submission_file_id)
46:     @submission = @submission_file.submission
47:     @annotations = @submission.annotations
48:   end

[Source]

    # File app/controllers/annotations_controller.rb, line 73
73:   def update_annotation
74:     return unless request.post?
75:     @content = params[:annotation_text][:content]
76:     @id = params[:annotation_text][:id]
77:     @submission_file_id = params[:annotation_text][:submission_file_id]
78:     @annotation_text = AnnotationText.find(@id)
79:     @annotation_text.content = @content
80:     @annotation_text.save
81:     @submission_file = SubmissionFile.find(@submission_file_id)
82:     @submission = @submission_file.submission
83:     @annotations = @submission.annotations
84:   end

[Source]

    # File lib/benchmarking/submission_files/annotations_controller.rb, line 50
50:   def update_annotation
51:     @content = params[:annotation_text][:content]
52:     @id = params[:annotation_text][:id]
53:     @submission_file_id = params[:annotation_text][:submission_file_id]
54:     @annotation_text = AnnotationText.find(@id)
55:     @annotation_text.content = @content
56:     @annotation_text.save
57:     @submission_file = SubmissionFile.find(@submission_file_id)
58:     @submission = @submission_file.submission
59:     @annotations = @submission.annotations
60:   end

Updates the overall comment from the annotations tab

[Source]

    # File app/controllers/annotations_controller.rb, line 87
87:   def update_comment
88:     return unless request.post?
89:     result = Result.find(params[:result_id])
90:     result.overall_comment = params[:overall_comment]
91:     result.save;
92:     render :update do |page|
93:     end
94:   end

Updates the overall comment from the annotations tab

[Source]

    # File lib/benchmarking/submission_files/annotations_controller.rb, line 63
63:   def update_comment
64:     result = Result.find(params[:result_id])
65:     result.overall_comment = params[:overall_comment]
66:     result.save;
67:     render :update do |page|
68:     end
69:   end

Updates the marking state

[Source]

    # File lib/benchmarking/submission_files/annotations_controller.rb, line 72
72:   def update_marking_state
73:     result = Result.find(params[:id])
74:     result.marking_state = params[:value]
75:     result.save
76:     render :update do |page|
77:        page.redirect_to :controller => 'results', :action => 'edit', :id =>
78:        result.id
79:     end
80:   end

[Validate]