|
- 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
|