Main Koha release repository https://koha-community.org
Find a file
Aleisha Amohia 99869d608b
Bug 6796: Consider library hours when calculating due date + tests
This feature adds the ability to set opening and closing hours for your
library and for these hours to be considered when calculating due dates
for hourly loans. If the due date for an hourly loan falls after the
library closes, the library can choose for the due date to be shortened
to meet the close time, or extended to meet the open time the next day.
This feature adds a new table 'branch_hours' for storing the open and
close times per day for each library, and a new system preference
'ConsiderLibraryHoursInCirculation' to choose which behaviour should be
followed when calculating due dates.

To test:
1. Apply patches and update database. Upgrade schema if not applying
patch with schema changes. Restart services.
2. Go to Administration -> Libraries. Edit a library and scroll to the
bottom to find the 'opening hours' section. Test adding and removing
open and close times on various days. Confirm saving works as expected.
3. Add a new library and test adding open and close times works as
expected.
4. Edit your default library and save open and close times for each day.
5. Go to Administration -> Circulation and fine rules. Edit a rule, set
the unit to 'hours' and set the loan period to a number that would cause
a checkout to be due after the close time you just set, i.e. if you set
your close time to be 5pm and your system time is currently 1pm, set the
loan period to be 5 (5 hours) so the calculated due date would be 6pm.
6. Go to Administration -> system preferences. Search for
ConsiderLibraryHoursInCirculation. It should be under 'Checkout policy' in
the Circulation system preferences. Confirm the pre-selected option is
'ignore'. Keep this tab open.
6. In a new tab, get the barcode for an item that has an itemtype
matching the circulation rule you just set.
7. Go to the checkouts for a patron that has a categorycode matching the
circulation rule you just set.
8. Check out your item. Confirm that the checkout is due at the end of
the loan period, not taking closing hours into consideration. Return the
item.
9. Back in your other tab, set ConsiderLibraryHoursInCirculation to
'close', so the due date should be shortened to meet the close time.
10. Check out your item. Confirm the checkout is due when the library
closes. Return the item.
11. Back in your other tab, set ConsiderLibraryHoursInCirculation to
'open', so the due date should be extended to meet the opening time.
12. Check out your item. Confirm the checkout is due the next day when
the library opens.
13. Confirm tests pass t/db_dependent/Circulation/CalcDateDue.t

Sponsored-by: Catalyst IT
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-12 11:26:04 +02:00
acqui Bug 36511: Some scripts missing a dependency following Bug 24879 2024-04-10 09:09:50 +02:00
admin Bug 6796: Add library_hours table and set opening hours for library 2024-04-12 11:26:03 +02:00
api Bug 33568: (follow-up) Fix duplicated key in item spec 2024-04-09 09:55:28 +02:00
authorities Bug 36379: Fix auth_finder.pl to not expect the op cud-do_search 2024-04-08 15:41:10 +02:00
basket Bug 34478: Add 'op' to sendbasketform 2024-03-01 10:58:53 +01:00
bin
bookings Bug 35574: Bookings tab from biblio details should only require manage_bookings permission 2023-12-18 15:21:04 +01:00
C4 Bug 6796: Consider library hours when calculating due date + tests 2024-04-12 11:26:04 +02:00
catalogue Bug 36438: Check object for calling metadata 2024-04-12 11:25:59 +02:00
cataloguing Bug 24879: Add check_cookie_auth when missing 2024-04-03 17:05:50 +02:00
circ Bug 36572: Fix and clean-up set library 2024-04-12 11:25:59 +02:00
clubs Bug 34478: Manual fix - add op clubs/templates-add-modify 2024-03-01 10:57:55 +01:00
course_reserves Bug 34478: Manual fix - Course reserves 2024-03-01 10:56:56 +01:00
debian Bug 30897: (QA follow-up) Enable graceful restart by default 2024-04-11 16:53:43 +02:00
docs Bug 35504: Split list of ERM Topic experts 2024-01-11 15:44:51 +01:00
erm Bug 32922: Remove space in shebang 2023-02-20 09:44:06 -03:00
errors Bug 36148: Improve error handling and restore programming errors 2024-03-01 11:01:06 +01:00
etc Bug 30897: (QA follow-up) Enable graceful restart by default 2024-04-11 16:53:43 +02:00
ill Bug 35331: Add table actions hook to ILL table 2024-03-18 11:03:33 +01:00
installer Bug 6796: ConsiderLibraryHoursInCirculation system preference 2024-04-12 11:26:03 +02:00
Koha Bug 6796: Add library_hours table and set opening hours for library 2024-04-12 11:26:03 +02:00
koha-tmpl Bug 6796: ConsiderLibraryHoursInCirculation system preference 2024-04-12 11:26:03 +02:00
labels Bug 36511: Some scripts missing a dependency following Bug 24879 2024-04-10 09:09:50 +02:00
lib/CGI/Session/Serialize
members Bug 36376: (QA follow-up) Tidy 2024-04-04 15:24:31 +02:00
misc Bug 36517: Fix output from install_plugins.pl 2024-04-12 11:26:01 +02:00
offline_circ Bug 34478: Changes for offline_circ 2024-03-01 10:58:34 +01:00
opac Bug 35969: Add error code in opac-sendbasket.pl 2024-04-12 11:26:02 +02:00
patron_lists Bug 34478: Changes for patron_lists/add-modify 2024-03-01 10:57:41 +01:00
patroncards Bug 34478: (follow-up) patroncards: FIXMEs for op and missing script 2024-03-01 11:00:00 +01:00
plugins Bug 30897: Add option to disable automated restart 2024-04-11 16:53:42 +02:00
pos Bug 34478: Manual fix - add op - pos/pay 2024-03-01 10:57:34 +01:00
preservation Bug 34030: Add a "print slips" action links to print in batch 2023-10-23 11:33:55 -03:00
recalls Bug 34478: op =~ ^cud- in pl/pm 2024-03-01 10:56:11 +01:00
reports Bug 31988: Remove reports/itemtypes.plugin 2024-03-18 18:03:39 +01:00
reserve Bug 35573: Correctly display warning when placing a hold 2024-04-05 11:51:10 +02:00
reviews Bug 34478: op =~ ^cud- in pl/pm 2024-03-01 10:56:11 +01:00
rotating_collections Bug 34478: Manual fix - add op - rotating_collections/addItems 2024-03-01 10:57:33 +01:00
serials Bug 36511: Some scripts missing a dependency following Bug 24879 2024-04-10 09:09:50 +02:00
services
skel
suggestion Bug 35916: Purchase suggestions bibliographic filter should be a "contains" search 2024-03-08 18:58:27 +01:00
svc Bug 36418: Catch more cases where header response should be application/json 2024-04-02 17:59:04 +02:00
t Bug 6796: Consider library hours when calculating due date + tests 2024-04-12 11:26:04 +02:00
tags Bug 34478: Add 'op' to tags/review 2024-03-01 10:58:25 +01:00
tools Bug 36326: Fix batch item mod/del access from biblio detail page 2024-03-22 12:26:36 +01:00
virtualshelves Bug 34478: Correct op name for list edit confirmation 2024-03-01 11:00:09 +01:00
xt Bug 24879: Exclude koha_perl_deps.pl 2024-04-03 17:05:51 +02:00
.editorconfig
.eslintrc.json
.gitignore Bug 35174: Add misc/translator/po to .gitignore 2023-11-16 08:56:36 +01:00
.htaccess
.mailmap 23.11.00: Update mailmap 2023-11-30 14:58:47 -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
.proverc.dist
.stylelintrc.json
about.pl Bug 36134: Read complete Elasticsearch configuration in about.pl 2024-03-07 17:35:36 +01:00
app.psgi
build-resources.PL Bug 32609: Use the current yarn.lock to generate node_modules 2023-02-10 11:07:57 -03:00
changelanguage.pl
cpanfile Bug 35614: Update cpanfile for Mojolicious::Plugin::OpenAPI v5.09 2024-04-04 15:24:35 +02:00
cypress.config.ts Bug 36012: Extend cypress's requestTimeout value 2024-03-22 15:07:36 +01:00
fix-perl-path.PL
gulpfile.js Bug 35428: Remove temporary files for gulp po tasks 2023-12-12 15:04:54 +01:00
help.pl
INSTALL
Koha.pm Bug 32707: DBRev 23.12.00.017 2024-04-05 17:39:50 +02:00
kohaversion.pl
LICENSE
mainpage.pl Bug 34478: Remove generate_csrf from pl 2024-03-01 10:55:56 +01:00
Makefile.PL Bug 35759: (bug 30708 follow-up) Generated dist file not installed for preservation module 2024-01-16 12:06:17 +01:00
MANIFEST.SKIP Bug 9546 : Updating make manifest tardist 2013-02-06 23:54:46 -05:00
package.json Bug 36177: Cypress tests - yarn add cypress-mysql 2024-03-12 17:47:33 +01:00
README
README.md
README.robots
rewrite-config.PL
tsconfig.json Bug 32030: Move cypress to t - fix build_js/watch_js 2022-11-08 09:44:52 -03:00
webpack.config.js Bug 30708: Vue app 2023-10-18 15:41:40 -03:00
yarn.lock Bug 36177: Cypress tests - yarn add cypress-mysql 2024-03-12 17:47:33 +01:00

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