fixed issue评论里的附件解析关联,增强附件访问权限控制
This commit is contained in:
parent
467a4f0b94
commit
e8b36f33ed
|
@ -53,10 +53,24 @@ class Journal < ApplicationRecord
|
|||
|
||||
enum state: {opened: 0, resolved: 1, disabled: 2}
|
||||
|
||||
after_save :associate_attachment_container
|
||||
|
||||
def is_journal_detail?
|
||||
self.notes.blank? && self.journal_details.present?
|
||||
end
|
||||
|
||||
# 关附件到功能
|
||||
def associate_attachment_container
|
||||
att_ids = []
|
||||
# 附件的格式为(/api/attachments/ + 附件id)的形式,提取出id进行附件属性关联,做附件访问权限控制
|
||||
att_ids += self.notes.to_s.scan(/\(\/api\/attachments\/.+\)/).map{|s|s.match(/\d+/)[0]}
|
||||
att_ids += self.notes.to_s.scan(/\/api\/attachments\/.+\"/).map{|s|s.match(/\d+/)[0]}
|
||||
att_ids += self.notes.to_s.scan(/\/api\/attachments\/\d+/).map{|s|s.match(/\d+/)[0]}
|
||||
if att_ids.present?
|
||||
Attachment.where(id: att_ids).where(container_type: nil).update_all(container_id: self.id, container_type: self.class.name)
|
||||
end
|
||||
end
|
||||
|
||||
def operate_content
|
||||
content = ""
|
||||
detail = self.journal_details.take
|
||||
|
|
|
@ -3,5 +3,6 @@ json.total_operate_journals_count @total_operate_journals_count
|
|||
json.total_comment_journals_count @total_comment_journals_count
|
||||
json.total_count @journals.total_count
|
||||
json.journals @journals do |journal|
|
||||
journal.associate_attachment_container
|
||||
json.partial! "detail", journal: journal
|
||||
end
|
Loading…
Reference in New Issue