diff --git a/app/controllers/submissions_controller.rb b/app/controllers/submissions_controller.rb --- a/app/controllers/submissions_controller.rb +++ b/app/controllers/submissions_controller.rb @@ -1,6 +1,6 @@ class SubmissionsController < ApplicationController before_filter :authenticate - before_filter :submission_authorization, only: [:show, :direct_edit_submission] + before_filter :submission_authorization, only: [:show, :direct_edit_submission, :download] # GET /submissions # GET /submissions.json @@ -33,6 +33,18 @@ SubmissionViewLog.create(user_id: session[:user_id],submission_id: @submission.id) unless user.admin? end + def download + @submission = Submission.find(params[:id]) + send_data(@submission.source, {:filename => @submission.download_filename, :type => 'text/plain'}) + end + + def compiler_msg + @submission = Submission.find(params[:id]) + respond_to do |format| + format.js + end + end + #on-site new submission on specific problem def direct_edit_problem @problem = Problem.find(params[:problem_id]) @@ -60,63 +72,9 @@ end end -# # GET /submissions/new -# # GET /submissions/new.json -# def new -# @submission = Submission.new -# -# respond_to do |format| -# format.html # new.html.erb -# format.json { render json: @submission } -# end -# end -# -# -# # POST /submissions -# # POST /submissions.json -# def create -# @submission = Submission.new(params[:submission]) -# -# respond_to do |format| -# if @submission.save -# format.html { redirect_to @submission, notice: 'Submission was successfully created.' } -# format.json { render json: @submission, status: :created, location: @submission } -# else -# format.html { render action: "new" } -# format.json { render json: @submission.errors, status: :unprocessable_entity } -# end -# end -# end -# -# # PUT /submissions/1 -# # PUT /submissions/1.json -# def update -# @submission = Submission.find(params[:id]) -# -# respond_to do |format| -# if @submission.update_attributes(params[:submission]) -# format.html { redirect_to @submission, notice: 'Submission was successfully updated.' } -# format.json { head :no_content } -# else -# format.html { render action: "edit" } -# format.json { render json: @submission.errors, status: :unprocessable_entity } -# end -# end -# end -# -# # DELETE /submissions/1 -# # DELETE /submissions/1.json -# def destroy -# @submission = Submission.find(params[:id]) -# @submission.destroy -# -# respond_to do |format| -# format.html { redirect_to submissions_url } -# format.json { head :no_content } -# end -# end protected + def submission_authorization #admin always has privileged if @current_user.admin? @@ -133,5 +91,6 @@ unauthorized_redirect return false end + end