[Koha-bugs] [Bug 18697] Fix date calculations for day/week frequencies in Serials

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Mon Jun 19 21:38:29 CEST 2017


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

Kyle M Hall <kyle at bywatersolutions.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #64025|0                           |1
        is obsolete|                            |
  Attachment #64026|0                           |1
        is obsolete|                            |
  Attachment #64027|0                           |1
        is obsolete|                            |
  Attachment #64028|0                           |1
        is obsolete|                            |
  Attachment #64029|0                           |1
        is obsolete|                            |
                 CC|                            |kyle at bywatersolutions.com
             Status|Signed Off                  |Passed QA

Jonathan Druart <jonathan.druart at bugs.koha-community.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|Passed QA                   |Pushed to Master

--- Comment #15 from Kyle M Hall <kyle at bywatersolutions.com> ---
Created attachment 64317
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=64317&action=edit
Bug 18697: Fix date calculations for weekly frequencies in Serials

Same solution applied as in bug 18356/18607. Consistency++

The code in _get_next_date_week is again very similar to the code in
_get_next_date_month or _get_next_date_year. I will not merge them here,
but we could consider that in the future.

Code in GetFictiveIssueNo has been adjusted similarly to month and year.

Test plan:
[1] Do not apply this patch. Create a subscription for 3/week.
    When the first issue date is on a Saturday or Sunday, the
    intervals in the prediction pattern are 0,0,7,0,0,7,etc.
    Starting on Wed-Fri 1,1,5,etc. Starting on Mon-Tue 2,2,3,etc.
[2] Apply this patch. Check again.
    The interval should be always 2,2,3 now and no longer depend on the
    day_of_week of first issue date.
[3] Check another weekly frequency with multiple units per issue.
    Say 1 issue/3 weeks.

Signed-off-by: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

Signed-off-by: Josef Moravec <josef.moravec at gmail.com>

Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>

--- Comment #16 from Kyle M Hall <kyle at bywatersolutions.com> ---
Created attachment 64318
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=64318&action=edit
Bug 18697: Adjusting unit tests for weekly serial frequencies

Corrections and added unit tests following the changes of the first patch.

GetFictiveIssueNumber.t: New subtest for weekly frequencies.

GetNextDate.t: Correcting a few dates one day. If we use 2/week, we will
calculate an interval of 3 days and correct with 4 days at the end of
the cycle. The connection with firstacqui is not relevant anymore.

Test plan:
[1] Run t/db_dependent/Serials/GetFictiveIssueNumber.t
[2] Run t/db_dependent/Serials/GetNextDate.t

Signed-off-by: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

Signed-off-by: Josef Moravec <josef.moravec at gmail.com>

Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>

--- Comment #17 from Kyle M Hall <kyle at bywatersolutions.com> ---
Created attachment 64319
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=64319&action=edit
Bug 18697: Fix date calculation for dayly frequencies in Serials

The changes in _get_next_date_day are actually only cosmetic. The sub
now reads exactly the same as its counterparts for other units, but
the results are exactly the same as before.

In GetFictiveIssueNumber we now call _delta_units for each type of unit.
The two Delta_Days calls are moved to _delta_units. Note that this also
is a cosmetic change; results should be exactly the same.

Test plan:
[1] Edit a subscription. Test predication pattern for some daily freq.
[2] Run t/db_dependent/GetNextDate.t

Signed-off-by: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

Signed-off-by: Josef Moravec <josef.moravec at gmail.com>

Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>

--- Comment #18 from Kyle M Hall <kyle at bywatersolutions.com> ---
Created attachment 64320
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=64320&action=edit
Bug 18697: Adjusting unit tests for dayly serial frequencies

No changes were needed for GetNextDate.t.
In GetFictiveIssueNumber.t we add a subtest for daily frequencies.

Test plan:
[1] Run t/db_dependent/Serials/GetFictiveIssueNumber.t

Signed-off-by: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

Signed-off-by: Josef Moravec <josef.moravec at gmail.com>

Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>

--- Comment #19 from Kyle M Hall <kyle at bywatersolutions.com> ---
Created attachment 64321
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=64321&action=edit
Bug 18697: Final polishing

GetFictiveIssueNumber:
Returns undef instead of 0 for irregular frequencies. Also added to POD.
Removed unused variable $wkno.
Adding a return makes the if(unit) unneeded.
Replaced (a+b)/b by 1+a/b.

_delta_units:
Added a comment about its parameters.

GetFictiveIssueNumber.t:
Adjusted the tests for irregular frequencies accordingly.

Test plan:
[1] Run t/db_dependent/Serials/GetFictiveIssueNumber.t
[2] Run t/db_dependent/Serials/GetNextDate.t

Signed-off-by: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

Signed-off-by: Josef Moravec <josef.moravec at gmail.com>

Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>

--- Comment #20 from Jonathan Druart <jonathan.druart at bugs.koha-community.org> ---
Pushed to master for 17.11, thanks to everybody involved!

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


More information about the Koha-bugs mailing list