| @@ -125,9 +125,15 @@ class IssuesController < ApplicationController | |||||
| end | end | ||||
| end | end | ||||
| if params[:issue_tag_ids].present? | if params[:issue_tag_ids].present? | ||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create!(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| if params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size > 1 | |||||
| return normal_status(-1, "最多只能创建一个标记。") | |||||
| elsif params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size == 1 | |||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create!(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| else | |||||
| return normal_status(-1, "请输入正确的标记。") | |||||
| end | |||||
| end | end | ||||
| if params[:assigned_to_id].present? | if params[:assigned_to_id].present? | ||||
| Tiding.create!(user_id: params[:assigned_to_id], trigger_user_id: current_user.id, | Tiding.create!(user_id: params[:assigned_to_id], trigger_user_id: current_user.id, | ||||
| @@ -146,7 +152,7 @@ class IssuesController < ApplicationController | |||||
| Rails.logger.info "[ATME] maybe to at such users: #{@atme_receivers.pluck(:login)}" | Rails.logger.info "[ATME] maybe to at such users: #{@atme_receivers.pluck(:login)}" | ||||
| AtmeService.call(current_user, @atme_receivers, @issue) if @atme_receivers.size > 0 | AtmeService.call(current_user, @atme_receivers, @issue) if @atme_receivers.size > 0 | ||||
| render json: {status: 0, message: "创建成", id: @issue.id} | |||||
| render json: {status: 0, message: "创建成功", id: @issue.id} | |||||
| else | else | ||||
| normal_status(-1, "创建失败") | normal_status(-1, "创建失败") | ||||
| end | end | ||||
| @@ -165,11 +171,17 @@ class IssuesController < ApplicationController | |||||
| last_token = @issue.token | last_token = @issue.token | ||||
| last_status_id = @issue.status_id | last_status_id = @issue.status_id | ||||
| @issue&.issue_tags_relates&.destroy_all if params[:issue_tag_ids].blank? | @issue&.issue_tags_relates&.destroy_all if params[:issue_tag_ids].blank? | ||||
| if params[:issue_tag_ids].present? && !@issue&.issue_tags_relates.where(issue_tag_id: params[:issue_tag_ids]).exists? | |||||
| @issue&.issue_tags_relates&.destroy_all | |||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| if params[:issue_tag_ids].present? | |||||
| if params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size > 1 | |||||
| return normal_status(-1, "最多只能创建一个标记。") | |||||
| elsif params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size == 1 | |||||
| @issue&.issue_tags_relates&.destroy_all | |||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create!(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| else | |||||
| return normal_status(-1, "请输入正确的标记。") | |||||
| end | |||||
| end | end | ||||
| issue_files = params[:attachment_ids] | issue_files = params[:attachment_ids] | ||||
| @@ -91,10 +91,16 @@ class PullRequestsController < ApplicationController | |||||
| @issue&.issue_tags_relates&.destroy_all if params[:issue_tag_ids].blank? | @issue&.issue_tags_relates&.destroy_all if params[:issue_tag_ids].blank? | ||||
| if params[:issue_tag_ids].present? && !@issue&.issue_tags_relates.where(issue_tag_id: params[:issue_tag_ids]).exists? | if params[:issue_tag_ids].present? && !@issue&.issue_tags_relates.where(issue_tag_id: params[:issue_tag_ids]).exists? | ||||
| @issue&.issue_tags_relates&.destroy_all | |||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| if params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size > 1 | |||||
| return normal_status(-1, "最多只能创建一个标记。") | |||||
| elsif params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size == 1 | |||||
| @issue&.issue_tags_relates&.destroy_all | |||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create!(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| else | |||||
| return normal_status(-1, "请输入正确的标记。") | |||||
| end | |||||
| end | end | ||||
| if @issue.update_attributes(@issue_params) | if @issue.update_attributes(@issue_params) | ||||
| @@ -104,9 +110,16 @@ class PullRequestsController < ApplicationController | |||||
| if gitea_pull[:status] === :success | if gitea_pull[:status] === :success | ||||
| if params[:issue_tag_ids].present? | if params[:issue_tag_ids].present? | ||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| if params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size > 1 | |||||
| return normal_status(-1, "最多只能创建一个标记。") | |||||
| elsif params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size == 1 | |||||
| @issue&.issue_tags_relates&.destroy_all | |||||
| params[:issue_tag_ids].each do |tag| | |||||
| IssueTagsRelate.create!(issue_id: @issue.id, issue_tag_id: tag) | |||||
| end | |||||
| else | |||||
| return normal_status(-1, "请输入正确的标记。") | |||||
| end | |||||
| end | end | ||||
| if params[:status_id].to_i == 5 | if params[:status_id].to_i == 5 | ||||
| @issue.issue_times.update_all(end_time: Time.now) | @issue.issue_times.update_all(end_time: Time.now) | ||||
| @@ -58,8 +58,12 @@ class PullRequests::CreateService < ApplicationService | |||||
| end | end | ||||
| def save_issue_tags_relates! | def save_issue_tags_relates! | ||||
| issue_tag_ids.each do |tag| | |||||
| IssueTagsRelate.create!(issue_id: pull_issue.id, issue_tag_id: tag) | |||||
| if issue_tag_ids.size > 1 | |||||
| raise "最多只能创建一个标记。" | |||||
| else | |||||
| issue_tag_ids.each do |tag| | |||||
| IssueTagsRelate.create!(issue_id: pull_issue.id, issue_tag_id: tag) | |||||
| end | |||||
| end | end | ||||
| end | end | ||||
| @@ -1,5 +1,6 @@ | |||||
| pr = issue.pull_request | pr = issue.pull_request | ||||
| json.pull_request_id pr.id | json.pull_request_id pr.id | ||||
| json.pull_request_number pr.gitea_number | |||||
| json.pull_request_status pr.status | json.pull_request_status pr.status | ||||
| json.pull_request_head pr.head | json.pull_request_head pr.head | ||||
| json.pull_request_base pr.base | json.pull_request_base pr.base | ||||