Browse Source

Move db queries to homepage presenter

pull/2630/head
Rachael Booth 2 years ago
parent
commit
6cf2e6ff39
  1. 3
      app/presenters/homepage_presenter.rb
  2. 2
      app/views/home/index.html.erb
  3. 4
      app/views/notifications/_notification_home_section.html.erb

3
app/presenters/homepage_presenter.rb

@ -2,7 +2,7 @@ class HomepagePresenter
include Rails.application.routes.url_helpers
include CollectionTimeHelper
attr_reader :current_year_in_progress_lettings_data, :current_year_completed_lettings_data, :current_year_in_progress_sales_data, :current_year_completed_sales_data, :last_year_in_progress_lettings_data, :last_year_completed_lettings_data, :last_year_in_progress_sales_data, :last_year_completed_sales_data, :incomplete_schemes_data
attr_reader :current_year_in_progress_lettings_data, :current_year_completed_lettings_data, :current_year_in_progress_sales_data, :current_year_completed_sales_data, :last_year_in_progress_lettings_data, :last_year_completed_lettings_data, :last_year_in_progress_sales_data, :last_year_completed_sales_data, :incomplete_schemes_data, :active_notifications
def initialize(user)
@user = user
@ -25,6 +25,7 @@ class HomepagePresenter
path: schemes_path(status: [:incomplete], owning_organisation_select: "all"),
}
end
@active_notifications = Notification.active if @user.support?
end
def title_text_for_user

2
app/views/home/index.html.erb

@ -7,7 +7,7 @@
</div>
<% if @current_user.support? %>
<%= render partial: "notifications/notification_home_section" %>
<%= render partial: "notifications/notification_home_section", locals: { active_notifications: @homepage_presenter.active_notifications } %>
<% end %>
<div class="app-data-box-section govuk-grid-row">

4
app/views/notifications/_notification_home_section.html.erb

@ -1,6 +1,6 @@
<div class="govuk-grid-row">
<p class="govuk-!-font-weight-bold"><%== I18n.t("active_notifications", count: Notification.active.count) %></p>
<% Notification.active.each do |notification| %>
<p class="govuk-!-font-weight-bold"><%== I18n.t("active_notifications", count: active_notifications.count) %></p>
<% active_notifications.each do |notification| %>
<div class="govuk-grid-row">
<div class="govuk-grid-column-three-quarters">
<%== render_for_home(notification) %>

Loading…
Cancel
Save