From cbf39f97e4236bfa36c74e445071c91851ef2b5b Mon Sep 17 00:00:00 2001 From: Marcela Ribeiro de Oliveira <mro15@inf.ufpr.br> Date: Wed, 5 Jul 2017 10:47:27 -0300 Subject: [PATCH] route to show submissions --- app/controllers/concerns/submission_controller.rb | 10 ++++++++++ app/controllers/v1/learning_objects_controller.rb | 3 ++- app/policies/submission_policy.rb | 5 +++++ config/routes.rb | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/controllers/concerns/submission_controller.rb b/app/controllers/concerns/submission_controller.rb index 3bb83748..72481197 100644 --- a/app/controllers/concerns/submission_controller.rb +++ b/app/controllers/concerns/submission_controller.rb @@ -4,6 +4,7 @@ module SubmissionController included do before_action :set_new_submission, only: :submit + before_action :set_submission, only: :show_submission before_action :authorize! end @@ -22,6 +23,11 @@ module SubmissionController end end + def show_submission + return render status: :ok if @learning_object.draft? || @learning_object.published? + render json: @learning_object + end + private def submitted @@ -32,4 +38,8 @@ module SubmissionController @learning_object = LearningObject.find(params[:id]) end + def set_submission + @learning_object ||= LearningObject.find(params[:id]) + end + end diff --git a/app/controllers/v1/learning_objects_controller.rb b/app/controllers/v1/learning_objects_controller.rb index 739e9489..1639ae35 100644 --- a/app/controllers/v1/learning_objects_controller.rb +++ b/app/controllers/v1/learning_objects_controller.rb @@ -11,10 +11,11 @@ class V1::LearningObjectsController < ApplicationController include ::StageableController include ::SubmissionController - before_action :authenticate_user!, only: [:create, :update, :destroy, :tagging, :untagging, :submit, :submission] + before_action :authenticate_user!, only: [:create, :update, :destroy, :tagging, :untagging, :submit, :submission, :show_submission] before_action :set_learning_object, only: [:show, :update, :destroy, :subjecting, :unsubjecting, :add_stages, :remove_stages] before_action :set_new_learning_object, only: [:index, :submissions] before_action :set_new_submission, only: :submit + before_action :set_submission, only: :show_submission before_action :authorize!, except: [:create, :tagging, :untagging, :download, :magnetlink] before_action :set_paper_trail_whodunnit, except: [:index, :show] diff --git a/app/policies/submission_policy.rb b/app/policies/submission_policy.rb index 9018431b..345ec5e5 100644 --- a/app/policies/submission_policy.rb +++ b/app/policies/submission_policy.rb @@ -9,4 +9,9 @@ module SubmissionPolicy record if user_can_moderate? end + def show_submission? + return false if user.nil? + record if user_can_moderate? + end + end diff --git a/config/routes.rb b/config/routes.rb index d86ea9a0..0f1be127 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -64,6 +64,7 @@ Rails.application.routes.draw do end member do post :submit + get :show_submission end end -- GitLab