Main Koha release repository https://koha-community.org
Find a file
Jonathan Druart 3347e66824
Bug 32894: Remove wrong caching from Koha:: methods - simple
In some of our Koha:: objects we have methods that cache their result and return it in subsequent calls. However there is no invalidation of the cache if the object is modified.

For instance, in Koha/ArticleRequest.pm

sub biblio {
    my ($self) = @_;

    $self->{_biblio} ||= Koha::Biblios->find( $self->biblionumber() );

    return $self->{_biblio};
}

This pattern exists in several places.

It can lead to confusion and incorrect results, such as:

use Koha::ArticleRequests;
my $ar = Koha::ArticleRequest->new({
    borrowernumber => 42,
    biblionumber => 42,
})->store;
say $ar->biblio->biblionumber;               # Display 42, correct
$ar->set({ biblionumber => 24 })->store;
say $ar->biblio->biblionumber;               # Display 42, wrong
$ar->discard_changes;
say $ar->biblio->biblionumber;               # Display 42, wrong
$ar->delete;

We should remove those caching and rely on DBIC/DBMS caching mechanism instead.

This patch is adjusting the trivial occurrences

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 68216c541b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2023-07-12 07:50:40 +01:00
acqui Bug 34022: Adjust items data structure 2023-06-26 14:49:52 +02:00
admin Bug 33594: Only sort on title main heading 2023-05-18 11:03:28 -03:00
api Bug 33859: Use the phrase 'Identity providers' instead of 'Authentication providers' 2023-06-09 11:22:07 -03:00
authorities Bug 33803: Remove comment about tab width 2023-06-09 11:22:17 -03:00
basket Bug 33223: Replace 'first_valid' with 'notice' for email addresses 2023-05-16 15:17:35 -03:00
bin Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
C4 Bug 33725: (follow-up) Add ccode to grouping logic 2023-06-09 16:05:10 -03:00
catalogue Bug 33788: Limit the number of old issues rows returned 2023-05-30 08:27:55 -03:00
cataloguing Bug 32959: Don't store results of autobarcode in item editor templates 2023-05-18 11:35:13 -03:00
circ Bug 31212: (follow-up) Fix datelastseen when returning item 2023-05-12 17:49:57 -03:00
clubs Bug 30718: Use flatpickr's altInput 2022-08-19 08:26:31 -03:00
course_reserves Bug 20256: Use new methods 2023-02-02 11:59:26 -03:00
debian Bug 33371: Add [Install] section to koha-common.service 2023-06-01 11:57:12 -03:00
docs Bug 33877: Add missing team members 2023-06-01 11:57:34 -03:00
erm Bug 32922: Remove space in shebang 2023-02-20 09:44:06 -03:00
errors Bug 29420: HTTP status code incorrect when calling error pages directly under Plack/PSGI 2022-04-20 09:03:39 -10:00
etc Bug 33580: Bring back ability to mark item as seen via SIP2 item information request 2023-05-12 11:22:47 -03:00
ill Bug 28909: Allow illview to use backend template 2022-08-09 13:21:39 -03:00
installer Increment version for 23.05.01 release 2023-06-28 15:03:28 +02:00
Koha Bug 32894: Remove wrong caching from Koha:: methods - simple 2023-07-12 07:50:40 +01:00
koha-tmpl Bug 34028: Fix manual entry for two factor authentication 2023-06-26 14:56:48 +02:00
labels Bug 31633: (follow-up) Group template params 2022-10-03 14:09:59 -03:00
lib/CGI/Session/Serialize Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
members Bug 33803: Remove comment about tab width 2023-06-09 11:22:17 -03:00
misc Update release notes for 23.05.01 release 2023-06-28 15:25:23 +02:00
offline_circ Bug 30016: Remove GetOpenIssue subroutine 2022-08-31 08:50:37 -03:00
opac Bug 33236: Move NewSuggestion to Koha::Suggestion->store 2023-06-09 12:04:46 -03:00
patron_lists Bug 16446: Add ability to add patrons to list by borrowernumber 2021-10-21 12:24:04 +02:00
patroncards Bug 24001: Fix patron card template edition 2022-04-28 10:49:20 -10:00
plugins Bug 30367: (follow-up) Same adjustment for gitlab 2023-05-05 10:18:57 -03:00
pos Bug 30619: Add email receipt to POS 2022-09-07 15:59:34 -07:00
recalls Bug 33220: Fix recalls to pull to not show in transit or allocated items 2023-05-16 15:17:29 -03:00
reports Bug 33966: (bug 23824 follow-up) Fix submit buttons for translated templates 2023-06-20 14:35:39 +02:00
reserve Bug 30687: Allow pickup location to be forced when override is allowed 2023-05-12 11:22:49 -03:00
reviews Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
rotating_collections Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
serials Bug 33803: Remove comment about tab width 2023-06-09 11:22:17 -03:00
services Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
skel
suggestion Bug 33236: Move NewSuggestion to Koha::Suggestion->store 2023-06-09 12:04:46 -03:00
svc Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
t Bug 33493: (QA follow-up) Only bless the first transfer 2023-07-12 07:42:51 +01:00
tags Bug 30718: Use flatpickr's altInput 2022-08-19 08:26:31 -03:00
tools Bug 33595: (bug 26628 follow-up) Fix authorization for tools-home.pl 2023-05-16 11:47:15 +02:00
virtualshelves Bug 33223: Fix sendshelf 2023-05-16 15:17:36 -03:00
xt Bug 33625: Adjust test to deal with cypress tests 2023-05-17 10:24:59 -03:00
.editorconfig Bug 27375: Set YAML file settings in .editorconfig 2021-11-03 15:40:52 +01:00
.eslintrc.json
.gitignore Bug 33710: Ignore how-to related files 2023-05-12 17:50:01 -03:00
.htaccess
.mailmap 23.05.00: Update .mailmap 2023-05-31 16:09:46 -03:00
.perlcriticrc Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02: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
about.pl Bug 33934: Add more detail to 'No encryption_key in koha-conf.xml' 2023-06-09 12:05:00 -03:00
app.psgi Bug 20582: Fix PSGI file when behind a reverse proxy 2020-10-06 12:00:04 +02: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 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
cpanfile Bug 32558: (QA follow-up) Move ForkManager to required 2023-03-07 11:03:32 -03:00
cypress.json Bug 33408: Extend defaultCommandTimeout for cypress 2023-04-13 11:48:00 -03:00
fix-perl-path.PL Bug 28606: Remove $DEBUG and $ENV{DEBUG} 2021-06-24 11:53:44 +02:00
gulpfile.js Bug 32978: Replace node-sass with dart-sass 2023-02-22 10:03:39 -03:00
help.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02: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 Increment version for 23.05.01 release 2023-06-28 15:03:28 +02:00
koha_perl_deps.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
kohaversion.pl
LICENSE
mainpage.pl Bug 33133: Add fast cataloging to 'Cataloging' page 2023-03-27 12:50:07 +02:00
Makefile.PL Bug 32806: (follow-up) Rename main.js to erm.js 2023-02-27 11:12:01 -03:00
MANIFEST.SKIP
package.json Bug 33066: Introduce a KohaTable Vue component 2023-04-10 07:38:28 -03:00
README
README.md Bug 27092: Remove note about "synced repo" from README.md 2020-11-25 16:31:58 +01:00
README.robots
rewrite-config.PL Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-17 10:07:36 +02:00
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 32806: Move main-erm.ts to modules/erm.ts 2023-02-27 11:12:01 -03:00
yarn.lock Bug 33066: Introduce a KohaTable Vue component 2023-04-10 07:38:28 -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