From 082b3b282f7863e4b10e9cb34624b4b167b75588 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 30 Jun 2019 16:11:21 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20expiration=20date=20of=20filters=20being?= =?UTF-8?q?=20set=20to=20=E2=80=9CNever=E2=80=9D=20when=20editing=20them?= =?UTF-8?q?=20(#11204)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When editing a custom filter, select the shortest preset duration that still covers the remaining time of that filter. Fixes #9506 --- app/models/custom_filter.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/models/custom_filter.rb b/app/models/custom_filter.rb index 342207a55..382562fb8 100644 --- a/app/models/custom_filter.rb +++ b/app/models/custom_filter.rb @@ -35,6 +35,13 @@ class CustomFilter < ApplicationRecord before_validation :clean_up_contexts after_commit :remove_cache + def expires_in + return @expires_in if defined?(@expires_in) + return nil if expires_at.nil? + + [30.minutes, 1.hour, 6.hours, 12.hours, 1.day, 1.week].find { |expires_in| expires_in.from_now >= expires_at } + end + private def clean_up_contexts