From cb2895592a59e181c6ceaff9b9cb3acaf5b4a2e4 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Sat, 21 May 2016 09:10:46 +0100 Subject: [PATCH] Bug 16527: Restore sticky due date behavior MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Bug 10067 has introduced a regression on the sticky due date behavior: If "remember for session" is checked and the due date is changed from 1 checkout to another, the old due date will be used. The code added by bug 10067 is really confusing and it's hard to say this patch won't introduce another regression. The manipulation of $restoreduedatespec, $duedatespec and $stickyduedate is not easy to follow. Test plan: Confirm that the regression is fixed and that this patch will not introduced a regression on bug 10067 (good luck!) Signed-off-by: Eivin Giske Skaaren Signed-off-by: Katrin Fischer Signed-off-by: Kyle M Hall (cherry picked from commit 33f1354b7b50390b43e5a2f66e1abe58817e6d4d) Signed-off-by: Frédéric Demians --- circ/circulation.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index 30573701fc..bf10bc6150 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -164,7 +164,7 @@ my $stickyduedate = $query->param('stickyduedate') || $session->param('stickydu my $duedatespec = $query->param('duedatespec') || $session->param('stickyduedate'); $duedatespec = eval { output_pref( { dt => dt_from_string( $duedatespec ), dateformat => 'iso' }); } if ( $duedatespec ); -my $restoreduedatespec = $query->param('restoreduedatespec') || $session->param('stickyduedate') || $duedatespec; +my $restoreduedatespec = $query->param('restoreduedatespec') || $duedatespec || $session->param('stickyduedate'); if ( $restoreduedatespec && $restoreduedatespec eq "highholds_empty" ) { undef $restoreduedatespec; } -- 2.39.5