Go to file
Tomas Cohen Arazi 2bfb86afb5
Bug 40636: Add `Koha::Calendar->has_business_days_between()` method
This patch adds a new method to Koha::Calendar that returns a boolean indicating
whether there are any business days between two given dates (exclusive).

Implementation details:
* Returns 1 if any business days exist between start and end dates
* Returns 0 for consecutive days, same dates, or only holidays between
* Uses exclusive range (does not include start or end dates)
* Handles date comparison and timezone normalization
* Efficient early return when first business day is found

This is designed specifically for use cases like detecting missed
business days due to server downtime or scheduling issues.

To test:
1. Apply patch
2. Run:
   $ ktd --shell
  k$ prove t/db_dependent/Koha/Calendar.t
=> SUCCESS: All tests pass!
3. Sign off :-D

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-09-05 08:02:30 -06:00
C4 Bug 39820: Add cancellation reason and clean up cancellation request 2025-09-05 08:02:29 -06:00
Koha Bug 40636: Add `Koha::Calendar->has_business_days_between()` method 2025-09-05 08:02:30 -06:00
acqui Bug 39572: Improve EDIFACT order confirmation message 2025-07-11 15:26:51 -06:00
admin Bug 36135: (follow-up) Fix suspension search and other improvements 2025-09-03 14:00:52 -06:00
api Bug 36135: Add ability to batch modify holds 2025-09-03 14:00:48 -06:00
authorities Bug 38514: Filter out autocomplete list of authorities with ConsiderHeadingUse 2025-07-24 17:04:07 -06:00
basket Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
bin Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
bookings Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
catalogue Bug 37883: Add ability to filter search results location column by logged in location 2025-07-23 16:36:42 -06:00
cataloguing Bug 37116: Redirect to serial modification when modifying an item 2025-08-14 16:05:52 -06:00
circ Bug 9762: (follow-up) Add branchcode to Log circulation and add some override confirmations in action logs, fix typos 2025-09-03 11:42:11 -06:00
clubs Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
course_reserves Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
debian Bug 39906: (QA follow-up) Feature needs to be enabled specifically 2025-08-29 10:43:43 -06:00
docs Bug 40022: Sync teams in Koha, Wiki and release-tools 2025-06-26 11:10:00 -06:00
erm Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
errors Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
etc Bug 40304: Zebrasrv configs now work on ARM CPUs 2025-07-18 11:09:55 -06:00
ill Bug 40075: Only show pickup_location libraries 2025-08-01 13:22:48 -06:00
installer Bug 36135: DBRev 25.06.00.013 2025-09-03 14:00:53 -06:00
koha-tmpl Bug 40040: RTL CSS files not loaded in templates; legacy right-to-left.css causing UI issues 2025-09-05 08:02:27 -06:00
labels Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
lib Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
members Bug 15516: Allow to reserve first available item from a group of titles 2025-09-03 11:42:00 -06:00
misc Bug 35654: (follow-up) Update example script to be compatible with change to using Koha::Items 2025-08-29 10:43:28 -06:00
offline_circ Bug 40275: Use Koha::Patrons->find_by_identifier in the codebase 2025-09-03 14:00:46 -06:00
opac Bug 40275: Use Koha::Patrons->find_by_identifier in the codebase 2025-09-03 14:00:46 -06:00
patron_lists Bug 37266: patron_lists/delete.pl should have CSRF protection 2025-03-06 13:54:49 +01:00
patroncards Bug 39800: Error 500 when trying to delete patron card template 2025-05-19 09:49:41 +02:00
plugins Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
pos Bug 40305: Fix 'tendered' vs 'collected' variable name inconsistency 2025-07-25 14:27:16 -06:00
preservation Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
recalls Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
reports Bug 40419: Fix wrong license 2025-07-18 11:09:54 -06:00
reserve Bug 9762: Log circulation overrides 2025-09-03 11:42:07 -06:00
reviews Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
rotating_collections Bug 31930: Ignore whitespace before and after barcodes 2025-07-25 14:27:23 -06:00
serials Bug 34971: (QA follow-up) Op is now cud-reopen 2025-02-12 15:28:17 +01:00
services Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
skel
…
suggestion Bug 36155: Improve perfs of suggestion.pl when there are many budgets 2025-08-29 11:08:45 -06:00
svc Bug 9762: (follow-up) Add branchcode to Log circulation and add some override confirmations in action logs, fix typos 2025-09-03 11:42:11 -06:00
t Bug 40636: Add `Koha::Calendar->has_business_days_between()` method 2025-09-05 08:02:30 -06:00
tags Bug 38969: (QA follow-up) fix tidy 2025-04-28 18:51:18 +02:00
tools Bug 33856: Make inventory problems translatable 2025-09-05 08:02:26 -06:00
virtualshelves Bug 37434: Sort by publicationyear when copyrightdate is set in UNIMARC 2025-02-13 16:18:02 +01:00
xt Bug 40579: Add author test for CSV formula injection protection 2025-08-29 10:43:39 -06:00
.codespell-ignore Bug 39325: (QA follow-up) Adjust some issues 2025-04-28 18:51:30 +02:00
.editorconfig Bug 27375: Set YAML file settings in .editorconfig 2021-11-03 15:40:52 +01:00
.git-blame-ignore-revs Bug 39096: Add 'tidy all' commits to a git blame ignore file 2025-02-17 13:10:25 +01:00
.gitignore Bug 40539: Add cypress videos and screenshots to gitignore 2025-07-31 12:42:14 -06:00
.htaccess
…
.mailmap 25.05.00: Update .mailmap (part 4) 2025-05-26 10:19:09 -03:00
.perlcriticrc Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
.perltidyrc Bug 30002: Adjust perltidy 2023-06-08 08:32:42 -03:00
.prettierrc.js Bug 38664: Treat .vue files like other JS files 2025-02-11 14:58:25 +01:00
.proverc.dist Bug 19821: Install sample data, ES mappings and Version syspref 2021-10-25 11:27:40 +02:00
.stylelintrc.json Bug 31528: (follow-up) A few additional rules 2022-10-03 08:23:15 -03:00
INSTALL Bug 26617: Update INSTALL file to include koha-testing-docker and Gitlab links 2020-10-15 12:56:30 +02:00
Koha.pm Bug 36135: DBRev 25.06.00.013 2025-09-03 14:00:53 -06:00
LICENSE
…
MANIFEST.SKIP
…
Makefile.PL Bug 39834: Replace some tabs with spaces 2025-06-02 15:26:17 -06:00
README
…
README.md Bug 27092: Remove note about "synced repo" from README.md 2020-11-25 16:31:58 +01:00
README.robots
…
about.pl Bug 40608: (follow-up) Add warning in about page 2025-08-13 13:39:48 -06:00
app.psgi Bug 36149: Add userenv middleware to app.psgi 2024-05-14 15:04:37 -03:00
build-resources.PL Bug 32609: Use the current yarn.lock to generate node_modules 2023-02-10 11:07:57 -03:00
changelanguage.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
cpanfile Bug 40164: Add Template::Plugin::JSON dependency 2025-07-08 15:41:50 -06:00
cypress.config.ts Bug 40346: Use KOHA_INTRANET_URL for the baseUrl 2025-07-21 14:01:23 -06:00
eslint.config.mjs Bug 38524: Enable ESLint for .ts and .vue files 2025-01-16 15:56:17 +01:00
fix-perl-path.PL Bug 39325: (QA follow-up) Adjust some issues 2025-04-28 18:51:30 +02:00
gulpfile.js Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
help.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
kohaversion.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
mainpage.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
package.json Bug 40170: Replace cypress-mysql with mysql2 - Cypress tests 2025-07-08 15:42:03 -06:00
rewrite-config.PL Bug 39834: Replace some tabs with spaces 2025-06-02 15:26:17 -06:00
rspack.config.js Bug 40173: Make http-client reusable from Cypress tests 2025-07-21 14:01:07 -06:00
tsconfig.json Bug 32030: Move cypress to t - fix build_js/watch_js 2022-11-08 09:44:52 -03:00
yarn.lock Bug 40170: Update yarn.lock 2025-07-10 09:43:26 -06:00

README.md

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo