Jonathan Druart
d0040dff9f
On Nov 3rd 2019, Brazil will skip from 00:00 to 1:00 (http://www.currenttimeonline.com/dst/dst.do?tz=America/Sao_Paulo), DateTime consider it as an invalid date. It is a problem when we are playing with dates without the time part (always 00:00). When we instantiate a DateTime (from dt_from_string) we are already handling this issue, and use the floating timezone (since bug 12669). The problem remains when we generate a DateTime then add or subtract a duration, which will result in an invalid date: DateTime->new(year => 2019, month => 12, day => 3, time_zone => 'America/Sao_Paulo')->subtract(days => 30); => Nov 3rd 2019, kaboom. We should replace all the problematic occurrences of dt_from_string->subtract (or ->add) with dt_from_string(undef, undef, 'floating'), to use the floating timezone and avoid the error. Actually there are not many of them, I have found only 3 that could produce real problems. The other occurrences are: - in tests => Not a big deal (for now) - called on a datetime, so it will explode if called at midnight 00:00:00 (and nobody should work at that time). Test plan: 0/ Define the timezone to 'America/Sao_Paulo' (in your koha-conf.xml file), restart_all 1/ Set a patron's expiry date to Dec 3rd 2019, and NotifyBorrowerDeparture to 30 (default value) 2/ See the checkouts page for this user => Without this patch you get "Invalid local time for date in time zone: America/Sao_Paulo" => With this patch apply the page displays correctly QA will review the 2 other occurrences. Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> |
||
---|---|---|
.. | ||
acqui-home.pl | ||
add_user_search.pl | ||
addorder.pl | ||
addorderiso2709.pl | ||
ajax-getauthvaluedropbox.pl | ||
basket.pl | ||
basketgroup.pl | ||
basketheader.pl | ||
booksellers.pl | ||
cancelorder.pl | ||
check_budget_total.pl | ||
check_uniqueness.pl | ||
duplicate_orders.pl | ||
edi_ean.pl | ||
edifactmsgs.pl | ||
edimsg.pl | ||
finishreceive.pl | ||
histsearch.pl | ||
invoice-files.pl | ||
invoice.pl | ||
invoices.pl | ||
lateorders-export.pl | ||
lateorders.pl | ||
modordernotes.pl | ||
neworderbiblio.pl | ||
neworderempty.pl | ||
newordersubscription.pl | ||
newordersuggestion.pl | ||
ordered.pl | ||
orderreceive.pl | ||
parcel.pl | ||
parcels.pl | ||
showorder.pl | ||
spent.pl | ||
supplier.pl | ||
transferorder.pl | ||
uncertainprice.pl | ||
updatesupplier.pl | ||
z3950_search.pl |