forked from jasder/forgeplus
修改工单的评论修改内容后显示记录的问题
This commit is contained in:
parent
d368244d22
commit
cf27fe8839
|
@ -19,127 +19,129 @@ class Journal < ApplicationRecord
|
||||||
details = self.journal_details.select(:property, :prop_key, :old_value, :value).pluck(:property, :prop_key, :old_value, :value)
|
details = self.journal_details.select(:property, :prop_key, :old_value, :value).pluck(:property, :prop_key, :old_value, :value)
|
||||||
if details.size > 0
|
if details.size > 0
|
||||||
details.each do |de|
|
details.each do |de|
|
||||||
if de[0] == "attr"
|
unless de[1] == "description"
|
||||||
content = ""
|
if de[0] == "attr"
|
||||||
else
|
content = ""
|
||||||
content = "附件"
|
|
||||||
end
|
|
||||||
old_value = de[2]
|
|
||||||
value = de[3]
|
|
||||||
if de[1].to_i > 0
|
|
||||||
prop_name = ""
|
|
||||||
else
|
|
||||||
prop_name = I18n.t("journal_detail.#{de[1]}")
|
|
||||||
case de[1]
|
|
||||||
when "is_private"
|
|
||||||
old_value = I18n.t("journal_detail.#{de[2]}")
|
|
||||||
value = I18n.t("journal_detail.#{de[3]}")
|
|
||||||
when "assigned_to_id"
|
|
||||||
u = User.select(:id, :login, :lastname, :firstname, :nickname)
|
|
||||||
old_value = de[2].to_i > 0 ? u.find_by_id(de[2]).try(:show_real_name) : ""
|
|
||||||
assign_user = de[3].to_i > 0 ? u.find_by_id(de[3]) : ""
|
|
||||||
if assign_user.present?
|
|
||||||
value = assign_user.try(:show_real_name)
|
|
||||||
else
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
|
|
||||||
when "tracker_id"
|
|
||||||
t = Tracker.select(:id, :name)
|
|
||||||
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name) : ""
|
|
||||||
tracker_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
|
||||||
if tracker_name
|
|
||||||
value = tracker_name.try(:name)
|
|
||||||
else
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
|
|
||||||
when "status_id"
|
|
||||||
t = IssueStatus.select(:id, :name)
|
|
||||||
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name) : ""
|
|
||||||
type_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
|
||||||
if type_name
|
|
||||||
value = type_name.try(:name)
|
|
||||||
else
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
when "priority_id"
|
|
||||||
t = IssuePriority.select(:id, :name)
|
|
||||||
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name): ""
|
|
||||||
type_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
|
||||||
if type_name
|
|
||||||
value = type_name.try(:name)
|
|
||||||
else
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
when "issue_tags_value"
|
|
||||||
t = IssueTag.select(:id, :name)
|
|
||||||
old_value = de[2].to_i > 0 ? t.where(id: de[2].split(",")).select(:id,:name,:color).as_json : ""
|
|
||||||
if de[3].present?
|
|
||||||
value = t.where(id: de[3].split(",")).select(:id,:name,:color).as_json
|
|
||||||
else
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
when "fixed_version_id"
|
|
||||||
t = Version.select(:id, :name)
|
|
||||||
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name) : ""
|
|
||||||
type_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
|
||||||
if type_name
|
|
||||||
value = type_name.try(:name)
|
|
||||||
else
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
when "end_time"
|
|
||||||
t = IssueTime.select(:id, :start_time, :end_time)
|
|
||||||
type_name = de[2].to_i > 0 ? t.find_by_id(de[2]) : ""
|
|
||||||
if type_name.present?
|
|
||||||
old_value = "停止工作"
|
|
||||||
d_value = type_name.end_time.to_i - type_name.start_time.to_i
|
|
||||||
value = "#{Time.at(d_value).utc.strftime('%H h %M min %S s')}"
|
|
||||||
else
|
|
||||||
old_value = "停止工作"
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
when "issue_depend"
|
|
||||||
t = Issue.select(:id,:subject )
|
|
||||||
type_name = de[3].present? ? t&.find_by_id(de[3]) : ""
|
|
||||||
if type_name.present?
|
|
||||||
old_value = "增加依赖"
|
|
||||||
value = {
|
|
||||||
id: de[3],
|
|
||||||
name: type_name.try(:subject)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
old_value = "增加依赖"
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
when "destroy_issue_depend"
|
|
||||||
t = Issue.select(:id,:subject )
|
|
||||||
type_name = de[3].present? ? t&.find_by_id(de[3]) : ""
|
|
||||||
if type_name.present?
|
|
||||||
old_value = "删除依赖"
|
|
||||||
value = {
|
|
||||||
id: de[3],
|
|
||||||
name: type_name.try(:subject)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
old_value = "删除依赖"
|
|
||||||
value = ""
|
|
||||||
end
|
|
||||||
when "done_ratio"
|
|
||||||
old_value = "#{de[2]}%"
|
|
||||||
value = "#{de[3]}%"
|
|
||||||
else
|
else
|
||||||
old_value = de[2]
|
content = "附件"
|
||||||
value = de[3]
|
|
||||||
end
|
end
|
||||||
|
old_value = de[2]
|
||||||
|
value = de[3]
|
||||||
|
if de[1].to_i > 0
|
||||||
|
prop_name = ""
|
||||||
|
else
|
||||||
|
prop_name = I18n.t("journal_detail.#{de[1]}")
|
||||||
|
case de[1]
|
||||||
|
when "is_private"
|
||||||
|
old_value = I18n.t("journal_detail.#{de[2]}")
|
||||||
|
value = I18n.t("journal_detail.#{de[3]}")
|
||||||
|
when "assigned_to_id"
|
||||||
|
u = User.select(:id, :login, :lastname, :firstname, :nickname)
|
||||||
|
old_value = de[2].to_i > 0 ? u.find_by_id(de[2]).try(:show_real_name) : ""
|
||||||
|
assign_user = de[3].to_i > 0 ? u.find_by_id(de[3]) : ""
|
||||||
|
if assign_user.present?
|
||||||
|
value = assign_user.try(:show_real_name)
|
||||||
|
else
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
|
||||||
|
when "tracker_id"
|
||||||
|
t = Tracker.select(:id, :name)
|
||||||
|
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name) : ""
|
||||||
|
tracker_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
||||||
|
if tracker_name
|
||||||
|
value = tracker_name.try(:name)
|
||||||
|
else
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
|
||||||
|
when "status_id"
|
||||||
|
t = IssueStatus.select(:id, :name)
|
||||||
|
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name) : ""
|
||||||
|
type_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
||||||
|
if type_name
|
||||||
|
value = type_name.try(:name)
|
||||||
|
else
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
when "priority_id"
|
||||||
|
t = IssuePriority.select(:id, :name)
|
||||||
|
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name): ""
|
||||||
|
type_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
||||||
|
if type_name
|
||||||
|
value = type_name.try(:name)
|
||||||
|
else
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
when "issue_tags_value"
|
||||||
|
t = IssueTag.select(:id, :name)
|
||||||
|
old_value = de[2].to_i > 0 ? t.where(id: de[2].split(",")).select(:id,:name,:color).as_json : ""
|
||||||
|
if de[3].present?
|
||||||
|
value = t.where(id: de[3].split(",")).select(:id,:name,:color).as_json
|
||||||
|
else
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
when "fixed_version_id"
|
||||||
|
t = Version.select(:id, :name)
|
||||||
|
old_value = de[2].to_i > 0 ? t.find_by_id(de[2]).try(:name) : ""
|
||||||
|
type_name = de[3].to_i > 0 ? t.find_by_id(de[3]) : ""
|
||||||
|
if type_name
|
||||||
|
value = type_name.try(:name)
|
||||||
|
else
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
when "end_time"
|
||||||
|
t = IssueTime.select(:id, :start_time, :end_time)
|
||||||
|
type_name = de[2].to_i > 0 ? t.find_by_id(de[2]) : ""
|
||||||
|
if type_name.present?
|
||||||
|
old_value = "停止工作"
|
||||||
|
d_value = type_name.end_time.to_i - type_name.start_time.to_i
|
||||||
|
value = "#{Time.at(d_value).utc.strftime('%H h %M min %S s')}"
|
||||||
|
else
|
||||||
|
old_value = "停止工作"
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
when "issue_depend"
|
||||||
|
t = Issue.select(:id,:subject )
|
||||||
|
type_name = de[3].present? ? t&.find_by_id(de[3]) : ""
|
||||||
|
if type_name.present?
|
||||||
|
old_value = "增加依赖"
|
||||||
|
value = {
|
||||||
|
id: de[3],
|
||||||
|
name: type_name.try(:subject)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
old_value = "增加依赖"
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
when "destroy_issue_depend"
|
||||||
|
t = Issue.select(:id,:subject )
|
||||||
|
type_name = de[3].present? ? t&.find_by_id(de[3]) : ""
|
||||||
|
if type_name.present?
|
||||||
|
old_value = "删除依赖"
|
||||||
|
value = {
|
||||||
|
id: de[3],
|
||||||
|
name: type_name.try(:subject)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
old_value = "删除依赖"
|
||||||
|
value = ""
|
||||||
|
end
|
||||||
|
when "done_ratio"
|
||||||
|
old_value = "#{de[2]}%"
|
||||||
|
value = "#{de[3]}%"
|
||||||
|
else
|
||||||
|
old_value = de[2]
|
||||||
|
value = de[3]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
prop_hash = {
|
||||||
|
detail: (content + prop_name),
|
||||||
|
old_value: old_value,
|
||||||
|
value: value
|
||||||
|
}
|
||||||
|
send_details.push(prop_hash)
|
||||||
end
|
end
|
||||||
prop_hash = {
|
|
||||||
detail: (content + prop_name),
|
|
||||||
old_value: old_value,
|
|
||||||
value: value
|
|
||||||
}
|
|
||||||
send_details.push(prop_hash)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue