You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
class TaskBanksController < ApplicationController
|
|
|
|
before_action :require_login
|
|
|
|
before_action :find_bank
|
|
|
|
before_action :bank_visit_auth
|
|
|
|
before_action :bank_admin, only: [:update]
|
|
|
|
|
|
|
|
def show
|
|
|
|
@bank_attachments = @bank.attachments
|
|
|
|
end
|
|
|
|
|
|
|
|
def update
|
|
|
|
ActiveRecord::Base.transaction do
|
|
|
|
begin
|
|
|
|
@bank.update_attributes(gtask_bank_params)
|
|
|
|
Attachment.associate_container(params[:attachment_ids], @bank.id, @bank.class) if params[:attachment_ids]
|
|
|
|
normal_status(0, "更新成功")
|
|
|
|
rescue Exception => e
|
|
|
|
uid_logger(e.message)
|
|
|
|
tip_exception(e.message)
|
|
|
|
raise ActiveRecord::Rollback
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def find_bank
|
|
|
|
@bank = GtaskBank.find_by!(id: params[:id])
|
|
|
|
end
|
|
|
|
|
|
|
|
def bank_admin
|
|
|
|
tip_exception(403, "无权限") unless @bank.user_id == current_user.id || current_user.admin?
|
|
|
|
end
|
|
|
|
|
|
|
|
def gtask_bank_params
|
|
|
|
tip_exception("name参数不能为空") if params[:gtask_bank][:name].blank?
|
|
|
|
tip_exception("description参数不能为空") if params[:gtask_bank][:description].blank?
|
|
|
|
if @bank.homework_type == 3
|
|
|
|
tip_exception("base_on_project参数不能为空") if params[:gtask_bank][:base_on_project].nil?
|
|
|
|
tip_exception("min_num参数不能为空") if params[:gtask_bank][:min_num].blank?
|
|
|
|
tip_exception("max_num参数不能为空") if params[:gtask_bank][:max_num].blank?
|
|
|
|
tip_exception("最小人数不能小于1") if params[:gtask_bank][:min_num].to_i < 1
|
|
|
|
tip_exception("最大人数不能小于最小人数") if params[:gtask_bank][:max_num].to_i < params[:gtask_bank][:min_num].to_i
|
|
|
|
end
|
|
|
|
params.require(:gtask_bank).permit(:name, :description) if @bank.task_type == 1
|
|
|
|
params.require(:gtask_bank).permit(:name, :description, :min_num, :max_num, :base_on_project) if @bank.task_type == 2
|
|
|
|
end
|
|
|
|
end
|