Patch #44363 ยป activity-n1-preload.patch
| app/models/attachment.rb | ||
|---|---|---|
| 57 | 57 |
"ON #{Version.table_name}.project_id = #{Project.table_name}.id " \
|
| 58 | 58 |
"OR ( #{Attachment.table_name}.container_type='Project' " \
|
| 59 | 59 |
"AND #{Attachment.table_name}.container_id = #{Project.table_name}.id )"
|
| 60 |
) |
|
| 60 |
). |
|
| 61 |
preload(:author, :container) |
|
| 61 | 62 |
end |
| 62 | 63 |
) |
| 63 | 64 |
acts_as_activity_provider( |
| ... | ... | |
| 73 | 74 |
"AND #{Document.table_name}.id = #{Attachment.table_name}.container_id " \
|
| 74 | 75 |
"LEFT JOIN #{Project.table_name} " \
|
| 75 | 76 |
"ON #{Document.table_name}.project_id = #{Project.table_name}.id"
|
| 76 |
) |
|
| 77 |
). |
|
| 78 |
preload(:author, :container) |
|
| 77 | 79 |
end |
| 78 | 80 |
) |
| 79 | 81 | |
| app/models/document.rb | ||
|---|---|---|
| 30 | 30 |
:title => Proc.new {|o| "#{l(:label_document)}: #{o.title}"},
|
| 31 | 31 |
:author => |
| 32 | 32 |
Proc.new do |o| |
| 33 |
o.attachments.reorder("#{Attachment.table_name}.created_on ASC").
|
|
| 34 |
first.try(:author) |
|
| 33 |
o.attachments.min_by(&:created_on).try(:author) |
|
| 35 | 34 |
end, |
| 36 | 35 |
:url => |
| 37 | 36 |
Proc.new do |o| |
| 38 | 37 |
{:controller => 'documents', :action => 'show', :id => o.id}
|
| 39 | 38 |
end |
| 40 | 39 |
) |
| 41 |
acts_as_activity_provider :scope => proc {preload(:project)}
|
|
| 40 |
acts_as_activity_provider :scope => proc {preload(:project, attachments: :author)}
|
|
| 42 | 41 | |
| 43 | 42 |
validates_presence_of :project, :title, :category |
| 44 | 43 |
validates_length_of :title, :maximum => 255 |
| app/models/time_entry.rb | ||
|---|---|---|
| 45 | 45 |
) |
| 46 | 46 |
acts_as_activity_provider :timestamp => "#{table_name}.created_on",
|
| 47 | 47 |
:author_key => :user_id, |
| 48 |
:scope => proc {joins(:project).preload(:project)}
|
|
| 48 |
:scope => proc {joins(:project).preload(:project, issue: [:tracker, :status])}
|
|
| 49 | 49 |
acts_as_webhookable |
| 50 | 50 | |
| 51 | 51 |
validates_presence_of :author_id, :user_id, :activity_id, :project_id, :hours, :spent_on |
| app/models/wiki_content_version.rb | ||
|---|---|---|
| 52 | 52 |
"#{table_name}.id").
|
| 53 | 53 |
joins("LEFT JOIN #{WikiPage.table_name} ON #{WikiPage.table_name}.id = #{table_name}.page_id " \
|
| 54 | 54 |
"LEFT JOIN #{Wiki.table_name} ON #{Wiki.table_name}.id = #{WikiPage.table_name}.wiki_id " \
|
| 55 |
"LEFT JOIN #{Project.table_name} ON #{Project.table_name}.id = #{Wiki.table_name}.project_id")
|
|
| 55 |
"LEFT JOIN #{Project.table_name} ON #{Project.table_name}.id = #{Wiki.table_name}.project_id").
|
|
| 56 |
preload(:author, page: {wiki: :project})
|
|
| 56 | 57 |
end |
| 57 | 58 |
) |
| 58 | 59 |
after_destroy :page_update_after_destroy |