forked from Gitlink/forgeplus
39 lines
1.1 KiB
Ruby
39 lines
1.1 KiB
Ruby
class Users::AppliedProjectsController < Users::BaseController
|
|
before_action :check_auth
|
|
before_action :find_applied_project, except: [:index]
|
|
before_action :find_project, except: [:index]
|
|
|
|
def index
|
|
@applied_projects = AppliedProject.where(project_id: observed_user.full_admin_projects)
|
|
@applied_projects = paginate @applied_projects.order("created_at desc")
|
|
end
|
|
|
|
# 接受申请
|
|
def accept
|
|
@applied_project = Projects::AcceptJoinService.call(current_user, @applied_project)
|
|
rescue Exception => e
|
|
uid_logger_error(e.message)
|
|
tip_exception(e.message)
|
|
end
|
|
|
|
# 拒绝申请
|
|
def refuse
|
|
@applied_project = Projects::RefuseJoinService.call(current_user, @applied_project)
|
|
rescue Exception => e
|
|
uid_logger_error(e.message)
|
|
tip_exception(e.message)
|
|
end
|
|
|
|
private
|
|
def check_auth
|
|
return render_forbidden unless current_user.admin? || observed_logged_user?
|
|
end
|
|
|
|
def find_applied_project
|
|
@applied_project = AppliedProject.find_by_id params[:id]
|
|
end
|
|
|
|
def find_project
|
|
@project = @applied_project.project
|
|
end
|
|
end |