koha.git
5 months agoUpdate release notes for 21.11.26 release 21.11.x v21.11.26
Jonathan Druart [Fri, 1 Dec 2023 07:09:54 +0000 (08:09 +0100)]
Update release notes for 21.11.26 release

5 months agoIncrement version for 21.11.26 release
Jonathan Druart [Fri, 1 Dec 2023 07:06:46 +0000 (08:06 +0100)]
Increment version for 21.11.26 release

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months ago[21.11] Fix xt/find-misplaced-executables.t
Jonathan Druart [Fri, 1 Dec 2023 06:36:22 +0000 (07:36 +0100)]
[21.11] Fix xt/find-misplaced-executables.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35290: (follow-up) Perltidy formatting corrections
Owen Leonard [Thu, 9 Nov 2023 19:46:35 +0000 (19:46 +0000)]
Bug 35290: (follow-up) Perltidy formatting corrections

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
JD amended patch: fix shebang indent line

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35290: Sanitize field input on cataloguing/ysearch.pl
David Cook [Wed, 8 Nov 2023 23:39:45 +0000 (23:39 +0000)]
Bug 35290: Sanitize field input on cataloguing/ysearch.pl

This change sanitizies the field input on cataloguing/ysearch.pl

Test plan:
0. Apply the patch and restart/reload Koha
1a. "Add marc21_field_260b.pl plugin to 260$b in the Default framework"
1b. Go to http://localhost:8081/cgi-bin/koha/admin/marc_subfields_structure.pl?
op=add_form&tagfield=260&frameworkcode=#subbfield
1c. Choose "marc21_field_260b.pl" from the dropdown next to "Plugin"
1d. Click "Save changes"
2a. "Add new record"
2b. Go to http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=
3. Click on tab "2" and scroll down to 260 "b"
4. Type in "Ori" into 260 subfield b
5. Some autocomplete suggestions should appear

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35291: (QA follow-up) Tidying script for QA test tools
Aleisha Amohia [Thu, 23 Nov 2023 21:08:09 +0000 (21:08 +0000)]
Bug 35291: (QA follow-up) Tidying script for QA test tools

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35291: Validate filepaths in linking files
David Cook [Thu, 9 Nov 2023 00:49:54 +0000 (00:49 +0000)]
Bug 35291: Validate filepaths in linking files

Validate that the files in linking files are contained within the ZIP.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35291: Don't allow symlinks for link files in cover image ZIP
David Cook [Thu, 9 Nov 2023 00:23:45 +0000 (00:23 +0000)]
Bug 35291: Don't allow symlinks for link files in cover image ZIP

There's no reason to allow symlinks for link files in cover image
ZIP files. Preventing their use prevents someone from uploading
a symlink pointing to an existing file on the Koha server.

Test plan:
0. Apply patch and restart/reload Koha
1. Create a PNG cover image
2. Create a datalink.txt file that contains something like the
following:
29,Untitled.PNG
3. Turn on "LocalCoverImages" system preference
4. Upload via http://localhost:8081/cgi-bin/koha/tools/upload-cover-image.pl
5. Go to http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=29
6. Note the cover image has been uploaded

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35291: Prevent leaks from FS
Jonathan Druart [Wed, 8 Nov 2023 16:14:55 +0000 (17:14 +0100)]
Bug 35291: Prevent leaks from FS

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35174: update control files for koha-l10n dependency package
Mason James [Thu, 16 Nov 2023 10:06:27 +0000 (23:06 +1300)]
Bug 35174: update control files for koha-l10n dependency package

 to test...

 - apply patch
 - build koha-common package
 - install koha-common package, and confirm koha-l10n package is installed

5 months agoBug 35174: Don't run gulp po commands if po dir is missing
Jonathan Druart [Thu, 16 Nov 2023 07:45:15 +0000 (08:45 +0100)]
Bug 35174: Don't run gulp po commands if po dir is missing

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35174: Add misc/translator/po to .gitignore
Jonathan Druart [Thu, 16 Nov 2023 07:44:56 +0000 (08:44 +0100)]
Bug 35174: Add misc/translator/po to .gitignore

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35174: Add a warning to the about page
Jonathan Druart [Thu, 16 Nov 2023 07:43:43 +0000 (08:43 +0100)]
Bug 35174: Add a warning to the about page

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35174: Do not explode if po dir does not exist
Jonathan Druart [Thu, 16 Nov 2023 07:27:10 +0000 (08:27 +0100)]
Bug 35174: Do not explode if po dir does not exist

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
5 months agoBug 35174: Remove .po files from Koha
Koha translators [Wed, 22 Nov 2023 08:43:20 +0000 (09:43 +0100)]
Bug 35174: Remove .po files from Koha

6 months agoFix translations for Koha 21.11.25
Danyon Sewell [Thu, 16 Nov 2023 01:21:37 +0000 (14:21 +1300)]
Fix translations for Koha 21.11.25

Signed-off-by: Danyon Sewell <danyonsewell@catalyst.net.nz>
6 months agoRevert "Fix translations for Koha 21.11.25"
Danyon Sewell [Thu, 16 Nov 2023 00:55:25 +0000 (13:55 +1300)]
Revert "Fix translations for Koha 21.11.25"

This reverts commit 4945422d322bc40bfd90a60231367e45fd734b03.

6 months agoRevert "Revert "Update release notes for 21.11.25 release""
Danyon Sewell [Thu, 16 Nov 2023 00:54:10 +0000 (13:54 +1300)]
Revert "Revert "Update release notes for 21.11.25 release""

This reverts commit e7ac7ea2c3cab5204c0d03c1768f2dbc9f4f5c64.

6 months agoRevert "Update release notes for 21.11.25 release"
Danyon Sewell [Thu, 16 Nov 2023 00:39:15 +0000 (13:39 +1300)]
Revert "Update release notes for 21.11.25 release"

This reverts commit 1f8cf0202093afc61e0726c50739e957c4543230.
reverting as additional changes were added to this commit that shouldn't
be there

6 months agoBug 35103: Add option to gulp tasks to pass a list of tasks
Jonathan Druart [Thu, 19 Oct 2023 07:41:03 +0000 (09:41 +0200)]
Bug 35103: Add option to gulp tasks to pass a list of tasks

You can now generate the messages.po for all languages with:
  gulp po:update --task messages

or for only es-ES
  gulp po:update --task messages --lang es-ES

It may be helpful for the "update po" script that will be used on
weblate.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 months agoBug 30476: Remove NORMARC translation files
Bernardo Gonzalez Kriegel [Wed, 6 Apr 2022 17:53:54 +0000 (14:53 -0300)]
Bug 30476: Remove NORMARC translation files

This patch just deletes translation files left behind when removing
support for NORMARC.

To test:
1) Apply the patch
2) Verify there are no more *-marc-NORMARC.po files
   on misc/translator/po/ dir

No consequences are expected.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 30373: Enable translation of UNIMARC frameworks
Bernardo Gonzalez Kriegel [Mon, 28 Mar 2022 03:50:01 +0000 (00:50 -0300)]
Bug 30373: Enable translation of UNIMARC frameworks

This patch adds a new translation file, *-installer-UNIMARC.po

To test:
1. On top of all previous patches
2. Apply this patch
3. Create (or update) some language
Ej.
    misc/translation/translate create xx-YY

    verify new file misc/translation/po/xx-YY-installer-UNIMARC.po
4. Install new language
    misc/translation/translate install xx-YY

    verify new dirs:
        installer/data/mysql/xx-YY/marcflavour/unimarc/{mandatory,optional}

5. Repeat install procedure selecting xx-YY language and UNIMARC
   verify all frameworks are present

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoUpdate yarn.lock
Jonathan Druart [Wed, 8 Nov 2023 14:23:30 +0000 (15:23 +0100)]
Update yarn.lock

6 months agoBug 32978: Replace node-sass with dart-sass
Owen Leonard [Wed, 15 Feb 2023 17:36:57 +0000 (17:36 +0000)]
Bug 32978: Replace node-sass with dart-sass

'npm install' fails in ktd on aarch64, giving unsupported architecture error for node-sass.

This patch addresses this by replacing node-sass with dart-sass, updating our gulpfile
accordingly. Some corrections have been made to SCSS to fix warnings
raised during the build process.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Works like a charm. Great work oleonard! Tested on Apple M1, e.g. aarch64.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: I removed some useless formatting changes in the gulpfile, and the
yarn.lock changes as well.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35079: Replace --force-extract by --generate-pot={always,auto,never}
Julian Maurice [Tue, 17 Oct 2023 15:13:55 +0000 (17:13 +0200)]
Bug 35079: Replace --force-extract by --generate-pot={always,auto,never}

This restores the original behaviour of always building the POT file
in order to not break existing workflows
Option --force-extract is deleted in favor of a new option
--generate-pot that can have 3 values:

* always: always build the POT file. This is the default value
* auto: build the POT file only if it does not exist
* never: never build the POT file

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 months agoBug 35079: Rebuild POT files only if necessary or asked explicitely
Julian Maurice [Tue, 17 Oct 2023 14:33:37 +0000 (16:33 +0200)]
Bug 35079: Rebuild POT files only if necessary or asked explicitely

By default, gulp tasks po:create and po:update won't rebuild the POT
files if they already exist.
Both tasks gained a new option --force-extract to rebuild them
unconditionally

This makes it possible to create/update PO files for multiple languages
sequentially without rebuilding the POT file for each language.
For instance:

    gulp po:update --lang fr-FR
    # do something with the PO files
    gulp po:update --lang en-GB
    # ...

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 months agoUpdate release notes for 21.11.25 release v21.11.25
danyonsewell [Wed, 1 Nov 2023 04:14:18 +0000 (04:14 +0000)]
Update release notes for 21.11.25 release

Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
6 months agoIncrement version for 21.11.25 release
Danyon Sewell [Wed, 1 Nov 2023 03:37:23 +0000 (16:37 +1300)]
Increment version for 21.11.25 release

Signed-off-by: Danyon Sewell <danyonsewell@catalyst.net.nz>
6 months agoFix translations for Koha 21.11.25
Danyon Sewell [Wed, 1 Nov 2023 03:35:08 +0000 (16:35 +1300)]
Fix translations for Koha 21.11.25

Signed-off-by: Danyon Sewell <danyonsewell@catalyst.net.nz>
6 months agoTranslation updates for Koha 21.11.25
Koha translators [Wed, 1 Nov 2023 02:42:02 +0000 (23:42 -0300)]
Translation updates for Koha 21.11.25

Signed-off-by: Danyon Sewell <danyonsewell@catalyst.net.nz>
6 months agoBug 35024: Do not wrap translations
Jonathan Druart [Wed, 11 Oct 2023 09:35:41 +0000 (11:35 +0200)]
Bug 35024: Do not wrap translations

PO files wrap differently depending on versions.

Looks like (thanks Julian!) it's coming from libunistring, between 0.9.10 and 1.0 I am seeing a change in how the strings in the PO files are wrapped.

Debian 11 (using libunistring 0.9):
"%s %sPrintemps%s %s %sÉté%s %s %sAutomne%s %s %sHiver%s %s %sPrtps%s %s %sÉté"
"%s %s %sAut%s %s %sHiv%s %s %s %s"

Debian 12, Ubuntu 22.04(using libunistring 1.0)
"%s %sPrintemps%s %s %sÉté%s %s %sAutomne%s %s %sHiver%s %s %sPrtps%s %s "
"%sÉté%s %s %sAut%s %s %sHiv%s %s %s %s"

It *could* come from this changes:
https://git.savannah.gnu.org/gitweb/?p=libunistring.git;a=blob;f=NEWS;h=5a43ddd7011d62a952733f6c0b7ad52aa4f385c7;hb=HEAD
   * The functions u*_possible_linebreaks and u*_width_linebreaks now make it
     easier to work with strings that contain CR-LF sequences: In this case,
     in the returned array, it will return UC_BREAK_CR_BEFORE_LF followed by
     UC_BREAK_MANDATORY (instead of twice UC_BREAK_MANDATORY).

The command used is:
% msgmerge --backup=off --quiet -F --update misc/translator/po/fr-FR-staff-prog.po misc/translator/Koha-staff-prog.pot

No matter the value of --width.

One solution is to use --no-wrap, and never wrap :)

I sent an email to the list about this suggestion https://lists.katipo.co.nz/pipermail/koha/2023-October/060143.html

Test plan:
% gulp po:update --lang LANG

And notice that the lines are no wrapped anymore.

Note that in master there were already not wrapped (?)
commit edd378f4d14d79107d662b053c8e6f750326dd23
Translation updates for Koha 23.05.00

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
6 months agoBug 35043: Do not have \n or \t appear in PO files
Jonathan Druart [Thu, 12 Oct 2023 10:35:12 +0000 (12:35 +0200)]
Bug 35043: Do not have \n or \t appear in PO files

This is a trick, so that we won't have to deal with \t in PO files.
\n is not a problem, but it seems consistent to use the same method for
both.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
6 months agoBug 35043: Use Locale::PO->quote
Jonathan Druart [Thu, 12 Oct 2023 09:44:16 +0000 (11:44 +0200)]
Bug 35043: Use Locale::PO->quote

We have our own "quote_po" sub that is stating that Locale::PO::quote
is buggy because it does not deal with quoting new lines correctly.
However it seems that it is fixed now.

Ideally we could use Locale::PO::quote everywhere, but it does not
escape tab characters:
  $string =~ s/\\(?!t)/\\\\/g;           # \t is a tab

This means the following:
msgid "Tabulation (\\t)"
msgstr "Tabulation (\\t)"
become:
-msgid "Tabulation (\t)"
-msgstr "Tabulation (\t)"

And we are seeing the following on Weblate:
https://snipboard.io/BjQmDC.jpg

Note that Locale::PO has not been updated since 2014...

The real problem behind this is that we have 2 methods to quote strings.
At first glance it seems that Locale::PO::quote was not used before, but
with the introduction of the koha-i18n project we will have scripts that
will use Locale::PO->save_file_fromarray, which uses Locale::PO->quote
=> Those scripts will be used on the translation server for post
processing (security reason, marking potential XSS strings as fuzzy).

Test plan:
0. Do not apply the patch
1. gulp po:update --lang LANG # Replace LANG with your favorite language
   code
2. git commit -a -m"init PO files"
3. Apply this patch
4. Repeate 1.
5. git diff
   => The change is about the "Tabulation" and "New line" strings from
      tools/csv-profiles.tt
6. Translate them (replace the \t and \n with %s) and remove the fuzzy
   flag
7. install the template: cd misc/translator && perl translate install
   LANG
8. Enable the language, use it and go to the "Nouveau profil CSV" view
   => Notice that the \t and \n are correctly displayed.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
6 months agoBug 34959: Sort PO files correctly
Jonathan Druart [Fri, 6 Oct 2023 14:48:57 +0000 (16:48 +0200)]
Bug 34959: Sort PO files correctly

The PO files are not sorted when we update them which leads to
unnecessary changes that are commited: hard to see differences and
make git index grow superfluously.

Test plan:
0. Do not apply this patch
1. gulp po:update --lang es-ES
2. git commit -a -m"First PO update"
3. Run again the gulp update command
4. git diff
=> You have a lot of changes generated here, the po:update is not
idempotent.

5. Apply this patch
6. Run the gulp update command
7 git commit -a -m"PO update after 34959"
8. Run the gulp update command
9. git diff
=> No changes are generated

Note that this patch will all the entries by files, and per line
numbers.
It fixes a bug in some condition, where we add information/context about
the string. For instance search for "For the first occurrence" in the
file. Prior to this patch this was not correct, we didn't add info about
the first occurrence (but whichever in the list).

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
6 months agoBug 34959: Remove unused sub
Jonathan Druart [Fri, 6 Oct 2023 15:17:51 +0000 (17:17 +0200)]
Bug 34959: Remove unused sub

Nothing special here, this sub is not used and we can remove it.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 months agoBug 35146 - Missing db_revs file for Koha 21.11.24
danyonsewell [Wed, 1 Nov 2023 02:27:51 +0000 (02:27 +0000)]
Bug 35146 - Missing db_revs file for Koha 21.11.24

Adding missing revs file.

7 months agoAdd missing db_rev for 21.11.24
Tomas Cohen Arazi [Tue, 17 Oct 2023 18:33:33 +0000 (15:33 -0300)]
Add missing db_rev for 21.11.24

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35009: Remove merge conflict markers from tools/scheduler.pl
Aleisha Amohia [Mon, 9 Oct 2023 06:34:16 +0000 (06:34 +0000)]
Bug 35009: Remove merge conflict markers from tools/scheduler.pl

To test:

Confirm tests pass with patch applied t/00-merge-conflict-markers.t

Sponsored-by: Catalyst IT
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
7 months agoBug 30524: Remove tests
Jonathan Druart [Mon, 9 Oct 2023 08:50:59 +0000 (10:50 +0200)]
Bug 30524: Remove tests

Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
7 months agoUpdate release notes for 21.11.24 release v21.11.24
danyonsewell [Fri, 29 Sep 2023 00:30:49 +0000 (00:30 +0000)]
Update release notes for 21.11.24 release

Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
7 months agoIncrement version for 21.11.24 release
Danyon Sewell [Thu, 28 Sep 2023 23:20:53 +0000 (12:20 +1300)]
Increment version for 21.11.24 release

Signed-off-by: Danyon Sewell <danyonsewell@catalyst.net.nz>
7 months agoFix translations for Koha 21.11.24
Danyon Sewell [Thu, 28 Sep 2023 22:31:35 +0000 (11:31 +1300)]
Fix translations for Koha 21.11.24

Signed-off-by: Danyon Sewell <danyonsewell@catalyst.net.nz>
7 months agoTranslation updates for Koha 21.11.24
Koha translators [Thu, 28 Sep 2023 21:13:08 +0000 (18:13 -0300)]
Translation updates for Koha 21.11.24

7 months agoBug 34369: Fix 'Did you mean'
Jonathan Druart [Thu, 3 Aug 2023 08:01:32 +0000 (10:01 +0200)]
Bug 34369: Fix 'Did you mean'

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
7 months agoBug 34369: Require CSRF token for updating system preferences
David Cook [Tue, 1 Aug 2023 06:56:23 +0000 (06:56 +0000)]
Bug 34369: Require CSRF token for updating system preferences

This patch adds the requirements that updating a system preference
requires a CSRF token. (Also, adding and deleting local system preferences.)

0. Apply patch
1. koha-plack --reload kohadev
2. Add local system preference
3. Update local system preference
4. Delete local system preference
5. Update normal system preference
6. Note no errors

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
7 months agoBug 34349: Validate/escape inputs for task scheduler
David Cook [Mon, 24 Jul 2023 04:31:15 +0000 (04:31 +0000)]
Bug 34349: Validate/escape inputs for task scheduler

This change validates and escapes inputs for task scheduler.

Test plan:
0. Apply patch
1. koha-plack --reload kohadev
2. Go to http://localhost:8081/cgi-bin/koha/tools/scheduler.pl
3. Input a time a minute in the future and leave the date blank
4. Choose an existing report and output format
5. Type a malicious string which is also a valid email address
into the Email field
6. Click "Save"
7. Note that the job is added but the Email is wrapped in single
quotes
8. Try using a non-malicious email address with a single quote.
9. Note that the single quote is escaped, so that it will still
be used by runreport.pl

JD amended patch: tidy

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Removed pars for $email =~ regex, removed old commented lines.
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoUpdate release notes for 21.11.23 release v21.11.23
danyonsewell [Fri, 4 Aug 2023 03:11:50 +0000 (03:11 +0000)]
Update release notes for 21.11.23 release

Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoIncrement version for 21.11.23 release
danyonsewell [Fri, 4 Aug 2023 02:37:45 +0000 (02:37 +0000)]
Increment version for 21.11.23 release

Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoFix translations for Koha 21.11.23
danyonsewell [Fri, 4 Aug 2023 02:24:25 +0000 (02:24 +0000)]
Fix translations for Koha 21.11.23

Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoMerge remote-tracking branch 'translate/21.11.23-translate-20230803' into 21.11.x...
danyonsewell [Fri, 4 Aug 2023 01:27:48 +0000 (01:27 +0000)]
Merge remote-tracking branch 'translate/21.11.23-translate-20230803' into 21.11.x-security

Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoTranslation updates for Koha 21.11.23
Koha translators [Fri, 4 Aug 2023 01:19:42 +0000 (22:19 -0300)]
Translation updates for Koha 21.11.23

9 months agoMerge branch '21.11.x-rmaint' into 21.11.x-security
danyonsewell [Fri, 4 Aug 2023 01:10:31 +0000 (01:10 +0000)]
Merge branch '21.11.x-rmaint' into 21.11.x-security

9 months agoBug 34023: Prevent HTML injection in "back to results" link from search page
Michał Górny [Fri, 16 Jun 2023 14:16:37 +0000 (16:16 +0200)]
Bug 34023: Prevent HTML injection in "back to results" link from search page

It is possible inject raw HTML into the "Back to search results" link by leading the user to a search with specially crafted URL.

For example, using the demo instance:

1. Visit https://koha.adminkuhn.ch/cgi-bin/koha/opac-search.pl?idx=&q=test&weight_search=1&%22%3Etest%3Ca%20foo=%22

2. Refresh the page (for some reason, "back to results" doesn't appear unless I do that at least once).

3. Click any result.

Note that the result page now contains:

  <a href="opac-search.pl?idx=&amp;q=test&amp;weight_search=1&amp;">test<a foo=%22" title="...

i.e. `">test<a ...` was successfully injected into the HTML.

I'm attaching a quick patch I've used to patch up our instance.  It just indiscriminately URI-escapes all parameter keys.  I didn't decode them back since as far as I understand all valid keys do not contain special characters.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 863d8fed15411b03adfe2105fc7d4b2321fea0b9)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoBug 22990: Add CSRF protection to boraccount, pay and suggestion
Amit Gupta [Wed, 22 Jan 2020 16:07:22 +0000 (21:37 +0530)]
Bug 22990: Add CSRF protection to boraccount, pay and suggestion

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Test plan would have been nioe.
Tested by changing MAX_AGE with suggestions.

Bug 22990: Fix for shelves table

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 22990: Fix template toolkit syntax issues in shelves_results.tt

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 22990: (follow-up) Fix suggestion.pl

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e7e5a54dc897a3fa08722ce268862ff2aecae23e)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoBug 34368: Add CSRF token to Content Management pages
Lucas Gass [Fri, 28 Jul 2023 14:51:25 +0000 (14:51 +0000)]
Bug 34368: Add CSRF token to Content Management pages

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit eec0fb831a55b60ae847fe39d102253d82b03f4f)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoBug 30524: Core CSRF checking code
Martin Renvoize [Wed, 13 Apr 2022 12:55:04 +0000 (13:55 +0100)]
Bug 30524: Core CSRF checking code

Split out from bug 22990 as requested.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 30524: Add xt/find-missing-csrf.t

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 30524: (QA follow-up) Polishing xt script

Test plan:
Run it again. Same results?

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 30524: Unit tests

Test plan:
Run t/Output.t
Run t/db_dependent/Auth.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 84450df2912bdd6ff4305bcb58db7136fad3b6e0)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
9 months agoBug 30524: [21.11] Core CSRF checking code
Martin Renvoize [Wed, 13 Apr 2022 12:55:04 +0000 (13:55 +0100)]
Bug 30524: [21.11] Core CSRF checking code

Split out from bug 22990 as requested.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 30524: Add xt/find-missing-csrf.t

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 30524: (QA follow-up) Polishing xt script

Test plan:
Run it again. Same results?

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 30524: Unit tests

Test plan:
Run t/Output.t
Run t/db_dependent/Auth.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
9 months agoBug 30524: Unit tests
Martin Renvoize [Fri, 23 Jun 2023 10:52:28 +0000 (11:52 +0100)]
Bug 30524: Unit tests

Test plan:
Run t/Output.t
Run t/db_dependent/Auth.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
9 months agoBug 32993: Holds priority changed incorrectly with dropdown selector
Kyle M Hall [Fri, 28 Apr 2023 18:30:19 +0000 (14:30 -0400)]
Bug 32993: Holds priority changed incorrectly with dropdown selector

Test Plan:
1) Find record with at least 3 holds.
2) Change first holds priority as 2, Priority is changed to 3.
3) Try to change priority back to 1, Priority is changed to 2.
4) Apply this patch
5) Reload the page
2) Change first holds priority as 2, Priority is changed to 2.
3) Try to change priority back to 1, Priority is changed to 1.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Hinemoea Viault <hinemoea.viault@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 7d9e4cf41515234d8d61c369aab3c3e49be1ac3d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
(cherry picked from commit c15e5068d0f13ed8a8b105ea1ed795030be6c269)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 5d360af02cab6e89c56fca39d4091f2c3667582f)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit 5d360af02cab6e89c56fca39d4091f2c3667582f)

9 months agoBug 33677: Remove verbose option from koha-worker man
Jonathan Druart [Wed, 10 May 2023 09:04:13 +0000 (11:04 +0200)]
Bug 33677: Remove verbose option from koha-worker man

Signed-off-by: Magnus Enger <magnus@libriotech.no>
No more mention of verbose.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1bd49fcab8c03ee43aba12cae8661f9488c9bf8d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
(cherry picked from commit 165c945b5eade8ddae60715781fc1a406b95e499)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit e31c60109ef48366637c9129d13289ab3d27a6a5)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit e31c60109ef48366637c9129d13289ab3d27a6a5)

9 months agoBug 33642: Fix 'No log found.' in viewlog
Jonathan Druart [Wed, 10 May 2023 08:41:30 +0000 (10:41 +0200)]
Bug 33642: Fix 'No log found.' in viewlog

It should ease translatability and remove an extra space.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3ca450dbc97f12f895830e17562a2e118996a439)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
(cherry picked from commit 68412485e3eda514b4a5ca4c333dcae357978368)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 13d068fc1a9877a92248647bbdd4079c27f141cf)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit 13d068fc1a9877a92248647bbdd4079c27f141cf)

9 months agoBug 28315: Remove duplicate function definition
Philip Orr [Tue, 25 Apr 2023 10:34:09 +0000 (10:34 +0000)]
Bug 28315: Remove duplicate function definition

This patch removes the unnecessary second definition of the JS function PopupMARCFieldDoc from addbiblio.tt.
To test:
1. Apply the patch
2. Check that addbiblio.tt contains only one function definition for PopupMARCFieldDoc
3. Navigate to "Cataloging" -> "Add MARC record"
4. Check that after clicking on the question mark symbol next to any MARC field, the loc description of that MARC field is opened in a new tab

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a2b880e57bb1ccd4b8270ec8bfdcdc86e18a2e48)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
(cherry picked from commit 4a9be2cbe3da28bb73b1268f27d6ea0c7710f3fe)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 2f31d13e94e98b890d990e26bcb81a106a8c3f0f)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit 2f31d13e94e98b890d990e26bcb81a106a8c3f0f)

9 months agoBug 33233: Don't allow disabled attribute to remain when using browser's back button
Lucas Gass [Tue, 11 Apr 2023 20:41:28 +0000 (20:41 +0000)]
Bug 33233: Don't allow disabled attribute to remain when using browser's back button

To test:
1. Go to OPAC advanced search and do a search using only one of the inputs.
2. Once the search is complete use the browser's back button to return to the advanced search.
3. Notice the unused inputs are disabled.
4. Apply patch and try again. Now the inputs should not be disabled.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3811bb4381e34db7da1fd4593560fef519c4fde4)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit c9b0106bd9d24ac7d11529023630f801284cd63b)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 06bf531b3d6d9fdf27499d8a0b1361d798c74193)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit 06bf531b3d6d9fdf27499d8a0b1361d798c74193)

9 months agoBug 33645: Make koha-foreach return 0 if it completes successfully
David Cook [Tue, 2 May 2023 00:16:30 +0000 (00:16 +0000)]
Bug 33645: Make koha-foreach return 0 if it completes successfully

This patch adds an "exit 0" to the end of koha-foreach, so that it
returns a successful exit code if it reaches the bottom of the script
without errors.

Test plan:
0) `koha-foreach echo`
1) `echo $?`
2) Note that the exit status is 1
3) Apply patch
4) `./debian/scripts/koha-foreach echo`
5) `echo $?`
6) Note that the exit status is 0

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e8a187eb7422419592899ea12903f9ff29f96cfd)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit ef3985df0673304117f8c90fc673482d81410c06)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 9f8b34e8d6b28400e38b89301cb72e0c31920c40)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit 9f8b34e8d6b28400e38b89301cb72e0c31920c40)

9 months agoBug 33196: Generalize pseudonymization system preference description
Katrin Fischer [Fri, 17 Mar 2023 22:42:47 +0000 (22:42 +0000)]
Bug 33196: Generalize pseudonymization system preference description

The Pseudonymization system preference description in
the staff interface is: "Disable/Enable pseudonymization
to comply with GDPR for personal information. Patrons and
transactions will be copied to a separate table for
statistics purpose."

GDPR is a European Union (and, at time of writing, UK) law;
it makes the system preference look irrelevant for
libraries outside this area. However, this is not correct:
pseudonymization may be useful for libraries anywhere.

This generalized the system preference description and
only uses GDPR as an example instead of the only purpose.

It also updates the fields listed to more closely reflect
the labels on the patron form.

To test:
* Search for "Pseudonymization" in the systme preferences
* Verify that the description of the system preference is
  very GDPR
* Apply patch
* Verify the system preference description is improved

https://bugs.koha-community.org/show_bug.cgi?id=33196
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 54cdae763365636e71a231432d5afff637796963)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit b6a8c6ce59173ab95494a8a1571c55591af4c59a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit d0b05432a85c380df72e9e6ffefe37573944a658)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit d0b05432a85c380df72e9e6ffefe37573944a658)

9 months agoBug 31405: Set focus for cursor to setSpec input when adding a new OAI set
Katrin Fischer [Sat, 4 Feb 2023 23:54:22 +0000 (23:54 +0000)]
Bug 31405: Set focus for cursor to setSpec input when adding a new OAI set

Makes sure the focus is in the first form field when adding
a new OAI set: setSpec

To test:
* Go to administration > OAI sets
* Add a new set, verify the focus is still in the search bar on top
* Apply patch
* Repeat and verify the focus is now in the first form field
* Save set
* Edit set and verify the focus is in the search field at the top

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5a5034792c5269ef11f2acddd3d6055886cded06)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit b9abcea244ecc43762fab6a607ea3564b2da1291)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 7c94ccd664cd7162d3c20229c7eb4cc5bc5ee4c5)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(Cherry picked from commit 7c94ccd664cd7162d3c20229c7eb4cc5bc5ee4c5)

9 months agoBug 31410: Set focus for cursor to Server name when adding a new Z39.50/SRU server
Katrin Fischer [Sun, 5 Feb 2023 00:17:01 +0000 (00:17 +0000)]
Bug 31410: Set focus for cursor to Server name when adding a new Z39.50/SRU server

This makes sure that the focus is in the first form field when
adding a new Z39.50 or SRU server.

To test:
* Administration > Z39.50/SRU servers
* Add a new server for each
* Verify the focus is not in the form
* Apply patch
* Verify the focus is now in the first form field
* Edit an existing server
* Verify the focus is not in the form

Not having the focus when editing is to avoid accidental changes.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2504a282b5890168616c1a87206f8762c38a660d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 71f20a1c3513759393a9bae3654eb295fcb4016e)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit ee095916fc0b94bf2e50a277fa6b188c72598246)
Signed-off-by: danyonsewell <danyonsewell@catalyst.net.nz>
(cherry picked from commit ee095916fc0b94bf2e50a277fa6b188c72598246)

11 months agoBug 29486: Add check in search_for_data_inconsistencies.pl
Jonathan Druart [Wed, 19 Jan 2022 13:40:14 +0000 (14:40 +0100)]
Bug 29486: Add check in search_for_data_inconsistencies.pl

If the MARC record does not contain the correct biblionumber of
biblioitemnumber, the script will display the following warning:

== Bibliographic records have MARCXML without biblionumber or biblioitemnumber ==
        * Biblionumber 4242 has '1' in 999$c
        * Biblionumber 4242 has biblioitemnumber '4242' but should be '1' in 999$d
=> The bibliographic records must have the biblionumber and biblioitemnumber in MARCXML

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agoBug 29486: Fix tests
Jonathan Druart [Wed, 19 Jan 2022 13:39:51 +0000 (14:39 +0100)]
Bug 29486: Fix tests

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agoBug 29486: _koha_marc_update_bib_ids no longer needed for GetMarcBiblio
Jonathan Druart [Tue, 16 Nov 2021 08:13:30 +0000 (09:13 +0100)]
Bug 29486: _koha_marc_update_bib_ids no longer needed for GetMarcBiblio

This subroutine is ensuring that the biblionumber and biblioitemnumber
will be part of the MARC record.
We should not need that, unless there is something broken somewhere
else.

This line has been added by the following commit:
  commit 4e95e94727b09b33d2f6c597bdd218a59dcc3681
  Bug 6789: biblios with many items can result in broken search results link

"""
To this end, it also moves the fix_biblio_ids portion of get_corrected_marc_record out of rebuild_zebra.pl,
and makes it a part of GetMarcBiblio (right before EmbedItemsInMarcBiblio, so the 952s still come last).  fix_biblio_ids
is kept as a subroutine for the deletion portion of rebuild_zebra.pl, which still uses it.
"""

But it does not explain why it's better to have it in GetMarcBiblio.
If we need it for the reindexation process, we shouldn't impact
GetMarcBiblio which is used from several different places.

We might then consider adding the fix_biblio_ids call to
rebuild_zebra.pl, but I am failing to understand in which cases it could
be useful.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agodb_revs fixes
Tomas Cohen Arazi [Fri, 9 Jun 2023 18:37:19 +0000 (15:37 -0300)]
db_revs fixes

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agoIncrement version for Koha 21.11.22 release v21.11.22
Tomas Cohen Arazi [Fri, 9 Jun 2023 18:17:08 +0000 (15:17 -0300)]
Increment version for Koha 21.11.22 release

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agoRevert "Bug 30352: Allow translation of Not for loan in OPAC XSLT results"
Tomas Cohen Arazi [Fri, 9 Jun 2023 17:40:48 +0000 (14:40 -0300)]
Revert "Bug 30352: Allow translation of Not for loan in OPAC XSLT results"

This reverts commit 98a575fcff1d1d689dcbf2462adc4ca70086f0ec.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agoRevert "Bug 30352: Add a comment to the substatus translation"
Tomas Cohen Arazi [Fri, 9 Jun 2023 17:40:42 +0000 (14:40 -0300)]
Revert "Bug 30352: Add a comment to the substatus translation"

This reverts commit 277e13eda122fe259a2b45726a5bf607d52785d3.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agoIncrement version for Koha 21.11.21-1 release v21.11.21-1
Tomas Cohen Arazi [Tue, 6 Jun 2023 17:59:47 +0000 (14:59 -0300)]
Increment version for Koha 21.11.21-1 release

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
11 months agoUpdate release notes for 21.11.21 release v21.11.21
Arthur Suzuki [Thu, 25 May 2023 13:52:29 +0000 (15:52 +0200)]
Update release notes for 21.11.21 release

Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoIncrement version for Koha 21.11.21 release
Arthur Suzuki [Thu, 25 May 2023 13:47:19 +0000 (15:47 +0200)]
Increment version for Koha 21.11.21 release

Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoFix translations for 21.11.21
Arthur Suzuki [Thu, 25 May 2023 09:43:33 +0000 (11:43 +0200)]
Fix translations for 21.11.21

Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoTranslation updates for Koha 21.11.21
Koha translators [Thu, 25 May 2023 09:27:37 +0000 (06:27 -0300)]
Translation updates for Koha 21.11.21

11 months agoBug 33702: (QA follow-up) Do not crash on borrowernumber
Marcel de Rooy [Fri, 12 May 2023 06:56:07 +0000 (06:56 +0000)]
Bug 33702: (QA follow-up) Do not crash on borrowernumber

Resolve:
Can't call method "borrowernumber" on an undefined value at /usr/share/koha/opac/opac-illrequests.pl line 66

Test plan:
Put an unexisting illrequest_id in the URL parameter.
You should see a 404, not a crash.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
11 months agoBug 32921: Honor SelfCheckTimeout when modal is open
Lucas Gass [Wed, 8 Feb 2023 23:28:59 +0000 (23:28 +0000)]
Bug 32921: Honor SelfCheckTimeout when modal is open

To test:
1. Set the 'SelfCheckTimeout' system preference to something low for testing.
2. Make sure 'SelfCheckReceiptPrompt' is set to 'Show'.
3. Log in to SCO and press finish but leave the modal open.
4. Wait until the 'SelfCheckTimeout' time has expired, nothing happens.
5. Apply patch and try again. You should be logged out when SelfCheckTimeout expires.

Signed-off-by: Marius Mandrescu <marius.mandrescu@inLibro.com>
JD amended patch - fix indentation

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e074ffa6be15c97e6724041b12d930ed70855f1d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 3d75bf866bb05e0a8ab457ed3f48a2e84243bfb9)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0f05431e3469139d714e7b86ea137d6e08ad370c)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33702: Prevent ILL requests to be modified by somebody else
Jonathan Druart [Wed, 10 May 2023 05:37:57 +0000 (07:37 +0200)]
Bug 33702: Prevent ILL requests to be modified by somebody else

Same as previous patch, but for 'update' and 'cancreq'.
We remove the redirect, but here we only want to focus on the security
fix.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Confirmed. Without this patch a patron can modify and cancel any ILL
request in the OPAC. With this patch the patron is redirected to the
404 page if modification or cancellation is attempted.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
11 months agoBug 32253: Load all CodeMirror lines initially when using advanced editor
Lucas Gass [Mon, 1 May 2023 22:13:02 +0000 (22:13 +0000)]
Bug 32253: Load all CodeMirror lines initially when using advanced editor

To test:
1. Have advanced editor turned on.
2. Load a record with many lines and see that not all the lines appear until you click on the visible ones.
3. Apply patch and try again
4. All lines should load.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 827df32798cd8046d62cb6630fd33395d78fb3ef)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 278d0bf18a6169b7b5b6b304df318b38fca1894c)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 92bb8084dde5312058a7c70a856e164f6da4e366)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33702: Patrons should only see their own ILLs in the OPAC
Magnus Enger [Tue, 9 May 2023 13:37:51 +0000 (15:37 +0200)]
Bug 33702: Patrons should only see their own ILLs in the OPAC

To reproduce:
- Enable the ILL module
- Install the FreeForm backend as described here:
  https://wiki.koha-community.org/wiki/ILL_backends
- Go to the ILL module and add two different ILL requests by
  clicking on "New ILL request" and entering the necessary details.
- Make sure you connect the two requests to two *different* patrons
  in the field marked "Card number, username or surname"
- Make the two titles different, and make a not of which title is
  connected to which patron
- Log in as one of the two patrons who now have an ILL request each,
  in the OPAC
- Go to the "Interlibrary loan requests" tab
- Click on "View" for the request connected to this patron. The URL
  will look like something like this:
  http://<opac>/cgi-bin/koha/opac-illrequests.pl?method=view&illrequest_id=2
- Now change the number at the end to correspond to the the ILL request
  connected to the *other* patron
- Verify you can see the details of an ILL request conncted to another
  patron than the patron you are logged in as

To test:
- Apply the patch
- Restart all the things if you are testing with ktd
- Reload the detail view of the ILL request that belongs to the patron
  you are not logged in as
- Verify you are redirect to the 404 page and can not see the details
  of the request that belongs to the patron you are not logged in as

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
11 months agoBug 33505: Improve styling of scan index page
Katrin Fischer [Wed, 12 Apr 2023 20:59:34 +0000 (20:59 +0000)]
Bug 33505: Improve styling of scan index page

This patch makes some changes to the 'scan index' page.

* Updates second h1 heading "Scan index:" to h2 level heading "Scan index"
* Removes table from the search form
* Moves search index pull down and search term into one line
* Reorders options with search index first and search term after, matching
  the advanced search form
* Removes the catalog results toolbar from the top, card hold etc. are not needed
  here.
* Fixes doubled up id attribute: scan-index by turning one into scan-index-term.

To test:
* Go to advanced search in staff interface
* Activate 'More options'
* Check checkbox for scan indexes
* Switch to author (especially when using Elasticsearch)
* Search for C
* Check display, especially search options, options at the top of the page etc.
* Apply patch
* Verify changes listed above
* Regression test the normal search results, all should look the same with and without patch.
* If you think the scan index page is nicer now - sign off.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 358cb91a72e85d6ec0e85b8d88b1793062113bd3)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit a0d28c0620da21e18af660acde0b9e2eb223333e)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 44d4a0c6e0a486e2fe8908a12d52deac337d64e8)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33506: Fix false index for series and keep selected index on scan index page
Katrin Fischer [Wed, 12 Apr 2023 20:19:38 +0000 (20:19 +0000)]
Bug 33506: Fix false index for series and keep selected index on scan index page

The pull down with search options had the wrong index
linked to the Series entry: su instead of se

To test:
* Go to advanced search in staff interface
* Activate 'More options'
* Check checkbox for scan indexes
* Switch to author (especially when using Elasticsearch)
* Search for C
* Verify search results link to authors using c
* Switch to series
* Verify search results use 'su' for subject
* Verify that search option pull down always jumps back to first
  entry: Any word
* Apply patch
* Verify the search results for series now use correct index se
* Verify that coming from advanced search, the correct search option is selected
* Verify that changing the search option also keeps the selection after searching

Note: with Elasticsearch and default configuration author, title and series will
give you results.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 970fe62f785ce06ca57a8bae8936158c632069ea)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit d2d6761e95827edb0d6d56df65a44f39aa397d62)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0ddb6ffa7c9a22d9497c055218e14ea8694e37da)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33597: (follow-up) Two other occurrences for holdfor
Marcel de Rooy [Mon, 24 Apr 2023 10:51:15 +0000 (10:51 +0000)]
Bug 33597: (follow-up) Two other occurrences for holdfor

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit f99bcfb6521835e6d21cad3c83973aefb0f16cf4)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 41557555a9ceff4bc70e4fa1a53d270d3acf7143)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit e2cb9da41cc989650f1e769a179d852ef065bbbe)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33597: Fix deleting cookie for holdfor(club)
Marcel de Rooy [Mon, 24 Apr 2023 10:35:26 +0000 (10:35 +0000)]
Bug 33597: Fix deleting cookie for holdfor(club)

Resolve:
Cookie “holdfor” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it.

Did not see warning for holdforclub. But since it is created with Lax, we should remove it with Lax.

Test plan:
Similar to previous patch. Check console on logout page.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 7e5e311cb0c88b9223ce98d685668962edc7baee)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit d8567143eea4dde52cce0c856e3c12a6154eda0b)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit b8fb6aab761187795186d97209c3972e046b7786)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33597: Get rid of warning about intranet_bib_list
Marcel de Rooy [Mon, 24 Apr 2023 10:23:19 +0000 (10:23 +0000)]
Bug 33597: Get rid of warning about intranet_bib_list

Resolve:
Cookie “intranet_bib_list” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it.
basket_22.1200022.js:67:65

Test plan:
Do not apply this patch.
Logout from staff.
Check browser console warnings.
Apply this patch.
Login and logout again.
Check warnings again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 95de1f3e92947f157dbbbf789d88beb48645648b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit d11c9fec33f6ebb072094437240408bd8f300a9f)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 18471b559dc94d65ba164fc00b03cc408c84b6cb)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33634: Correct anchors in system preference submenu
Lucas Gass [Fri, 28 Apr 2023 15:53:19 +0000 (15:53 +0000)]
Bug 33634: Correct anchors in system preference submenu

To test:
1. Go to Koha Administration -> Global system preferences
2. Go to a tab with a few headings like Circulation
3. Click on a heading in the sidebar navigation under Circulation that takes you a bit down the page, like Recalls
4. Notice this anchor link does not work, you are not taken to the recalls preferences
5. Apply patch
6. Try again, the links should take you to the proper place.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0d1278aa14bf2a161df87c9d73f105b2c96c5022)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit b0a196e115e6cb07ebc12653463d52a4a3252a30)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit a1475c3d062aaf18a890dd48502a4b4ce5014215)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33629: allow pbuilder to use network via build-git-snapshot
Mason James [Thu, 27 Apr 2023 14:15:05 +0000 (02:15 +1200)]
Bug 33629: allow pbuilder to use network via build-git-snapshot

to test...

- build master packages, observe failure :(

   debian/build-git-snapshot -d -v 22.12.00-24~git1 -D dev -b base_22.12.00+deb10 --noautoversion
     "/usr/bin/perl" build-resources.PL
    yarn install v1.22.19
    warning You don't appear to have an internet connection. Try the --offline flag to use the  cache for registry queries.

- apply patch

- build master packages, observe success :)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0a0c6554d72ea5acec1a6c4fe63b77e9383e2e56)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit e65aa28abe52341277861551d4a356eaacc6c389)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit b19e2b05699e99a8cac3e7e24254eca0cd59563c)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33603: Fix misc/maintenance/search_for_data_inconsistencies.pl when biblio.biblio...
Fridolin Somers [Tue, 25 Apr 2023 06:05:50 +0000 (20:05 -1000)]
Bug 33603: Fix misc/maintenance/search_for_data_inconsistencies.pl when biblio.biblionumber on control field

Since bug 29486, misc/maintenance/search_for_data_inconsistencies.pl search for biblio.biblionumber in MARC record with $record->subfield().
This fails when field is a control field (< 10).
Idem for biblioitems.biblioitemnumber

Test plan :
1.0) On a UNIMARC database (biblio.biblionumber is on 001)
1.1) Run misc/maintenance/search_for_data_inconsistencies.pl
=> Without patch you get error : Control fields (generally, just tags below 010) do not have subfields, use data()
=> With patch no error
2.0) On a MARC21 database (biblio.biblionumber is on 999c)
2.1) Run misc/maintenance/search_for_data_inconsistencies.pl
=> Check you see no error

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit cc1695ba96b79d85fe778af1c60b092b149dd449)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 9971011fb9271ee2c8bae9e979c15b51a7fdaad2)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 6254b429b6659e38c554d58d784015600634971d)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 30352: Add a comment to the substatus translation
Marcel de Rooy [Wed, 19 Apr 2023 14:59:15 +0000 (14:59 +0000)]
Bug 30352: Add a comment to the substatus translation

The tric of combining the XPath union operator (|) with the
value-of instruction works as a sort of ternary operation.
The value-of only picks the string value of the first node
from the union in document order.

So, if there is a translation, it will be the first node. If there
is no translation, the original substatus will be used. Note that
there will be no translation for authorised values like Staff
collection, etc.

Test plan:
None. Just comments.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit c652ed4b1dcc204d36921d55120d91c758803632)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 105b9fc3138fd606e850d7efcd28f1269b52c53a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 38856cd65b54935f84eaa049050ce42d152f9047)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 30352: Allow translation of Not for loan in OPAC XSLT results
Marcel de Rooy [Wed, 19 Apr 2023 13:52:16 +0000 (13:52 +0000)]
Bug 30352: Allow translation of Not for loan in OPAC XSLT results

Note: Test plan below can be followed in English. If you would like
to see the vernacular results, you need to update PO files and
translate 'Not for loan', and update templates (xslt files) accordingly.
The bootstrap PO does not yet include that string without %s suffix
in the current codebase.

Test plan:
[1] Apply this patch and make the following change in
MARC21slim2OPACResults.xsl, line 1207.
Change:
  <status english="Not for loan">Not for loan</status>
to:
  <status english="Not for loan">NOT for loan</status>
Important: Change text inside, not the attribute!
Restart all.

[2] Pick a biblio, add some items with different statuses: Checked out,
Damaged, Not for loan, Staff collection.
[3] Make it appear in a OPAC results display (not detail).
[4] You should see the different statuses, including NOT for loan. The
uppercase NOT serves to prove that the string has been translated. Also
verify that you see Staff collection as-is.
[5] Bonus: Toggle with values in Reference_NFL_Statuses to move results
from Reference section to Not available section v.v.
[6] Revert the change from step 1. Sign off :)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 8d7e3cec32dffa5f96de696f8707bf8e015c49d2)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 9871a02b26bea775b03090d65e633a260ea10baf)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 1a8cd4312781eefa42545bf0481cf02252136fd7)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 31432: Make 245$n$p visible by default in frameworks
Katrin Fischer [Sat, 18 Feb 2023 11:53:49 +0000 (11:53 +0000)]
Bug 31432: Make 245$n$p visible by default in frameworks

$n (part_number) and $p (part_name) now have their own
columns in the database, but we are still hiding them
by default. It woudl ease testing and cataloguig if
we changed them to be visible by default in new installations.

To test:
* Check that in your current frameworks when adding a new
  record, 245 n and p are hidden
* Apply the patch and start over: drop your db and run the
  web installer
* Verify that the fields are now visible

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 340880253042d36e429ee0805039fa2589241180)
Signed-off-by: Jacob O'Mara <jacobomara901@gmail.com>
(cherry picked from commit bc4b29dfaa064c57644b59f73de547be2b5335c7)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit e5bd3e01f9475f503a85e806fe7b9bce54786557)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 32642: (QA follow-up) Activate spinner early
Marcel de Rooy [Fri, 21 Apr 2023 08:58:50 +0000 (08:58 +0000)]
Bug 32642: (QA follow-up) Activate spinner early

See comment on former patch too. We need to activate the spinner
early and we can simplify the code to remove it.

Note: unfortunately this is kind of a workaround, since using
load would be nicer but currently hard to implement since the cover
image code is scattered/widespread.

This code still checks the complete attribute, we could argue that
it should just remove the spinner. Note too that the spinner belongs
to a div where multiple img may be part of. If we do not remove the
spinner now, something went wrong at load time, but if you can
actually see the spinner is another thing.

Test plan:
See former patch.
Check few cover images on detail page, enable various providers.
Bonus: I tested with a sleep statement in opac-image.pl.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1bd4f53e9015f9dc764d51618acbaaec8ad275ff)
Signed-off-by: Jacob O'Mara <jacobomara901@gmail.com>
(cherry picked from commit ee4cc43b97d1c234379feb558ff1b2e38bf69cb1)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit d3dfbe23915cc5ab8bec950b9ef67a40d19e1470)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 32642: Loading spinner always visible when cover image is short (OPAC)
Hammat Wele [Thu, 6 Apr 2023 23:38:22 +0000 (23:38 +0000)]
Bug 32642: Loading spinner always visible when cover image is short (OPAC)

We noticed that if the cover image is somewhat short (i.e. the height is under 80-90 px), the loading spinner indicating that the image is currently loading still appears after the image is loaded.

this patch remove the spinner when the image is loaded,.

To test:
1. Make sure the OPACLocalCoverImages system preference is enabled
   1.1. Go to Administration > Global system preferences
   1.2. Search for Coverimages
   1.3. Set OPACLocalCoverImages to 'Show'
   1.4. Click 'Save all Enhanced content preferences'
2. Add a short local cover image to a record (I added one which is just a grey rectangle with the size printed on it, to facilitate the test)
   2.1. Download the attached image
   2.2. Find a record without an image
   2.3. Click the 'Images' tab
   2.4. Click 'Upload'
   2.5. Click 'Drop files here or click to select a file' and choose the downloaded image
   2.6. Click 'Process images'
3. View the record in the OPAC
   3.1. From the image upload page, click on the title of the record in the page heading to access the detailed record in the staff interface
   3.2. Click on 'OPAC view: Open in new window.'
   --> Note that the image is displayed normally, but the spinner is also displayed
4. Apply the patch
5. View the record in the OPAC
    --> Note that the spinner is no more displayed

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
This needs a follow-up; the code in this template activates the spinner
actually when the job has been done already and did not remove it.
And we did not see that but only with a short image like above.
The construction with .one, .each is not needed given the execution
context.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 408e676fd29188ce40c6dbf94b47845df9ba1984)
Signed-off-by: Jacob O'Mara <jacobomara901@gmail.com>
(cherry picked from commit ea6eee6b24d87558e7ead07ac290ac0763406afc)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 1a6bfe3cf7b3df025c6971eadefa4ac5afc0e55f)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33216: Catch and handle RegisterRequired exceptions for SIP fee paid messages
Kyle Hall [Tue, 14 Mar 2023 11:06:21 +0000 (07:06 -0400)]
Bug 33216: Catch and handle RegisterRequired exceptions for SIP fee paid messages

If registers are being used in Koha, they are required. If a SIP account has no register and a fee paid message is sent, the SIP server crashes and the client never gets a response. It would be much better if Koha would response with 38 response where "payment accepted" is N, and an AF field stating that the SIP account needs to be associated with a register.

Test Plan:
1) Enable UseCashRegisters, set RequireCashRegister to "always require a
   cash register". Do *not* set a cash register for the SIP account you
   will be testing with.
2) Using the SIP cli tester, send a fee paid message for a patron owing
   fees.
3) Note the lack of a SIP response
4) Apply this patch
5) Restart the SIP server
6) Repeat step 2, you should now get a SIP response with the error
   message in it!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0411bf0573708327a9c0271f4d01c2996641bb3f)
Signed-off-by: Jacob O'Mara <jacobomara901@gmail.com>
(cherry picked from commit c6610d5ed97c03a090039606aecfe7f5d6917876)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 175dd2871c2ac00997cad13e0dba215688e85baa)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33238: Fix bad suggestions query (Bug 29886 follow-up)
Janusz Kaczmarek [Wed, 15 Mar 2023 19:25:53 +0000 (20:25 +0100)]
Bug 33238: Fix bad suggestions query (Bug 29886 follow-up)

With IndependentBranches Koha explodes with Error 500 when a non
superlibrarian tries to add to basket from suggestions.  In errorlog you
would find "DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception:
DBD::mysql::st execute failed: Column 'branchcode' in where clause is
ambiguous".

Test plan:
==========
1. Have a Koha instance with IndependentBranches, some accepted
   suggestions, and a vendor defined.
2. Be a non superlibrarian librarian with permissions to
   manage acquisitions.
3. Create a new basket and try to add an item to the basket
   "From a suggestion".
4. Koha would generate error 500.
5. Apply the patch.
6. Try to add an item to the basket "From a suggestion".
7. You should succeed.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 68b2f29d483290d5dfd859dce9b9fe7a387f3ab1)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
(cherry picked from commit d4fb68703098f25bd587a8fdfc6cd5b4d884c4f9)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit f849dd313cde6dfdd03aba5652fb9429f093c901)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
11 months agoBug 33509: Don't show Other holdings when there are no alternate holdings
Katrin Fischer [Wed, 12 Apr 2023 19:58:03 +0000 (19:58 +0000)]
Bug 33509: Don't show Other holdings when there are no alternate holdings

With bug 33509 alternate holdings defined in AlternateHoldingsField
are shown in the staff interface result list. This works greatly
when there are items or when there is are alternate holdings (the
configured field/subfields exist in the record), but not when there
are no items and no alternate holdings.

To test:
* Add 100a to AlternateHoldingsField
* Make a search with some records without items
  Sample data: perl
* Make sure the alternate holdings show when there are no items
  and 100a exists
* Change to 100z
* Verify the result list now shows "Other holdings:" with nothing below
* Apply patch
* Repeat
  * Alternate holdings should still show nicely
  * Without alternate holdings 'no items' is displayed

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2ce97da0e77812300bbfaa7fe579732da80364dd)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
(cherry picked from commit a6d93137b0878b858a36746de6f6678cfce00a74)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 435c79b8a47b8ee47fd493ca4ac17a6413e9ba00)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>