Add thank you note to rfc

This commit is contained in:
Maximilian Grundke
2017-06-08 16:46:15 +02:00
parent 9a71405c49
commit f0fb52d92a
5 changed files with 38 additions and 12 deletions

View File

@ -1,5 +1,5 @@
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
@ -34,6 +34,18 @@ class RequestForCommentsController < ApplicationController
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
end

View File

@ -24,6 +24,10 @@ class RequestForCommentPolicy < ApplicationPolicy
admin? || author?
end
def set_thank_you_note?
admin? || author?
end
def edit?
admin?
end

View File

@ -11,6 +11,7 @@ Rails.application.routes.draw do
member do
get :mark_as_solved
post :create_comment_exercise
post :set_thank_you_note
end
end
resources :comments, except: [:destroy] do

View File

@ -0,0 +1,5 @@
class AddThankYouNoteToRequestForComments < ActiveRecord::Migration
def change
add_column :request_for_comments, :thank_you_note, :text
end
end

View File

@ -11,7 +11,7 @@
#
# 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
enable_extension "plpgsql"
@ -93,7 +93,7 @@ ActiveRecord::Schema.define(version: 20170403162848) do
create_table "exercise_tags", force: :cascade do |t|
t.integer "exercise_id"
t.integer "tag_id"
t.integer "factor", default: 0
t.integer "factor", default: 1
end
create_table "exercises", force: :cascade do |t|
@ -110,7 +110,7 @@ ActiveRecord::Schema.define(version: 20170403162848) do
t.boolean "hide_file_tree"
t.boolean "allow_file_creation"
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
end
@ -247,15 +247,16 @@ ActiveRecord::Schema.define(version: 20170403162848) do
end
create_table "request_for_comments", force: :cascade do |t|
t.integer "user_id", null: false
t.integer "exercise_id", null: false
t.integer "file_id", null: false
t.integer "user_id", null: false
t.integer "exercise_id", null: false
t.integer "file_id", null: false
t.datetime "created_at"
t.datetime "updated_at"
t.string "user_type", limit: 255
t.string "user_type", limit: 255
t.text "question"
t.boolean "solved", default: false
t.boolean "solved", default: false
t.integer "submission_id"
t.text "thank_you_note"
end
create_table "searches", force: :cascade do |t|
@ -296,12 +297,13 @@ ActiveRecord::Schema.define(version: 20170403162848) do
end
create_table "user_exercise_feedbacks", force: :cascade do |t|
t.integer "exercise_id", null: false
t.integer "user_id", null: false
t.string "user_type", null: false
t.integer "exercise_id", null: false
t.integer "user_id", null: false
t.string "user_type", null: false
t.integer "difficulty"
t.integer "working_time_seconds"
t.string "feedback_text"
t.integer "user_estimated_worktime"
end
create_table "user_exercise_interventions", force: :cascade do |t|
@ -309,6 +311,8 @@ ActiveRecord::Schema.define(version: 20170403162848) do
t.string "user_type"
t.integer "exercise_id"
t.integer "intervention_id"
t.integer "accumulated_worktime_s"
t.text "reason"
t.datetime "created_at"
t.datetime "updated_at"
end