From 804f27573389aa33e7cd548dd2d528e461118452 Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 30 Nov 2022 12:46:09 +0000 Subject: [PATCH] Add unresolved and created_by scopes --- app/controllers/lettings_logs_controller.rb | 6 +++--- app/models/lettings_log.rb | 1 + app/models/log.rb | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index 8f3cb80de..7a39cd7a7 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -13,7 +13,7 @@ class LettingsLogsController < LogsController @pagy, @logs = pagy(unpaginated_filtered_logs) @searched = search_term.presence @total_count = all_logs.size - @unresolved_count = all_logs.where(unresolved: true, created_by: current_user).count + @unresolved_count = all_logs.unresolved.created_by(current_user).count render "logs/index" end end @@ -93,7 +93,7 @@ class LettingsLogsController < LogsController respond_to do |format| format.html do flash[:notice] = nil - impacted_logs = current_user.lettings_logs.where(unresolved: true, created_by: current_user) + impacted_logs = current_user.lettings_logs.unresolved.created_by(current_user) @pagy, @logs = pagy(impacted_logs) @total_count = impacted_logs.size @@ -119,7 +119,7 @@ private def mark_logs_resolved if @log&.unresolved == true && @log.location.present? && @log.scheme.present? && @log.update(unresolved: false) notice_message = "You’ve updated all the fields affected by the scheme change." - unresolved_logs_count_for_user = current_user.lettings_logs.where(unresolved: true, created_by: current_user).count + unresolved_logs_count_for_user = current_user.lettings_logs.unresolved.created_by(current_user).count notice_message << " Update #{unresolved_logs_count_for_user} more logs" if unresolved_logs_count_for_user.positive? flash[:notice] = notice_message.html_safe end diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index fb17bb613..e79c0287d 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -46,6 +46,7 @@ class LettingsLog < Log .or(filter_by_id(param)) } scope :filter_by_before_startdate, ->(date) { where("lettings_logs.startdate >= ?", date) } + scope :unresolved, -> { where(unresolved: true) } AUTOGENERATED_FIELDS = %w[id status created_at updated_at discarded_at].freeze OPTIONAL_FIELDS = %w[first_time_property_let_as_social_housing tenancycode propcode].freeze diff --git a/app/models/log.rb b/app/models/log.rb index abde757e5..4ddb63246 100644 --- a/app/models/log.rb +++ b/app/models/log.rb @@ -23,6 +23,7 @@ class Log < ApplicationRecord where(created_by: user) end } + scope :created_by, ->(user) { where(created_by: user) } def collection_start_year return @start_year if @start_year