Add thank you note to rfc
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
class RequestForCommentsController < ApplicationController
|
class RequestForCommentsController < ApplicationController
|
||||||
before_action :set_request_for_comment, only: [:show, :edit, :update, :destroy, :mark_as_solved]
|
before_action :set_request_for_comment, only: [:show, :edit, :update, :destroy, :mark_as_solved, :set_thank_you_note]
|
||||||
|
|
||||||
skip_after_action :verify_authorized
|
skip_after_action :verify_authorized
|
||||||
|
|
||||||
@ -34,6 +34,18 @@ class RequestForCommentsController < ApplicationController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_thank_you_note
|
||||||
|
authorize!
|
||||||
|
@request_for_comment.thank_you_note = params[:note]
|
||||||
|
respond_to do |format|
|
||||||
|
if @request_for_comment.save
|
||||||
|
format.json { render :show, status: :ok, location: @request_for_comment }
|
||||||
|
else
|
||||||
|
format.json { render json: @request_for_comment.errors, status: :unprocessable_entity }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def submit
|
def submit
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -24,6 +24,10 @@ class RequestForCommentPolicy < ApplicationPolicy
|
|||||||
admin? || author?
|
admin? || author?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_thank_you_note?
|
||||||
|
admin? || author?
|
||||||
|
end
|
||||||
|
|
||||||
def edit?
|
def edit?
|
||||||
admin?
|
admin?
|
||||||
end
|
end
|
||||||
|
@ -11,6 +11,7 @@ Rails.application.routes.draw do
|
|||||||
member do
|
member do
|
||||||
get :mark_as_solved
|
get :mark_as_solved
|
||||||
post :create_comment_exercise
|
post :create_comment_exercise
|
||||||
|
post :set_thank_you_note
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
resources :comments, except: [:destroy] do
|
resources :comments, except: [:destroy] do
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
class AddThankYouNoteToRequestForComments < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :request_for_comments, :thank_you_note, :text
|
||||||
|
end
|
||||||
|
end
|
26
db/schema.rb
26
db/schema.rb
@ -11,7 +11,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20170403162848) do
|
ActiveRecord::Schema.define(version: 20170608141612) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
@ -93,7 +93,7 @@ ActiveRecord::Schema.define(version: 20170403162848) do
|
|||||||
create_table "exercise_tags", force: :cascade do |t|
|
create_table "exercise_tags", force: :cascade do |t|
|
||||||
t.integer "exercise_id"
|
t.integer "exercise_id"
|
||||||
t.integer "tag_id"
|
t.integer "tag_id"
|
||||||
t.integer "factor", default: 0
|
t.integer "factor", default: 1
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "exercises", force: :cascade do |t|
|
create_table "exercises", force: :cascade do |t|
|
||||||
@ -110,7 +110,7 @@ ActiveRecord::Schema.define(version: 20170403162848) do
|
|||||||
t.boolean "hide_file_tree"
|
t.boolean "hide_file_tree"
|
||||||
t.boolean "allow_file_creation"
|
t.boolean "allow_file_creation"
|
||||||
t.boolean "allow_auto_completion", default: false
|
t.boolean "allow_auto_completion", default: false
|
||||||
t.integer "expected_worktime_seconds", default: 0
|
t.integer "expected_worktime_seconds", default: 60
|
||||||
t.integer "expected_difficulty", default: 1
|
t.integer "expected_difficulty", default: 1
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -247,15 +247,16 @@ ActiveRecord::Schema.define(version: 20170403162848) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
create_table "request_for_comments", force: :cascade do |t|
|
create_table "request_for_comments", force: :cascade do |t|
|
||||||
t.integer "user_id", null: false
|
t.integer "user_id", null: false
|
||||||
t.integer "exercise_id", null: false
|
t.integer "exercise_id", null: false
|
||||||
t.integer "file_id", null: false
|
t.integer "file_id", null: false
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
t.string "user_type", limit: 255
|
t.string "user_type", limit: 255
|
||||||
t.text "question"
|
t.text "question"
|
||||||
t.boolean "solved", default: false
|
t.boolean "solved", default: false
|
||||||
t.integer "submission_id"
|
t.integer "submission_id"
|
||||||
|
t.text "thank_you_note"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "searches", force: :cascade do |t|
|
create_table "searches", force: :cascade do |t|
|
||||||
@ -296,12 +297,13 @@ ActiveRecord::Schema.define(version: 20170403162848) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
create_table "user_exercise_feedbacks", force: :cascade do |t|
|
create_table "user_exercise_feedbacks", force: :cascade do |t|
|
||||||
t.integer "exercise_id", null: false
|
t.integer "exercise_id", null: false
|
||||||
t.integer "user_id", null: false
|
t.integer "user_id", null: false
|
||||||
t.string "user_type", null: false
|
t.string "user_type", null: false
|
||||||
t.integer "difficulty"
|
t.integer "difficulty"
|
||||||
t.integer "working_time_seconds"
|
t.integer "working_time_seconds"
|
||||||
t.string "feedback_text"
|
t.string "feedback_text"
|
||||||
|
t.integer "user_estimated_worktime"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "user_exercise_interventions", force: :cascade do |t|
|
create_table "user_exercise_interventions", force: :cascade do |t|
|
||||||
@ -309,6 +311,8 @@ ActiveRecord::Schema.define(version: 20170403162848) do
|
|||||||
t.string "user_type"
|
t.string "user_type"
|
||||||
t.integer "exercise_id"
|
t.integer "exercise_id"
|
||||||
t.integer "intervention_id"
|
t.integer "intervention_id"
|
||||||
|
t.integer "accumulated_worktime_s"
|
||||||
|
t.text "reason"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user