From 4de218561460290cc5807c6770bafa597a416cce Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 16 May 2018 17:26:09 -0300 Subject: [PATCH] Bug 20116: Flush the caches When languages are added or removed when need to flush the caches to keep the interface consistent Signed-off-by: Liz Rea Signed-off-by: Bouzid Fergani Signed-off-by: Marcel de Rooy Signed-off-by: Martin Renvoize --- debian/scripts/koha-translate | 17 +++++++++++++++-- misc/bin/clear_cache.pl | 9 +++++++++ misc/translator/translate | 4 ++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100755 misc/bin/clear_cache.pl diff --git a/debian/scripts/koha-translate b/debian/scripts/koha-translate index c7bd82c212..8b9c6b664f 100755 --- a/debian/scripts/koha-translate +++ b/debian/scripts/koha-translate @@ -231,6 +231,15 @@ init_template_paths() PO_DIR="$TRANSLATE_DIR/po" } +flush_cache() +{ + if [ "$dev" = "" ]; then + koha-foreach --enabled "$KOHA_HOME/misc/bin/clear_cache.pl" + else + koha-shell $dev -c "$KOHA_HOME/misc/bin/clear_cache.pl" + fi +} + # Control variables list_all="" op="" @@ -298,11 +307,15 @@ case $op in "list") list $list_all ;; "install") - install_lang $language ;; + install_lang $language + flush_cache + ;; "update") update_lang $language ;; "remove") - remove_lang $language ;; + remove_lang $language + flush_cache + ;; "check") check_lang_po_files $language ;; *) diff --git a/misc/bin/clear_cache.pl b/misc/bin/clear_cache.pl new file mode 100755 index 0000000000..3643d3273c --- /dev/null +++ b/misc/bin/clear_cache.pl @@ -0,0 +1,9 @@ +#!/usr/bin/perl -w + +use Modern::Perl; +use Koha::Caches; + +# Could take parameters to be less rude +Koha::Caches->get_instance()->flush_all; +Koha::Caches->get_instance('config')->flush_all; +Koha::Caches->get_instance('sysprefs')->flush_all; diff --git a/misc/translator/translate b/misc/translator/translate index bab716de43..f53dd464ff 100755 --- a/misc/translator/translate +++ b/misc/translator/translate @@ -29,6 +29,8 @@ use LangInstaller; use Getopt::Long; use Pod::Usage; +use Koha::Caches; + my $verbose = 0; my $pref = 0; @@ -68,6 +70,8 @@ if ( $cmd =~ /^(create|install|update|compress|uncompress)$/ ) { else { $installer->$cmd(\@files); } + + Koha::Caches->get_instance()->flush_all if $cmd ne 'update'; } else { usage(); -- 2.39.5