forked from Gitlink/forgeplus
48 lines
1.2 KiB
Ruby
48 lines
1.2 KiB
Ruby
class IssueDependsController < ApplicationController
|
|
before_action :require_login
|
|
before_action :set_issue
|
|
before_action :check_issue_permission
|
|
|
|
def create
|
|
issue_depend = {
|
|
user_id: current_user.id,
|
|
depend_issue_id: params[:depend_issue_id].to_i,
|
|
issue_id: @issue.id
|
|
}
|
|
save_issue_depend = IssueDepend.new(issue_depend)
|
|
if save_issue_depend.save
|
|
@issue.custom_journal_detail("issue_depend","", @issue.id, current_user&.id)
|
|
normal_status(0, "添加依赖成功")
|
|
else
|
|
normal_status(0, "添加依赖失败")
|
|
end
|
|
end
|
|
|
|
|
|
def destroy
|
|
depend_issue_params = params[:id]
|
|
depend_issue = IssueDepend.find(depend_issue_params)
|
|
if depend_issue&.destroy
|
|
@issue.custom_journal_detail("destroy_issue_depend","", @issue.id, current_user&.id)
|
|
normal_status(0, "删除依赖成功")
|
|
else
|
|
normal_status(-1, "删除依赖失败")
|
|
end
|
|
end
|
|
|
|
private
|
|
def set_issue
|
|
@issue = Issue.find_by_id(params[:issue_id])
|
|
unless @issue.present?
|
|
normal_status(-1, "标签不存在")
|
|
end
|
|
end
|
|
|
|
def check_issue_permission
|
|
@project = @issue.project
|
|
unless @project.member?(current_user) || current_user.admin?
|
|
normal_status(-1, "您没有权限")
|
|
end
|
|
end
|
|
end
|