forgeplus/app/controllers/users/clas_controller.rb

44 lines
1.2 KiB
Ruby
Raw Normal View History

2023-06-13 15:30:16 +08:00
class Users::ClasController < Users::BaseController
2023-06-16 08:44:26 +08:00
before_action :require_login
before_action :private_user_resources!
2023-06-13 15:30:16 +08:00
def index
2023-06-16 10:07:06 +08:00
@user_clas = UserCla.where(user: current_user)
2023-06-13 15:30:16 +08:00
end
2023-06-19 16:43:06 +08:00
def show
@user_cla = current_user.user_clas.find params[:id]
end
2023-06-13 15:30:16 +08:00
def create
2023-06-16 10:07:06 +08:00
@user_cla = current_user.user_clas.find_by(cla_id: params[:cla_id])
2023-06-20 15:27:03 +08:00
if @user_cla.nil?
2023-06-16 10:07:06 +08:00
ActiveRecord::Base.transaction do
Users::UserClaForm.new(user_cla_params).validate!
@user_cla = UserCla.build(user_cla_params, current_user.id)
end
2023-06-20 15:27:03 +08:00
elsif @user_cla.state == "failed"
@user_cla.update_by_params(user_cla_params)
elsif @user_cla.state == "signed"
return render_error('协议生效中,请勿重复签署')
2023-06-13 15:30:16 +08:00
end
2023-06-16 10:07:06 +08:00
render_ok
2023-06-13 15:30:16 +08:00
rescue Exception => e
uid_logger_error(e.message)
tip_exception(e.message)
end
2023-06-16 10:07:06 +08:00
def destroy
2023-06-16 11:01:27 +08:00
@user_cla = current_user.user_clas.find params[:id]
2023-06-16 10:07:06 +08:00
@user_cla.update_attributes(state: 2)
render_ok
end
2023-06-13 15:30:16 +08:00
private
def user_cla_params
params.permit(:email, :real_name, :cla_id)
end
end