Skip to content

Commit 19825ee

Browse files
authored
Fix N plus ones for partners (#4952)
* Fix N plus ones for partners * Fix profile show N+1
1 parent 7daa2dc commit 19825ee

File tree

6 files changed

+14
-10
lines changed

6 files changed

+14
-10
lines changed

app/controllers/partners/dashboards_controller.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ def show
1111
@partner_requests = @partner.requests.order(created_at: :desc).limit(10)
1212
@upcoming_distributions = @partner.distributions.order(issued_at: :desc)
1313
.where(issued_at: Time.zone.today..)
14-
@distributions = @partner.distributions.order(issued_at: :desc)
14+
@distributions = @partner.distributions
15+
.includes(line_items: :item)
16+
.order(issued_at: :desc)
1517
.where(issued_at: ...Time.zone.today)
1618
.limit(5)
1719

1820
@parent_org = Organization.find(@partner.organization_id)
1921

2022
@requests_in_progress = @parent_org
2123
.ordered_requests
24+
.includes(item_requests: :item)
2225
.where(partner: @partner.id)
2326
.where(status: 0)
2427

app/controllers/partners/distributions_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class DistributionsController < BaseController
77

88
def index
99
@partner = current_partner
10-
@distributions = @partner.distributions.order(issued_at: :desc)
10+
@distributions = @partner.distributions.includes(:items).order(issued_at: :desc)
1111

1212
@parent_org = Organization.find(@partner.organization_id)
1313
end

app/controllers/partners/profiles_controller.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module Partners
22
class ProfilesController < BaseController
3-
def show; end
3+
def show
4+
@profile = Partners::Profile.includes(:counties).find_by(partner_id: current_partner.id)
5+
end
46

57
def edit
68
@counties = County.in_category_name_order

app/controllers/partners/requests_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class RequestsController < BaseController
44

55
def index
66
@partner = current_partner
7-
@partner_requests = @partner.requests.order(created_at: :desc).limit(10)
7+
@partner_requests = @partner.requests.includes(:item_requests).order(created_at: :desc).limit(10)
88
end
99

1010
def new

app/views/partners/profiles/show.html.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@
2929
<div class="container-fluid">
3030
<div class="row">
3131
<div class="col-6">
32-
<%= render partial: "partners/profiles/show/agency_information", locals: { profile: current_partner.profile } %>
32+
<%= render partial: "partners/profiles/show/agency_information", locals: { profile: @profile } %>
3333
</div>
3434
<% current_partner.partials_to_show.each do |partial| %>
3535
<div class="col-6">
36-
<%= render partial: "partners/profiles/show/#{partial}", locals: { profile: current_partner.profile } %>
36+
<%= render partial: "partners/profiles/show/#{partial}", locals: { profile: @profile } %>
3737
</div>
3838
<% end %>
3939
<div class="col-6">
40-
<%= render partial: "partners/profiles/show/partner_settings", locals: { profile: current_partner.profile } %>
40+
<%= render partial: "partners/profiles/show/partner_settings", locals: { profile: @profile } %>
4141
</div>
4242
</div>
4343
</div>

app/views/partners/profiles/show/_area_served.html.erb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
<table>
66
<th class="county-heading">County</th><th class="county-heading percent">% of Clients in county</th>
77

8-
<% served_area_col = Partners::ServedArea.where(partner_profile: profile) %>
9-
<% if served_area_col.any? %>
10-
<%= render partial: "partners/profiles/show/served_area_row", collection: served_area_col %>
8+
<% if profile.served_areas.load.any? %>
9+
<%= render partial: "partners/profiles/show/served_area_row", collection: profile.served_areas %>
1110
<% else %>
1211
<tr><td class="county-name"><%= "No County Specified" %></td><td class="client-share percent">100 %</td></tr>
1312
<% end %>

0 commit comments

Comments
 (0)