[Koha-bugs] [Bug 32563] New: Reservedate becomes expirationdate in some cases

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed Jan 4 13:17:06 CET 2023


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32563

            Bug ID: 32563
           Summary: Reservedate becomes expirationdate in some cases
 Change sponsored?: ---
           Product: Koha
           Version: master
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P5 - low
         Component: Hold requests
          Assignee: koha-bugs at lists.koha-community.org
          Reporter: slavashishkin at gmail.com
        QA Contact: testopia at bugs.koha-community.org
                CC: gmcharlt at gmail.com

Database fields DATE/DATETIME/TIMESTAMP in DBIX-Class are automatically
available as DateTime objects that we can perform operations on (for example
add an interval). But there is a feature: addition or subtraction operations
(->add in this case) change the main object in-place and return the new value
as the result of the expression. Because of this feature, due to the fact that
the address to ->reserve date was passed to the ->add function, ->reservedate
itself was changed, and then the result was assigned to ->expirationdate. This
implicit feature resulted in an error when both dates after the given operation
were the same in the future. 

Solution: To not change the original DateTime object, it must be cloned:
https://metacpan.org/pod/DateTime#$dt-%3Eclone , accordingly, the changes will
be made in a temporary copy, and a new value will be assigned to
expirationdate, and the original reservedate will not change.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list