Merge pull request '新增 uuid' (#229) from KingChan/forgeplus:pm_project_develop into pm_project_develop
This commit is contained in:
commit
6ae4aded65
|
@ -147,7 +147,7 @@ class AttachmentsController < ApplicationController
|
||||||
if params[:type] == 'history'
|
if params[:type] == 'history'
|
||||||
AttachmentHistory.find params[:id]
|
AttachmentHistory.find params[:id]
|
||||||
else
|
else
|
||||||
Attachment.find params[:id]
|
Attachment.find params[:id] || Attachment.find_by(uuid: params[:id])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ class AttachmentsController < ApplicationController
|
||||||
def attachment_candown
|
def attachment_candown
|
||||||
unless current_user.admin? || current_user.business?
|
unless current_user.admin? || current_user.business?
|
||||||
candown = true
|
candown = true
|
||||||
if @file.container
|
if @file.container && @file.uuid.nil?
|
||||||
if @file.container.is_a?(Issue)
|
if @file.container.is_a?(Issue)
|
||||||
project = @file.container.project
|
project = @file.container.project
|
||||||
candown = project.is_public || (current_user.logged? && project.member?(current_user))
|
candown = project.is_public || (current_user.logged? && project.member?(current_user))
|
||||||
|
|
|
@ -1,44 +1,45 @@
|
||||||
# == Schema Information
|
# == Schema Information
|
||||||
#
|
#
|
||||||
# Table name: attachments
|
# Table name: attachments
|
||||||
#
|
#
|
||||||
# id :integer not null, primary key
|
# id :integer not null, primary key
|
||||||
# container_id :integer
|
# container_id :integer
|
||||||
# container_type :string(30)
|
# container_type :string(30)
|
||||||
# filename :string(255) default(""), not null
|
# filename :string(255) default(""), not null
|
||||||
# disk_filename :string(255) default(""), not null
|
# disk_filename :string(255) default(""), not null
|
||||||
# filesize :integer default("0"), not null
|
# filesize :integer default("0"), not null
|
||||||
# content_type :string(255) default("")
|
# content_type :string(255) default("")
|
||||||
# digest :string(60) default(""), not null
|
# digest :string(60) default(""), not null
|
||||||
# downloads :integer default("0"), not null
|
# downloads :integer default("0"), not null
|
||||||
# author_id :integer default("0"), not null
|
# author_id :integer default("0"), not null
|
||||||
# created_on :datetime
|
# created_on :datetime
|
||||||
# description :text(65535)
|
# description :text(65535)
|
||||||
# disk_directory :string(255)
|
# disk_directory :string(255)
|
||||||
# attachtype :integer default("1")
|
# attachtype :integer default("1")
|
||||||
# is_public :integer default("1")
|
# is_public :integer default("1")
|
||||||
# copy_from :integer
|
# copy_from :integer
|
||||||
# quotes :integer default("0")
|
# quotes :integer default("0")
|
||||||
# is_publish :integer default("1")
|
# is_publish :integer default("1")
|
||||||
# publish_time :datetime
|
# publish_time :datetime
|
||||||
# resource_bank_id :integer
|
# resource_bank_id :integer
|
||||||
# unified_setting :boolean default("1")
|
# unified_setting :boolean default("1")
|
||||||
# cloud_url :string(255) default("")
|
# cloud_url :string(255) default("")
|
||||||
# course_second_category_id :integer default("0")
|
# course_second_category_id :integer default("0")
|
||||||
# delay_publish :boolean default("0")
|
# delay_publish :boolean default("0")
|
||||||
# memo_image :boolean default("0")
|
# memo_image :boolean default("0")
|
||||||
# extra_type :integer default("0")
|
# extra_type :integer default("0")
|
||||||
#
|
# uuid :string(255)
|
||||||
# Indexes
|
#
|
||||||
#
|
# Indexes
|
||||||
# index_attachments_on_author_id (author_id)
|
#
|
||||||
# index_attachments_on_container_id_and_container_type (container_id,container_type)
|
# index_attachments_on_author_id (author_id)
|
||||||
# index_attachments_on_course_second_category_id (course_second_category_id)
|
# index_attachments_on_container_id_and_container_type (container_id,container_type)
|
||||||
# index_attachments_on_created_on (created_on)
|
# index_attachments_on_course_second_category_id (course_second_category_id)
|
||||||
# index_attachments_on_is_public (is_public)
|
# index_attachments_on_created_on (created_on)
|
||||||
# index_attachments_on_quotes (quotes)
|
# index_attachments_on_is_public (is_public)
|
||||||
#
|
# index_attachments_on_quotes (quotes)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,6 +98,11 @@ class Attachment < ApplicationRecord
|
||||||
downloads
|
downloads
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def generate_uuid
|
||||||
|
self.uuid = uuid || SecureRandom.uuid
|
||||||
|
save!
|
||||||
|
end
|
||||||
|
|
||||||
def quotes_count
|
def quotes_count
|
||||||
quotes.nil? ? 0 : quotes
|
quotes.nil? ? 0 : quotes
|
||||||
end
|
end
|
||||||
|
|
|
@ -103,7 +103,7 @@ class Issue < ApplicationRecord
|
||||||
scope :closed, ->{where(status_id: 5)}
|
scope :closed, ->{where(status_id: 5)}
|
||||||
scope :opened, ->{where.not(status_id: 5)}
|
scope :opened, ->{where.not(status_id: 5)}
|
||||||
after_create :incre_project_common, :incre_user_statistic, :incre_platform_statistic
|
after_create :incre_project_common, :incre_user_statistic, :incre_platform_statistic
|
||||||
after_save :change_versions_count, :send_update_message_to_notice_system, :associate_attachment_container, :refresh_root_issue_count
|
after_save :change_versions_count, :send_update_message_to_notice_system, :associate_attachment_container, :refresh_root_issue_count, :generate_uuid
|
||||||
after_destroy :update_closed_issues_count_in_project!, :decre_project_common, :decre_user_statistic, :decre_platform_statistic
|
after_destroy :update_closed_issues_count_in_project!, :decre_project_common, :decre_user_statistic, :decre_platform_statistic
|
||||||
|
|
||||||
def incre_project_common
|
def incre_project_common
|
||||||
|
@ -187,6 +187,11 @@ class Issue < ApplicationRecord
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def generate_uuid
|
||||||
|
return if pm_project_id.nil?
|
||||||
|
attachments.map(&:generate_uuid)
|
||||||
|
end
|
||||||
|
|
||||||
def is_collaborators?
|
def is_collaborators?
|
||||||
if self.assigned_to_id.present? && self.project.present?
|
if self.assigned_to_id.present? && self.project.present?
|
||||||
self.project.member?(self.assigned_to_id)
|
self.project.member?(self.assigned_to_id)
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddUuidToAttachments < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :attachments, :uuid, :string, index: true
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue