Merge pull request '项目管理-项目工作项接口补充' (#196) from yystopf/forgeplus:pm_project_develop into pm_project_develop
This commit is contained in:
commit
e19eae7733
|
@ -120,7 +120,11 @@ class Api::Pm::IssuesController < Api::Pm::BaseController
|
||||||
return render_not_found("ID为#{id}的疑修不存在!")
|
return render_not_found("ID为#{id}的疑修不存在!")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@issues = Issue.where(id: params[:ids], pm_project_id: params[:pm_project_id])
|
if params[:ids].blank?
|
||||||
|
@issues = Issue.where(pm_project_id: params[:pm_project_id])
|
||||||
|
else
|
||||||
|
@issues = Issue.where(id: params[:ids], pm_project_id: params[:pm_project_id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,12 +39,14 @@
|
||||||
# pm_issue_type :integer
|
# pm_issue_type :integer
|
||||||
# time_scale :decimal(10, 2) default("0.00")
|
# time_scale :decimal(10, 2) default("0.00")
|
||||||
# child_count :integer default("0")
|
# child_count :integer default("0")
|
||||||
|
# changer_id :integer
|
||||||
#
|
#
|
||||||
# Indexes
|
# Indexes
|
||||||
#
|
#
|
||||||
# index_issues_on_assigned_to_id (assigned_to_id)
|
# index_issues_on_assigned_to_id (assigned_to_id)
|
||||||
# index_issues_on_author_id (author_id)
|
# index_issues_on_author_id (author_id)
|
||||||
# index_issues_on_category_id (category_id)
|
# index_issues_on_category_id (category_id)
|
||||||
|
# index_issues_on_changer_id (changer_id)
|
||||||
# index_issues_on_created_on (created_on)
|
# index_issues_on_created_on (created_on)
|
||||||
# index_issues_on_fixed_version_id (fixed_version_id)
|
# index_issues_on_fixed_version_id (fixed_version_id)
|
||||||
# index_issues_on_priority_id (priority_id)
|
# index_issues_on_priority_id (priority_id)
|
||||||
|
@ -90,6 +92,7 @@ class Issue < ApplicationRecord
|
||||||
has_many :attach_pull_requests, through: :pull_attached_issues, source: :pull_request
|
has_many :attach_pull_requests, through: :pull_attached_issues, source: :pull_request
|
||||||
# PM 关联工作项目
|
# PM 关联工作项目
|
||||||
has_many :pm_links, as: :linkable, dependent: :destroy
|
has_many :pm_links, as: :linkable, dependent: :destroy
|
||||||
|
belongs_to :changer, class_name: 'User', foreign_key: :changer_id, optional: true
|
||||||
|
|
||||||
scope :issue_includes, ->{includes(:user)}
|
scope :issue_includes, ->{includes(:user)}
|
||||||
scope :issue_many_includes, ->{includes(journals: :user)}
|
scope :issue_many_includes, ->{includes(journals: :user)}
|
||||||
|
|
|
@ -67,6 +67,7 @@ class Api::V1::Issues::CreateService < ApplicationService
|
||||||
@created_issue.root_id = @root_id
|
@created_issue.root_id = @root_id
|
||||||
@created_issue.time_scale = @time_scale
|
@created_issue.time_scale = @time_scale
|
||||||
@created_issue.issue_tags_value = @issue_tags.order("id asc").pluck(:id).join(",") unless issue_tag_ids.blank?
|
@created_issue.issue_tags_value = @issue_tags.order("id asc").pluck(:id).join(",") unless issue_tag_ids.blank?
|
||||||
|
@created_issue.changer_id = @current_user.id
|
||||||
@created_issue.save!
|
@created_issue.save!
|
||||||
|
|
||||||
if Site.has_blockchain? && @project.use_blockchain
|
if Site.has_blockchain? && @project.use_blockchain
|
||||||
|
|
|
@ -71,8 +71,8 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
|
|
||||||
#pm相关
|
#pm相关
|
||||||
# root_id
|
# root_id
|
||||||
if pm_project_id.present?
|
if root_id.present?
|
||||||
issues = issues.where(root_id: root_id.present? ? nil : root_id)
|
issues = issues.where(root_id: root_id).or(issues.where(id: root_id))
|
||||||
end
|
end
|
||||||
|
|
||||||
# pm_issue_type
|
# pm_issue_type
|
||||||
|
|
|
@ -79,6 +79,7 @@ class Api::V1::Issues::UpdateService < ApplicationService
|
||||||
@updated_issue.time_scale = @time_scale unless @time_scale.nil?
|
@updated_issue.time_scale = @time_scale unless @time_scale.nil?
|
||||||
|
|
||||||
@updated_issue.updated_on = Time.now
|
@updated_issue.updated_on = Time.now
|
||||||
|
@updated_issue.changer_id = current_user.id
|
||||||
@updated_issue.save!
|
@updated_issue.save!
|
||||||
|
|
||||||
build_after_issue_journal_details if @updated_issue.previous_changes.present? # 操作记录
|
build_after_issue_journal_details if @updated_issue.previous_changes.present? # 操作记录
|
||||||
|
|
|
@ -33,6 +33,13 @@ json.author do
|
||||||
json.nil!
|
json.nil!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
json.changer do
|
||||||
|
if issue.changer.present?
|
||||||
|
json.partial! "api/v1/users/simple_user", locals: {user: issue.changer}
|
||||||
|
else
|
||||||
|
json.nil!
|
||||||
|
end
|
||||||
|
end
|
||||||
json.assigners issue.show_assigners.each do |assigner|
|
json.assigners issue.show_assigners.each do |assigner|
|
||||||
json.partial! "api/v1/users/simple_user", locals: {user: assigner}
|
json.partial! "api/v1/users/simple_user", locals: {user: assigner}
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,7 +3,7 @@ if user.present?
|
||||||
json.type user.type
|
json.type user.type
|
||||||
json.name user.real_name
|
json.name user.real_name
|
||||||
json.login user.login
|
json.login user.login
|
||||||
json.image_url url_to_avatar(user)
|
json.image_url Rails.application.config_for(:configuration)['platform_url'] + "/" + url_to_avatar(user).to_s
|
||||||
else
|
else
|
||||||
json.nil!
|
json.nil!
|
||||||
end
|
end
|
|
@ -1,2 +1,7 @@
|
||||||
json.id @attachment.id
|
json.id @attachment.id
|
||||||
json.filesize @attachment.filesize
|
json.title @attachment.title
|
||||||
|
json.filesize number_to_human_size(@attachment.filesize)
|
||||||
|
json.is_pdf @attachment.is_pdf?
|
||||||
|
json.url Rails.application.config_for(:configuration)['platform_url'] + (@attachment.is_pdf? ? download_url(@attachment,disposition:"inline") : download_url(@attachment)).to_s
|
||||||
|
json.created_on @attachment.created_on.strftime("%Y-%m-%d %H:%M")
|
||||||
|
json.content_type @attachment.content_type
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddChangerToIssues < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_reference :issues, :changer
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue