Main Koha release repository https://koha-community.org
Find a file
Julian Maurice aace5d0990 Bug 36526: Remove circular dependency from Koha::Objects
Koha::Objects depends on Koha::DateUtils, which depends on C4::Context,
which depends on Koha::Config::SysPrefs, which depends on Koha::Objects

Apart from the circular dependency, the dependency on C4::Context alone
is problematic as it loads a bunch of modules that are not needed at all
in Koha::Objects (YAML::XS and ZOOM for instance).
As Koha::Objects is used as a base for a lot of modules, we should take
care to only load the minimum required.

This patch removes uses of Koha::DateUtils from Koha::Objects.
It was only used in Koha::Objects::filter_by_last_update

filter_by_last_update now requires that the 'from' and 'to' parameters
must be DateTime objects. Previously it would also allow date and
datetime strings. This possibility was only used in two places:
* misc/cronjobs/cleanup_database.pl
* tools/cleanborrowers.pl

Now they call dt_from_string first and pass a DateTime object to
filter_by_last_update

Test plan:
1. Run `perl -cw Koha/Objects.pm`. It should only say:
   "Koha/Objects.pm syntax OK" without warnings
2. Run `prove t/db_dependent/Koha/Objects.t`
3. Verify that misc/cronjobs/cleanup_database.pl works as before,
   especially with the options --pseudo-transactions,
   --pseudo-transactions-from and --pseudo-transactions-to
4. Go to Tools » Batch patron deletion and anonymization, check "Verify
   you want to anonymize patron checkout history" and enter a date in
   the text input below. Then click Next and verify that the correct
   count of borrowers is shown. Click on the "Finish" button and verify
   that the circulation history has been correctly anonymized

See also bug 36432

Signed-off-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 675c8263b7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-05-24 14:59:19 +02:00
acqui Bug 36173: (follow-up) Tidy 2024-05-23 13:43:16 +02:00
admin Bug 36614: Restore 'phone' on the main patron search 2024-05-24 14:37:04 +02:00
api Bug 26297: (follow-up) Fix specification file 2024-05-24 12:14:59 +02:00
authorities Bug 36552: (QA follow-up) Add a theoretical check on $record 2024-05-23 14:57:05 +02:00
basket Bug 34731: Don't call SendQueuedMessages if message_id is bad 2023-09-12 09:44:59 -03:00
bin
bookings Bug 35574: Bookings tab from biblio details should only require manage_bookings permission 2024-01-03 15:48:28 +01:00
C4 Bug 32565: (follow-up) Tidy 2024-05-24 14:13:40 +02:00
catalogue Bug 35558: Do not retrieve the local image if none exists 2024-05-24 10:00:43 +02:00
cataloguing Bug 36552: (QA follow-up) Add POSIX module 2024-05-23 14:57:05 +02:00
circ Bug 8461: Tidy 2024-05-23 15:52:48 +02:00
clubs Bug 25079: Show club enrollment question answers in staff client 2023-06-23 11:00:54 -03:00
course_reserves
debian Bug 36531: Serve text/javascript compressed, like application/javascript is 2024-05-23 14:27:29 +02:00
docs Bug 35504: Split list of ERM Topic experts 2024-01-15 15:23:22 +01:00
erm
errors
etc Bug 36531: Serve text/javascript compressed, like application/javascript is 2024-05-23 14:27:29 +02:00
ill Bug 35930: Add guards for plugins_enabled 2024-02-15 10:51:57 +01:00
installer Bug 35973: DBRev 23.11.05.005 2024-05-23 15:44:29 +02:00
Koha Bug 36526: Remove circular dependency from Koha::Objects 2024-05-24 14:59:19 +02:00
koha-tmpl Bug 35559: Correctly parse previous flatpickr date 2024-05-24 14:43:23 +02:00
labels Bug 36511: Some scripts missing a dependency following Bug 24879 2024-04-11 15:57:36 +02:00
lib/CGI/Session/Serialize
members Bug 30987: Fix relationship fields for patron full and quick add forms 2024-05-23 15:23:58 +02:00
misc Bug 36526: Remove circular dependency from Koha::Objects 2024-05-24 14:59:19 +02:00
offline_circ Bug 34529: Offline circulation should be able to accept userid as well as cardnumber 2023-11-06 11:34:44 -03:00
opac Bug 35558: Do not retrieve the local image if none exists - OPAC 2024-05-24 10:00:43 +02:00
patron_lists Bug 34977: (QA follow-up) Tidy code 2023-11-08 11:41:33 -03:00
patroncards
plugins Bug 25672: Fix double output_html_with_http_headers 2023-10-31 11:02:45 -03:00
pos Bug 34731: Don't call SendQueuedMessages if message_id is bad 2023-09-12 09:44:59 -03:00
preservation Bug 34030: Add a "print slips" action links to print in batch 2023-10-23 11:33:55 -03:00
recalls Bug 34013: Recalls awaiting pickup doesn't show count on each tab 2023-06-23 10:01:04 -03:00
reports Bug 31988: Remove reports/itemtypes.plugin 2024-03-27 07:54:16 +01:00
reserve Bug 35559: Revert changes from bug 34634 2024-05-24 14:43:23 +02:00
reviews
rotating_collections
serials Bug 36511: Some scripts missing a dependency following Bug 24879 2024-04-11 15:57:36 +02:00
services
skel
suggestion Bug 34963: Restore the ability to blank fields when editing a suggestion 2024-05-23 15:50:54 +02:00
svc Bug 35942: OPAC user can enroll several times to the same club 2024-02-19 14:41:11 +01:00
t Bug 36526: Remove circular dependency from Koha::Objects 2024-05-24 14:59:19 +02:00
tags
tools Bug 36526: Remove circular dependency from Koha::Objects 2024-05-24 14:59:19 +02:00
virtualshelves Bug 35547: Show public "staff only" lists in addbybiblionumber.pl 2024-01-03 16:36:51 +01:00
xt Bug 24879: Exclude koha_perl_deps.pl 2024-03-27 07:54:16 +01: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
.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-11 11:20:07 +01:00
app.psgi Bug 36149: Add userenv middleware to app.psgi 2024-04-24 07:36:20 +02:00
build-resources.PL
changelanguage.pl
cpanfile Bug 34064: Add SQL::Translator dependency to cpanfile 2023-10-10 10:54:04 -03:00
cypress.config.ts Bug 34319: Upgrade cypress 9.7.0 to 12.17.2 2023-09-05 11:52:25 -03:00
fix-perl-path.PL
gulpfile.js Bug 35428: Remove temporary files for gulp po tasks 2024-01-03 14:16:31 +01:00
help.pl
INSTALL
Koha.pm Bug 35973: DBRev 23.11.05.005 2024-05-23 15:44:29 +02:00
kohaversion.pl
LICENSE
mainpage.pl Bug 35019: Add a CSRF token when deleting news 2023-10-20 17:22:02 -03:00
Makefile.PL Bug 35759: (bug 30708 follow-up) Generated dist file not installed for preservation module 2024-01-17 10:06:28 +01:00
MANIFEST.SKIP
package.json Bug 34319: Upgrade cypress 9.7.0 to 12.17.2 2023-09-05 11:52:25 -03:00
README
README.md
README.robots
rewrite-config.PL
tsconfig.json
webpack.config.js Bug 30708: Vue app 2023-10-18 15:41:40 -03:00
yarn.lock Bug 34319: Update yarn.lock 2023-09-05 11:52:25 -03: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