From e6b6648d0c9fb3223c4394e45c81793369ff962e Mon Sep 17 00:00:00 2001 From: Martin Artnik Date: Mon, 9 Jun 2025 13:39:45 +0200 Subject: [PATCH] Fix sorting projects/folders by date parameters [SCI-11989] --- app/services/lists/projects_service.rb | 10 +++++----- config/initializers/constants.rb | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/services/lists/projects_service.rb b/app/services/lists/projects_service.rb index 830f17e06..12527411c 100644 --- a/app/services/lists/projects_service.rb +++ b/app/services/lists/projects_service.rb @@ -220,15 +220,15 @@ module Lists end def project_start_date(object) - return Date::Infinity.new unless project?(object) + return Constants::INFINITE_DATE unless project?(object) - object.start_date || Date::Infinity.new + object.start_date || Constants::INFINITE_DATE end def project_due_date(object) - return Date::Infinity.new unless project?(object) + return Constants::INFINITE_DATE unless project?(object) - object.due_date || Date::Infinity.new + object.due_date || Constants::INFINITE_DATE end def project_status(object) @@ -256,7 +256,7 @@ module Lists end def project_timestamp(timestamp_name, object) - project?(object) ? object[timestamp_name] : Date::Infinity.new + project?(object) ? object[timestamp_name] : Constants::INFINITE_DATE end def project?(object) diff --git a/config/initializers/constants.rb b/config/initializers/constants.rb index d30579b45..7d73ecfd9 100644 --- a/config/initializers/constants.rb +++ b/config/initializers/constants.rb @@ -449,6 +449,9 @@ class Constants done: '#5EC66F' } + # Infinite date, for use in sorting + INFINITE_DATE = Date.new(9999, 1, 1).freeze + # Interval time for polling asset changes when editing with SciNote Edit ASSET_POLLING_INTERVAL = 5000