Messages to completions conversion
This commit is contained in:
@@ -1,8 +1,15 @@
|
||||
class MessagesController < ApplicationController
|
||||
include CompletionsConcern
|
||||
|
||||
skip_before_action :verify_authenticity_token, only: %i[ create ]
|
||||
|
||||
before_action :set_contest, only: %i[ destroy ]
|
||||
before_action :set_message, only: %i[ destroy ]
|
||||
before_action :set_contest, only: %i[ convert destroy ]
|
||||
before_action :set_message, only: %i[ convert destroy ]
|
||||
before_action :set_data, only: %i[ convert ]
|
||||
|
||||
def self.local_prefixes
|
||||
super + [ "completions" ]
|
||||
end
|
||||
|
||||
def create
|
||||
allow_unauthenticated_access
|
||||
@@ -10,7 +17,8 @@ class MessagesController < ApplicationController
|
||||
|
||||
@message_params = message_params
|
||||
@contest = Contest.find_by_token_for(:token, params[:token])
|
||||
@message = Message.new(text: params[:text], time_seconds: params[:time_seconds], contest: @contest)
|
||||
@message = Message.new(text: params[:text], time_seconds: params[:time_seconds],
|
||||
display_time: display_time(params[:time_seconds]), contest: @contest)
|
||||
if @contest && @message.save
|
||||
respond_to do |format|
|
||||
format.json { render json: {}, status: 200 }
|
||||
@@ -22,6 +30,15 @@ class MessagesController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def convert
|
||||
authorize @contest
|
||||
|
||||
@completion = Completion.new()
|
||||
@completion.display_time_from_start = @message.display_time
|
||||
|
||||
render "completions/new"
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize @contest
|
||||
|
||||
@@ -36,10 +53,15 @@ class MessagesController < ApplicationController
|
||||
end
|
||||
|
||||
def set_message
|
||||
@message = Message.find(params[:id])
|
||||
@message = Message.find(params[:message_id])
|
||||
end
|
||||
|
||||
def set_data
|
||||
@contestants = @contest.contestants
|
||||
@puzzles = @contest.puzzles
|
||||
end
|
||||
|
||||
def message_params
|
||||
params.expect(message: [ :text, :time_seconds, :token ])
|
||||
params.expect(message: [ :author, :text, :time_seconds, :token ])
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user