koha.git
30 hours agoBug 30695: (follow-up) Fix selenium test master
Martin Renvoize [Tue, 17 May 2022 07:22:37 +0000 (08:22 +0100)]
Bug 30695: (follow-up) Fix selenium test

The tab title words were re-ordered and we forgot to update the
corresponding selenium test.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
40 hours agoBug 30720: Batch action links in result list missing permission checks
Katrin Fischer [Fri, 13 May 2022 10:25:27 +0000 (10:25 +0000)]
Bug 30720: Batch action links in result list missing permission checks

In the staff interface you can select records for merging, batch editing,
and batch deleting from the result list. This fixes the code to check for
the specific batch edit records and batch delete records permissions, so
those actions are only shown if the user has the right permissions.
As there is no merge record permission yet, it's assumed that edit_cataloge is
needed as before (no change in behavior).

To test:
- Create a staff user with only catalogue and editcatalogue permissions.
- Do a search in the catalog of the staff interface
- Select a few records from result list to unlock the Edit button on top
- Verify it shows all three options: edit, delete and merge
- Apply patch
- Verfiy now only merging is shown
- Add the records_batchdel and records_batchmod permissions from the tools
  area one after another and verify the display changes accordingly.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
40 hours agoBug 30701: Make Upload Tool buttons work on mobile-size screen
Aleisha Amohia [Fri, 6 May 2022 03:33:59 +0000 (03:33 +0000)]
Bug 30701: Make Upload Tool buttons work on mobile-size screen

When the Upload tool is accessed on a smaller (mobile) screen (less than
768 pixels wide), the Upload and Browse buttons cannot be clicked. This
patch fixes that.

To test:
1) Go to Tools -> Upload
2) Make the screen narrower, either by opening your browser's Inspector
tool and using Responsive Design Mode, or by dragging in the edge of the
window to make it narrower.
3) Notice that when the screen becomes narrower than 768px, the sections
squash together and the padding between them is lost. Try to click on
the Browse and Upload buttons, notice you cannot.
4) Apply patch and refresh the Upload Tool
5) Ensure the screen is narrower than 768px. Confirm there is now
padding between the sections, and the buttons are clickable again.

Sponsored-by: Chartered Accountants Australia and New Zealand
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
40 hours agoBug 30740: Link to authorities 'used in' should not use equal
Fridolin Somers [Thu, 12 May 2022 07:23:58 +0000 (21:23 -1000)]
Bug 30740: Link to authorities 'used in' should not use equal

When showing an authority, there is a link to search biblio records it is used in.
Actually this link uses 'q=an=$auth_id', this is wrong for an URL, and other places use 'idx:value'.
It does not break search with Zebra nor Elasticsearch but it is better to use ':'

Test plan :
Check changed links return same results with and without patch

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
40 hours agoBug 29719: Do not clear onloan value when not passed in MARC
Nick Clemens [Fri, 14 Jan 2022 19:59:30 +0000 (19:59 +0000)]
Bug 29719: Do not clear onloan value when not passed in MARC

We blank the field to prevent users from setting it during import, but this has the
affect of blanking it in the DB.
This patch replaces the onloan field when not passed in to 'ModItemFromMARC' to preserve
the value

To test:
 1 - Check an item out to a paron
 2 - Export the item using Tools->Export data
 3 - Stage the record for import
 4 - Match on 999c and replace items
 5 - Import the batch
 6 - View the record and note item is checked out and Available
 7 - In the DB note the onloan value is now null
 8 - Check in the item
 9 - Apply patch
10 - Repeat 1-5
11 - View the record and note item is checked out
12 - In the DB note the onloan value matches the due date

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
40 hours agoBug 29719: Unit tests
Nick Clemens [Fri, 14 Jan 2022 19:59:07 +0000 (19:59 +0000)]
Bug 29719: Unit tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30207: Allow any reserveforothers subpermission to access the page
Kyle Hall [Tue, 10 May 2022 10:56:15 +0000 (06:56 -0400)]
Bug 30207: Allow any reserveforothers subpermission to access the page

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30207: Librarians with only "place_holds" permission can no longer update hold...
Kyle Hall [Tue, 1 Mar 2022 16:49:49 +0000 (11:49 -0500)]
Bug 30207: Librarians with only "place_holds" permission can no longer update hold pickup locations

Bug 29540 increased the flags required to for modreserve.pl, but in doing so created a situation where a library can select a different pickup location for a hold, but upon clicking the "Update hold(s)" button, will be logged out due to having insufficient permissions for modreserve.pl.

Test Plan:
1) Create a librarian with "place_holds" permissions, but not "modify_holds_priority".
2) Place a hold for a patron
3) Attempt to change the pickup location from request.pl
4) Note you get logged out with a permissions error
5) Apply this patch
6) Restart all the things!
7) Attempt to change the pickup location from request.pl
8) This time it should succeed!

Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30666: Holds reminder cronjob (holds_reminder.pl) uses DataTime::subtract wrong
Kyle M Hall [Tue, 3 May 2022 10:29:49 +0000 (06:29 -0400)]
Bug 30666: Holds reminder cronjob (holds_reminder.pl) uses DataTime::subtract wrong

In holds_reminder.pl, the script loops over all available branchcodes. For each iteration of the loop, if not using the calendar, the script subtracts the days parameter from the current date to get the waiting date threshold. The problem is that this method alters the DateTime object in $date_to_run, so for each iteration of the loop, the waiting date becomes farther and farther in the past, when it should always be the same!

The solution is to either clone the "date to run" for each call to subtract, or to move it out of the loop since it doesn't need to be recalculated each time.

Test Plan:
1) Become the koha user using koha-shell
2) Run DBIC_TRACE=1 misc/cronjobs/holds/holds_reminder.pl --days 7
3) Note in the queries that for each loop, the waiting date is different
4) Apply this patch
5) Run the command in step 2 again
6) Note the queries all now have the same waiting date threshold!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30667: Holds reminder cronjob (holds_reminder.pl) never uses default letter template
Kyle Hall [Tue, 3 May 2022 10:53:43 +0000 (06:53 -0400)]
Bug 30667: Holds reminder cronjob (holds_reminder.pl) never uses default letter template

Bug 28514 changed the way holds_reminder.pl searches for templates, using a direct search for letters,
but should be using find_effective_template instead. Now, if a branch specific template does not exist,
it will skip that branch.

Test Plan:
1) Ensure you only have the default HOLD_REMINDER template
2) Become the koha user using koha-shell
3) Run misc/cronjobs/holds/holds_reminder.pl --days 7 -v
4) Note that the script skips every branch
5) Apply this patch
6) Run the command in step 3 again
7) Note the script doesn't skip over any branches

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30422: Authorities editor update broke the feature added by Bug 20154
Owen Leonard [Thu, 31 Mar 2022 15:51:14 +0000 (15:51 +0000)]
Bug 30422: Authorities editor update broke the feature added by Bug 20154

This patch corrects JavaScript in authorities templates so that
clicking "Edit" on the authority detail page will take you to the
authority edit page while keeping the same tab open.

This patch also corrects the JavaScript which should have been
automatically moving the cursor focus to the first form field when
switching tabs in the editor.

This patch also adds the "Section" headings which are present in the
basic cataloging editor but were not added here at the time of the
page's tabs revision.

To test, apply the patch and locate an authority record in your catalog.

- Without changing tabs, choose "Edit record" from the "Edit" dropdown
  menu."
- The authorities editor should load and display the "Section 0" tab.
- Return to the authority detail page and select a tab besides tab 0.
- Click back to tab 0. Editing the record at this point should open the
  editor to Section 0.
- Return to the authority detail page.
- Click any of the numbered tabs besides tab 0.
- Choose "Edit record" from the "Edit" dropdown menu.
- When the authorities edit page loads the same tab should be
  preselected.
- Test that when you switch tabs in the authority editor the cursor
  focus is automatically moved to the first visible input.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30139: Same fix for the other javascript moneyFormat function
Shi Yao Wang [Fri, 13 May 2022 14:18:22 +0000 (10:18 -0400)]
Bug 30139: Same fix for the other javascript moneyFormat function

This patch makes javascript moneyFormat function in paycollect.tt consistent
with the one in pay.tt

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30139: Fix javascript moneyFormat to be compatible with FR format
Shi Yao Wang [Tue, 10 May 2022 17:34:15 +0000 (13:34 -0400)]
Bug 30139: Fix javascript moneyFormat to be compatible with FR format

New way of formatting money amount to make it work with FR format

Test plan:
1- Set CurrencyFormat pref to FR
2- Activate Point of sale and cash register features
3- Add cash register
4- Add debit type that 'can be sold' with a price of 10.00
5- Go to point of sale, click on the item to purchase
6- Verify the Amount to be paid shows the wrong amount and can't be fixed on the interface
7- Apply the patch
8- Refresh the page and do step 5 again
9- Notice it now shows the right amount

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30717: (QA follow-up) Move to module
Marcel de Rooy [Fri, 13 May 2022 07:29:04 +0000 (07:29 +0000)]
Bug 30717: (QA follow-up) Move to module

We will probably use this a bit more :)
Let's put it in a module (with a trivial test).

Test plan:
Repeat item edit.
Run  t/DateUtils.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30717: Format dates when editing items
Jonathan Druart [Mon, 9 May 2022 08:28:51 +0000 (10:28 +0200)]
Bug 30717: Format dates when editing items

This is a result of bug 29369 and bug 27526.
Bug 29369 removed the format of the dates, and bug 27526 assumed that it
was the correct behaviour.

Here we don't want to let the controller know which fields is a date, or
we will have to access the subfield structure to know which subfields
have the "date cataloguing plugin".

This patch suggests to use the altFormat options from flatpickr that
will "Show the user a readable date (as per altFormat), but return
something totally different to the server."

It's actually an option we want to use for all our dates, that will
reduce a lot the overhead in our controllers.

Test plan:
Edit items (additem.pl and in batch) and confirm that the subfields
using the dateaccessioned plugin are displayed according to the
dateformat syspref. Make sure the date is stored correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
4 days agoBug 30721: Markup error in detail page's component parts tab
Owen Leonard [Mon, 9 May 2022 15:22:16 +0000 (15:22 +0000)]
Bug 30721: Markup error in detail page's component parts tab

This patch adds a missing </div> to the bibliographic detail
page template in the section for showing component parts.
Some comments are added to clarify the markup structure.

To test you should have a record in your catalog with component
parts. Bug 11175 provides one you can import if necessary:
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=78023

To see the error, go to the staff interface, locate the record
in question and view the detail page. Under the Components tag,
scroll to the bottom. You will see content from "later" tabs at
the bottom, e.g. "There is no order for this bibliographic record"
or "No images have been uploaded for this bibliograhpic record yet."

Apply the patch and reload the page. The tabs should still look
correct, and now the tab content should be correctly isolated.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30728: (QA follow-up) Fix missing comma
Nick Clemens [Fri, 13 May 2022 11:48:00 +0000 (11:48 +0000)]
Bug 30728: (QA follow-up) Fix missing comma

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
5 days agoBug 30520: Allow BatchImport to be used by command line tools.
Andreas Jonsson [Wed, 13 Apr 2022 07:20:42 +0000 (09:20 +0200)]
Bug 30520: Allow BatchImport to be used by command line tools.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30689: Incorrect Babeltheque setting can cause console warning
Owen Leonard [Thu, 5 May 2022 11:13:08 +0000 (11:13 +0000)]
Bug 30689: Incorrect Babeltheque setting can cause console warning

This patch adds an additional system preference check to the part of the
OPAC bibliographic detail template which conditionally loads Babelthèque
JavaScript. The script tag should not be output if there is no
Babeltheque_url_js setting to use.

To test, apply the patch and search for "Babeltheque" in system
preferences.

 - Set "Babeltheque" to "Do" include information.
 - Enter a path in the "Babeltheque_url_js" preference, e.g.
   "https://www.example.com/example.js" It doesn't have to be a valid
   Babeltheque URL.
 - In the OPAC, view the bibliographic detail page for any title. If you
   used a dummy URL for the js preference you should see an error in the
   console about the file not being found. This confirms that the
   template logic is working. If you used a working Babeltheque URL then
   the corresponding content should load.
 - Return to system preferences and remove the URL from the
   "Babeltheque_url_js" preference.
 - Return to the bibliographic detail page in the OPAC and confirm that
   there is no warning in the console about "'src' attribute of <script>
   element is empty."

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30728: Fix typo 'in real time'
Fridolin Somers [Fri, 13 May 2022 08:07:56 +0000 (22:07 -1000)]
Bug 30728: Fix typo 'in real time'

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30728: BDRev 21.12.00.056
Fridolin Somers [Fri, 13 May 2022 07:58:25 +0000 (21:58 -1000)]
Bug 30728: BDRev 21.12.00.056

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30728: Make RealTimeHoldsQueue disabled by default
Tomas Cohen Arazi [Tue, 10 May 2022 17:26:30 +0000 (14:26 -0300)]
Bug 30728: Make RealTimeHoldsQueue disabled by default

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30728: Only trigger real-time holds queue update if enabled
Tomas Cohen Arazi [Tue, 10 May 2022 17:18:55 +0000 (14:18 -0300)]
Bug 30728: Only trigger real-time holds queue update if enabled

This patch makes the places in which Koha enqueues holds queue for
real time updates verify the feature is enabled.

To test:
1. Apply this patches up to the unit tests
2. Run:
   $ updatedatabase
   $ kshell
  k$ git diff origin/master --name-only | grep -e '\.t$' | xargs prove
=> FAIL: tests fail, the code doesn't care about the syspref
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Be happy!
6. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30728: Add unit tests
Tomas Cohen Arazi [Tue, 10 May 2022 17:17:37 +0000 (14:17 -0300)]
Bug 30728: Add unit tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30728: Add RealTimeHoldsQueue syspref
Tomas Cohen Arazi [Tue, 10 May 2022 17:17:17 +0000 (14:17 -0300)]
Bug 30728: Add RealTimeHoldsQueue syspref

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30727: Avoid holds queue updates multiple times on BatchDeleteBiblio
Tomas Cohen Arazi [Tue, 10 May 2022 15:27:02 +0000 (12:27 -0300)]
Bug 30727: Avoid holds queue updates multiple times on BatchDeleteBiblio

This patch makes the background job only enqueue holds queue updates
once per biblio, when appropriate.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/BackgroundJobs/BatchDeleteBiblio.t
=> FAIL: It enqueues 3 times for a bib!
3. Apply this patch
4. Repeat 2
=> SUCCESS: It only enqueues once!
5. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30727: Regression tests
Tomas Cohen Arazi [Tue, 10 May 2022 15:26:32 +0000 (12:26 -0300)]
Bug 30727: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 days agoBug 30734: Fix BackgroundJob.t
Marcel de Rooy [Thu, 12 May 2022 08:38:15 +0000 (08:38 +0000)]
Bug 30734: Fix BackgroundJob.t

Added test for empty string or undefined. We could still consider
evaling the json operations.

Test plan:
Run t/db_dependent/Koha/BackgroundJob.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 27619: (QA follow-up) Remove xt/sample_notices.t
Martin Renvoize [Wed, 11 May 2022 10:27:41 +0000 (11:27 +0100)]
Bug 27619: (QA follow-up) Remove xt/sample_notices.t

Now that we've remove the last of the translated .sql files, we can just
drop this test entirely.. translation is now handled on pootle for all
languages.   Woopie! :)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
7 days agoBug 30695: (QA follow-up) Catch moremember.tt too
Martin Renvoize [Fri, 6 May 2022 11:19:36 +0000 (12:19 +0100)]
Bug 30695: (QA follow-up) Catch moremember.tt too

This patch does the same treatment for moremember.tt where the same
summary block is includes. We also correct the tab order to be a little
more consistent too.

We should really move this to an include and refer to it from both
templates instead of this copy/paste code..

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30695: Display tabs more consistently in patron details
Tomas Cohen Arazi [Thu, 5 May 2022 15:03:35 +0000 (12:03 -0300)]
Bug 30695: Display tabs more consistently in patron details

This patch makes tab texts display 'Thing (count)' as opossed to the
current mix we have.

To test, check before after the patch how it looks.

You need to:
- Enable ArticleRequests
- Set ClaimReturnedLostValue to 1 (for example)
- Have some clubs set

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30127: By default show pending suggestions tab
Fridolin Somers [Sat, 30 Apr 2022 02:46:24 +0000 (16:46 -1000)]
Bug 30127: By default show pending suggestions tab

Pending suggestions are the most important ones in links pointing to suggestions.
This tab should be the default one, like did Bug 7875

Changing order in perl code seems really difficult because it is a
generic code using GetDistinctValues()

Test plan :
1) Create some suggetions, accept some of them
2) In staff interface, click on 'More > Suggestions'
=> You see pending tab selected
3) In left menu, click on 'Suggestions' under 'Late orders'
=> You see pending tab selected
4) In left menu, use a filter, then click on '[clear]'
=> You see pending tab selected
5) Create a suggestion, click on 'cancel'
=> You see pending tab selected
6) Create a suggestion, click on 'Suggestions' in breadcrumbs
=> You see pending tab selected
7) Edit an existing suggestion, click on '<< Back to suggestions'
=> You see pending tab selected
8) Create a suggestion, click on 'Submit your suggestion'
=> You see pending tab selected

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30603: Fix other occurrences
Jonathan Druart [Mon, 9 May 2022 07:42:30 +0000 (09:42 +0200)]
Bug 30603: Fix other occurrences

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30603: Display Sort1 and Sort2 as free text if no AV exists
Jonathan Druart [Mon, 9 May 2022 07:28:04 +0000 (09:28 +0200)]
Bug 30603: Display Sort1 and Sort2 as free text if no AV exists

Test plan:
Don't define AV for Sort1 and Sort2, edit a patron
=> Should be editable via an input box

Define AVs for Sort1 and Sort2, edit a patron
=> Should see the dropdown

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30710: (QA follow-up) Add POD
Tomas Cohen Arazi [Tue, 10 May 2022 14:16:59 +0000 (11:16 -0300)]
Bug 30710: (QA follow-up) Add POD

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30710: Build holds queue once per biblio when batch deleting items
Nick Clemens [Fri, 6 May 2022 14:45:13 +0000 (14:45 +0000)]
Bug 30710: Build holds queue once per biblio when batch deleting items

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30710: Regression tests
Tomas Cohen Arazi [Tue, 10 May 2022 14:43:46 +0000 (11:43 -0300)]
Bug 30710: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 13142: DBRev 21.12.00.055
Fridolin Somers [Wed, 11 May 2022 06:39:42 +0000 (20:39 -1000)]
Bug 13142: DBRev 21.12.00.055

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 13142: (QA follow-up) Convert database update to current format
Katrin Fischer [Thu, 28 Apr 2022 14:01:52 +0000 (14:01 +0000)]
Bug 13142: (QA follow-up) Convert database update to current format

https://bugs.koha-community.org/show_bug.cgi?id=13412
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 13412: (QA follow-up) Rephrase and link system preference descriptions
Katrin Fischer [Thu, 28 Apr 2022 13:28:13 +0000 (15:28 +0200)]
Bug 13412: (QA follow-up) Rephrase and link system preference descriptions

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 13412: (QA follow-up) Fix alphabetic order in sysprefs.sql
Katrin Fischer [Thu, 28 Apr 2022 13:09:09 +0000 (15:09 +0200)]
Bug 13412: (QA follow-up) Fix alphabetic order in sysprefs.sql

TaxRates was not moved when renamed from gist, just moving it down
so things are tidy again.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 13412: Allow configuration of auto-created authorities
Roch D'Amour [Wed, 21 Feb 2018 15:55:35 +0000 (10:55 -0500)]
Bug 13412: Allow configuration of auto-created authorities

This patch add 2 new system preferences:
- GenerateAuthorityField667
- GenerateAuthorityField670

When Koha creates authority records from biblios, use these preferences instead of the hard-coded "Machine generated authority record." and "Work cat." values.

Test plan:
    1. Make sure AutoCreateAuthorities and BiblioAddsAuthorities are enabled in the system preferences
    2. Go to Home › Cataloging › Add MARC record and add a new record
    3. Fill in the required fields and add a name in the 100$a field. Note the name, and add the new record.
    4. run rebuild_zebra.pl -a
    5. Go to Home › Authorities and search for the name you entered in 100$a
    6. Select details and look at the 667 and 670 fields. They should default to the hard-coded values.
    7. Apply patch, run update database
    8. Edit the new GenerateAuthorityField667 and GenerateAuthorityField670 system preferences
    9. Do 2-6 . Now the 667 and 670 fields should be what you entered in the system preferences.

Thanks for testing

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works well, no errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30511: Don't lock up entire database while running koha-dump
Alex Buckley [Fri, 8 Apr 2022 08:10:04 +0000 (08:10 +0000)]
Bug 30511: Don't lock up entire database while running koha-dump

Test plan:
1. Apply the patch
2. Restart services
3. Run koha-dump
4. Confirm the .sql.gz and .tar.gz files are generated successfully

Sponsored-by: Catalyst IT
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 27619: Remove fr-FR installer data
Jonathan Druart [Thu, 28 Apr 2022 10:04:11 +0000 (12:04 +0200)]
Bug 27619: Remove fr-FR installer data

Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
7 days agoBug 27619: Add custom for fr-FR
Jonathan Druart [Fri, 4 Jun 2021 09:56:18 +0000 (11:56 +0200)]
Bug 27619: Add custom for fr-FR

Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
7 days agoBug 20615: Add the link of number of times the authority are used in edit mode
George Veranis [Thu, 24 Feb 2022 15:16:19 +0000 (16:16 +0100)]
Bug 20615: Add the link of number of times the authority are used in edit mode

Currently when show an authority record you can see the count of records linked
with that authority, but when edit that authority record the that detail is
dissapeared.
Applying this patch will have that information also on edit mode of authority.

Test plan:
1) Search for an authority that is already connected with at least one record
2) On detail view of an authority you can check that authority is linked with
   x records.
3) Edit that authority and the information about in how many records that
   authority is linked is missing.
4) Apply this patch
5) Edit again that authrity and you can find now the count in how many records
   is used that authority

Signed-off-by: Marjorie Barry-Vila <marjorie.barry-vila@collecto.ca>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30510: Add Patron reason column to suggestion tables
Lucas Gass [Mon, 11 Apr 2022 21:36:16 +0000 (21:36 +0000)]
Bug 30510: Add Patron reason column to suggestion tables

To test:
1. Make some patron reasons for suggestion via Home > Administration > Authorized values > OPAC_SUG
2. Give those reasons a description.
3. Make several suggestions via staff client and/or OPAC and apply some of the reasons you just made
4. Apply patch
5. Go to Home > Acquistions > Suggestions management
6. Give some of the suggestions some different status (PENDING/REJECTED/ACCEPTED/ect)
7. Make sure on each of the tables you can see the column 'Patron reason'
8. Go to Administration > Table settings and attempt to hide the column.
9. Confirm that the column is properly hidden on the Suggestions management page

Signed-off-by: Rhonda Kuiper <rkuiper@roundrocktexas.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 23352: DBRev 21.12.00.054
Fridolin Somers [Wed, 11 May 2022 01:02:12 +0000 (15:02 -1000)]
Bug 23352: DBRev 21.12.00.054

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 23352: Update DBIC schema
Alex Buckley [Mon, 13 Dec 2021 16:02:12 +0000 (16:02 +0000)]
Bug 23352: Update DBIC schema

Sponsored-By: Brimbank Library, Australia
Signed-off-by: Samu Heiskanen <samu.heiskanen@hypernova.fi>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 23352: (follow-up) Fix QA test failure
Alex Buckley [Mon, 4 Apr 2022 04:22:39 +0000 (04:22 +0000)]
Bug 23352: (follow-up) Fix QA test failure

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 23352: (follow-up) Fixes for QA review
Alex Buckley [Mon, 7 Mar 2022 04:37:12 +0000 (04:37 +0000)]
Bug 23352: (follow-up) Fixes for QA review

Test plan:
1. Confirm that
installer/data/mysql/atomicupdate/bug_23352-add_ccode_column_to_subscriptions_table.pl
has the exec flag

2. Create a subscription. Notice the 'Collection' dropdown defaults to
the 'None' option - same as Location

3. Save the subscription without changing the 'None' collection

4. Receive the serial and confirm the 'Collection' field is empty

5. Create a second subscription. Change the 'Collection' dropdown to
'Fiction', then save the subscription

6. Receive the serial and confirm the 'Collection' dropdown is set to
'Fiction'

7. Confirm that the 'Collection code' terminology in the template is replaced with
'Collection'

Sponsored-By: Brimbank Library, Australia
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 23352: Set default collection code when creating subscription
Alex Buckley [Mon, 13 Dec 2021 15:28:36 +0000 (15:28 +0000)]
Bug 23352: Set default collection code when creating subscription

The default collection code set in the subscription will be applied if
item records are created when receiving the serial.

Test plan:
1. Apply 3 patches
2. Run updatedatabase.pl and restart services
3. Create a subscription:
- Tick the 'Create an item record when receiving this serial' radio
button
- Select values in the Location, Collection code and Item type dropdowns
- Save the subscription
4. Confirm the Location, and Collection code default values
you choose in #3 are displaying in the 'Information' tab of page that's
loaded
5. Receive the serial:
- Click 'Receive'
- Change the status dropdown from 'Expected' to 'Arrived'
- Confirm the 'Collection Code', 'Shelving location' and 'Koha item
type' dropdowns are pre-filled with the values you defined in #3
6. Run unit test t/db_dependent/Serials.t

Sponsored-By: Brimbank Library, Australia
Signed-off-by: Samu Heiskanen <samu.heiskanen@hypernova.fi>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 23352: Database changes
Alex Buckley [Mon, 13 Dec 2021 13:56:38 +0000 (13:56 +0000)]
Bug 23352: Database changes

Sponsored-By: Brimbank Library, Australia
Signed-off-by: Samu Heiskanen <samu.heiskanen@hypernova.fi>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 28082: Compiled CSS
Fridolin Somers [Wed, 11 May 2022 00:54:51 +0000 (14:54 -1000)]
Bug 28082: Compiled CSS

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 28082: Add acquisitions toolbar to vendors on vendor search page
Owen Leonard [Mon, 21 Mar 2022 16:00:47 +0000 (16:00 +0000)]
Bug 28082: Add acquisitions toolbar to vendors on vendor search page

This patch makes a number of changes to the vendor search/view template
in order to make it work better in different contexts:

- Add a vendor-specific toolbar under each vendor search result. This
  gives instant access to the options for a new basket, new contract,
  vendor edit, or to receive shipments. A delete button will appear if
  available.
- Add a summary of the number of baskets and subscriptions. This helps
  the user know if there are closed baskets and whether an outstanding
  subscription might be blocking the option to delete. Each number is
  linked to the view of those entries.
- Indicate whether a vendor is inactive. The vendor name appears in a
  different color when it is inactve and is labeled as such.

To test, apply the patch and rebuild the staff interface CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).

- To test you should have multiple vendors in your system, some active
  and some inactive. Add some baskets and subscriptions to one or more
  if necessary.
- Go to Acquisitions and submit an empty vendor search to show all
  vendors.
- Verify that the page looks correct and that all controls work as
  expected.
- Open the basket view for a single vendor and compare the two views.

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30438: Add select all/clear all buttons to invoices.tt
Lucas Gass [Fri, 15 Apr 2022 14:00:01 +0000 (14:00 +0000)]
Bug 30438: Add select all/clear all buttons to invoices.tt

To test:
1. Apply patch
2. Have a bunch of invoices, some open and some closed.
3. Go to Home > Acquisitions > Invoices and do a search that will
   return you many of those invoices, some open and some closed.
4. Notice the 'Select all' and 'Clear all' buttons.
5. Try clicking 'Select all' on the Open invoices tab. All Open invoices
   should become checked.
6. Try clicking 'Clear all' on the Open invoices tab. All open invoices
   should become unchecked.
7. Try 5 - 6 again but on the Closed invoices tab.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30611: DBRev 21.12.00.053
Fridolin Somers [Wed, 11 May 2022 00:49:27 +0000 (14:49 -1000)]
Bug 30611: DBRev 21.12.00.053

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30611: (follow-up) Use constants
Martin Renvoize [Fri, 6 May 2022 10:45:22 +0000 (11:45 +0100)]
Bug 30611: (follow-up) Use constants

Update ternary for token timeout to use perl constants

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30611: (QA follow-up) Only show reset option for allowed categories
Martin Renvoize [Fri, 6 May 2022 10:36:15 +0000 (11:36 +0100)]
Bug 30611: (QA follow-up) Only show reset option for allowed categories

This patch adds a check that the patron can reach the password reset
page using category.effective_reset_password which handles fallback to
OpacResetPassword system preference transparently.

Test plan
1) Set at least one patron category to dissallow patron password resets
2) Search for a patron of that category
3) Confirm the 'Send password reset' option no longer appears

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30611: Add ability for staff to send password reset emails
Martin Renvoize [Fri, 29 Apr 2022 09:42:57 +0000 (10:42 +0100)]
Bug 30611: Add ability for staff to send password reset emails

This patch adds the ability for staff with the edit_borrowers permission
to send password reset emails to users.

The staff initiated password reset has it's own notice,
STAFF_PASSWORD_RESET, and the reset link produced has an extended
timeout of 5 days, as apposed to the usual 2 day limit.

Test plan
1) Apply patch and run the database update
2) Login to the staff client with a user who has the 'edit_borrowers'
   permission.
3) Note that a new, 'Send password reset' option appears under the
   'More' menu on the patron details page.
4) Clicking the button will queue the STAFF_PASSWORD_RESET notice and
   redirect the user to the Notices tab.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30611: Add STAFF_PASSWORD_RESET notice
Martin Renvoize [Fri, 29 Apr 2022 11:14:38 +0000 (12:14 +0100)]
Bug 30611: Add STAFF_PASSWORD_RESET notice

This patch adds a new STAFF_PASSWORD_RESET notice template for password
recoveries initiated via the staff client as aposed for those initiated
by the end user.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Chmod 755 on atomic update file.
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30290: DBRev 21.12.00.052
Fridolin Somers [Wed, 11 May 2022 00:46:04 +0000 (14:46 -1000)]
Bug 30290: DBRev 21.12.00.052

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30290: (QA follow-up) Sample notices/database update: Change phrasing to Yes/No
Katrin Fischer [Mon, 25 Apr 2022 10:30:36 +0000 (10:30 +0000)]
Bug 30290: (QA follow-up) Sample notices/database update: Change phrasing to Yes/No

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30290: (follow-up) Add warning for translated notices
Marcel de Rooy [Mon, 14 Mar 2022 13:01:22 +0000 (13:01 +0000)]
Bug 30290: (follow-up) Add warning for translated notices

Note: Problem is that we cannot know if default was translated
or en contains the original notice. Actually this holds for
the other languages too. So this is an educated guess without
using the lang field.

Test plan:
Run db rev.
Trigger the warning by replacing Pages by PPages in an AR notice.
Run db rev again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30290: Database revision for existing notices
Marcel de Rooy [Mon, 14 Mar 2022 11:54:33 +0000 (11:54 +0000)]
Bug 30290: Database revision for existing notices

Note: It will be hard to update translated notices. If we cannot find
the part 'Pages:' then the replace does not do anything.

Test plan:
Run db rev.
Check an existing AR notice (English).

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
7 days agoBug 30290: Adjust sample_notices.yml
Marcel de Rooy [Mon, 14 Mar 2022 11:37:11 +0000 (11:37 +0000)]
Bug 30290: Adjust sample_notices.yml

Test plan:
Run a new install. Check the AR notices.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
8 days agoBug 30722: Typo in overdue recalls template
Owen Leonard [Mon, 9 May 2022 15:42:44 +0000 (15:42 +0000)]
Bug 30722: Typo in overdue recalls template

This patch corrects a typo in the <title> tag of the
overdue recalls template:

"Circulaion" corrected to "Circulation."

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
8 days agoBug 30706: Fix space in check for dateformat preference
Owen Leonard [Fri, 6 May 2022 13:31:31 +0000 (13:31 +0000)]
Bug 30706: Fix space in check for dateformat preference

This patch fixes the calendar.inc includes in both staff and OPAC in
order to remove a typo: An extra space in the check for the "dateformat"
system preference.

The result of this error is that changes to the dateformat system
preference will not be correctly applied to Koha without a restart.

To reproduce the problem start the process of creating a new patron.

 - In the date of birth field, select a date. The format of the date
   inserted should match your current dateformat system preference.
 - Go to Administration -> System preferences and update dateformat to
   something different.
 - Go back to the patron creation form (refresh it if necessary).
 - The hint under the Date of birth field will match your updated system
   preference, but when you pick a date using the calendar widget it
   will still be formatted according to the old value of dateformat.

To test the fix, apply the patch and run through the same steps above.
A change the dateformat preference should be immediately reflected in
the functionality of the calendar widget.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
8 days agoBug 30668: Do not record itme location updates in cataloguing log
Nick Clemens [Fri, 6 May 2022 20:10:54 +0000 (20:10 +0000)]
Bug 30668: Do not record itme location updates in cataloguing log

To test:
1 - Set a rule in UpdateItemLocationOnCheckin
2 - Enable cataloguing log
3 - Check in an item that will trigger a change
4 - Check the modification log for item - there is a cataloguing entry
5 - Apply patch
6 - Repeat
7 - No log!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
8 days agoBug 30668: Unit tests
Nick Clemens [Fri, 6 May 2022 20:09:27 +0000 (20:09 +0000)]
Bug 30668: Unit tests

Simple test to cover UpdateNOtForLoanStatusOnCheckin and UpdateItemLocationOnCheckin
to confirm the cataloguing log does not record these

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29755: (follow-up) Mock NoIssuesChargeGuarantorsWithGuarantees in test
Nick Clemens [Thu, 28 Apr 2022 11:07:17 +0000 (11:07 +0000)]
Bug 29755: (follow-up) Mock NoIssuesChargeGuarantorsWithGuarantees in test

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29755: Check each NoIssuesCharge separately
Nick Clemens [Thu, 10 Feb 2022 14:30:02 +0000 (14:30 +0000)]
Bug 29755: Check each NoIssuesCharge separately

This patch updates SIP patron code to use account methods to calculate balances
over the patronflags returns. It also checks if patron should be blocked for each
'No Issues charge' preference

Tests are added for NoIssuesChargeGuarantees

To test:
 1 - Set noissuescharge preference to 5
 2 - Add a $10 charge to a patron
 3 - perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL -m patron_information --patron BARCODE
 4 - Note the 64 message starts with Y's that mean patron is blocked
 5 - Set noissuescharge to 11
 6 - Repeat 3, patron is no longer blocked
 7 - Set NoIssuesChargeGuarantees to 8
 8 - Repeat 3, patron is blocked
 9 - Pay $3 on patron so they owe 7
10 - Repeat 3, patron is not blocked
11 - Add a child account with patron as guarantor
12 - Repeat 3, patron is not blocked
13 - Add a $4 charge to child
14 - Repeat 3, patron is blocked
15 - Repeat 3, but with child barcode, child is not blocked
16 - Set NoIssuesChargeGuarantorsWithGuarantees to 10
17 - Repeat 3, patron is blocked
18 - Repeat 3 with child barcode, child is blocked

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30604: Add value builders for UNIMARC 146 ($a, $h and $i)
Julian Maurice [Tue, 18 Jan 2022 13:36:34 +0000 (14:36 +0100)]
Bug 30604: Add value builders for UNIMARC 146 ($a, $h and $i)

Test plan:
1. Configure the default MARC framework to use those value builders:
   - unimarc_field_146a for 146$a
   - unimarc_field_146h for 146$h
   - unimarc_field_146i for 146$i
2. Verify that they all work correctly according to
https://www.ifla.org/files/assets/uca/unimarc_updates/BIBLIOGRAPHIC/u-b_146.pdf

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30703: Remove a few CookieManager warnings
Marcel de Rooy [Fri, 6 May 2022 07:24:07 +0000 (07:24 +0000)]
Bug 30703: Remove a few CookieManager warnings

Running Auth.t produces several warnings like:
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 103.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 104.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 112.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 103.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 104.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 112.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 103.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 104.
Use of uninitialized value $name in hash element at /usr/share/koha/Koha/CookieManager.pm line 112.

Test plan:
prove  t/CookieManager.t t/db_dependent/Auth.t

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>
11 days agoBug 30702: Fix Context.pm L785 warning on sessionID
Marcel de Rooy [Fri, 6 May 2022 07:09:34 +0000 (07:09 +0000)]
Bug 30702: Fix Context.pm L785 warning on sessionID

Trivial fix. Before working on bug 29954.

Test plan:
Run a few tests like t/Context.t, t/db_dependent/Auth.t and
t/db_dependent/Circulation.t.

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>
11 days agoBug 30638: Resolve odd number in hash warn in Letters
Marcel de Rooy [Thu, 28 Apr 2022 10:04:02 +0000 (10:04 +0000)]
Bug 30638: Resolve odd number in hash warn in Letters

Odd number of elements in anonymous hash at C4/Letters.pm line 827.

Trivial fix. Adding undefined check on result to prevent warns
on that one.

No test plan. Read the patch.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30551: Make cash register report take branchcode from cash register
Shi Yao Wang [Fri, 15 Apr 2022 16:37:34 +0000 (12:37 -0400)]
Bug 30551: Make cash register report take branchcode from cash register

This patch makes it so cash register reports puts branchcode from the
cash register where the payment was made into "Transaction library"
column instead of taking the branchcode of the manager.

Test plan:
1- Use cash registers (administration > system preferences > UseCashRegisters)
2- Create another library if you only have one (administration > libraries > new library)
3- Create a cash register in each library if they don't already have one (administration > cash registers > new cash register)
4- Create a fee on your own account and pay it right after in both libraries.
5- Go to reports > cash register and generate the statistics.
6- Notice "transaction library" in both rows are the same even though the fees were paid in two different libraries and two different cash registers.
7- Apply the patch and click submit to re-generate statistics
8- Notice it now shows the correct library where the transactions were done

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29705: In test suite merge IssuingRules with CirculationRules
Fridolin Somers [Wed, 15 Dec 2021 21:19:21 +0000 (11:19 -1000)]
Bug 29705: In test suite merge IssuingRules with CirculationRules

After Bug 18936, in test suite, there is still t/db_dependent/Koha/IssuingRules.t and t/db_dependent/Koha/IssuingRules/
This patch moves IssuingRules.t inside CirculationRules.t and renames dir t/db_dependent/Koha/IssuingRules.
And adds DB transation in each first-level subtest.

Also renames in :
  use constant GUESSED_ITEMTYPES_KEY => 'Koha_IssuingRules_last_guess';

Test plan :
Run prove t/db_dependent/Koha/CirculationRules.t
prove t/db_dependent/Koha/CirculationRules/*
prove t/db_dependent/Circulation/maxsuspensiondays.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30688: Compiled CSS
Fridolin Somers [Fri, 6 May 2022 20:22:24 +0000 (10:22 -1000)]
Bug 30688: Compiled CSS

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30688: Error in path to CSS background image
Owen Leonard [Thu, 5 May 2022 10:47:04 +0000 (10:47 +0000)]
Bug 30688: Error in path to CSS background image

This patch corrects the path of an image specified as the background to
a couple of elements in the OPAC. The incorrect path was causing 404
errors.

To test, apply the patch and rebuild the OPAC CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).

- If necessary, activate one or more cover image services in
  Administration, e.g. OPACAmazonCoverImages, OPACLocalCoverImages,
  and/or OpenLibraryCovers.
- In the OPAC, locate a bibliographic record which has a cover image
  from one or more of the services you activated.
- On the detail page for that record, the cover should load correctly.
- In the browser console you should see no errors related to a file not
  found: /opac-tmpl/bootstrap/img/spinner-small.gif
- In the browser console, submit this JavaScript snippet:

  $(".cover-image").remove();

  The cover image should disappear, revealing the "spinner" icon behind
  it.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30613: Hide RSS feed link when viewing private list in the OPAC
Owen Leonard [Thu, 5 May 2022 14:02:26 +0000 (14:02 +0000)]
Bug 30613: Hide RSS feed link when viewing private list in the OPAC

This patch wraps the List RSS icon in a check on whether the list is
public. Private lists RSS can only be accessed by a logged-in patron.

To test apply the patch and view a public list in the OPAC. You should
see an RSS link icon next to the list title.

Now log in to the OPAC and view a private list. There should be no RSS
link.

Note the QA tool warning about the aria-hidden attribute is a false
positive. The parent element has a label.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30639: Split search terms for patron search
Jonathan Druart [Thu, 28 Apr 2022 12:42:04 +0000 (14:42 +0200)]
Bug 30639: Split search terms for patron search

If several terms are passed we should split them.

Test plan:
Search for "edna acosta" (without quotes) in the filters from the left
side of the main patron search
Do some regression tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30607: Don't overload our default initComplete
Jonathan Druart [Wed, 27 Apr 2022 11:52:55 +0000 (13:52 +0200)]
Bug 30607: Don't overload our default initComplete

We want to keep the default initComplete call to add/remove the
'disabled' class on the 'Clear filters' link.

Test plan:
Search for patrons, add something to the general DT search and confirm
that the 'Clear filters' link can be clicked (ie. is not disabled) when
the input field is not empty.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Agree that it does not look very elegant.
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30514: Error in date format check following datepicker removal
Owen Leonard [Tue, 12 Apr 2022 14:23:42 +0000 (14:23 +0000)]
Bug 30514: Error in date format check following datepicker removal

This patch corrects the is_valid_date function in the OPAC and staff
interface so that it work correctly with Flatpickr.

To test, apply the patch and clear your browser cache if necessary.

- In the staff client, locate a bibliographic record and edit its items.
- Test that the "Date acquired" date picker works correctly and that
  there are no errors in the browser console.
- Test other date input fields to check that they still work, e.g.
  specify due date during checkout; Catalog statistics wizard; Patron
  entry/modification, etc.
- Perform similar tests in the OPAC: Hold suspension; Update your
  personal details.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30709: 'Insert' button in notices editor not adding selected placeholders to...
Owen Leonard [Fri, 6 May 2022 12:05:12 +0000 (12:05 +0000)]
Bug 30709: 'Insert' button in notices editor not adding selected placeholders to notice

This patch updates letter.js so that it uses .prop("selected") to look
for selected <option>s instead of .attr("selected"). This is necessary
because of the jQuery upgrade.

To test, apply the patch and edit any notice. Test that you can select
one or more database columns and insert them into the body of a notice
by clicking "Insert." Confirm that your selections are inserted where
you left the cursor in the message textarea.

Test with multiple message transports and with multiple languages
installed (with TranslateNotices enabled).

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 30622: Patron search when placing hold should redirect if cardnumber is entered
Jonathan Druart [Wed, 27 Apr 2022 14:44:53 +0000 (16:44 +0200)]
Bug 30622: Patron search when placing hold should redirect if cardnumber is entered

When search a patron for placing a hold, if a cardnumber is entered we
should pick the patron and use it, instead of display the table result.

This was a regression caused by bug 30063.

Test plan:
- Place a hold on anything in staff
- Search for 42 or any other existing cardnumber in your database

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29926: (QA follow-up) Date format missing in spec
Tomas Cohen Arazi [Tue, 26 Apr 2022 13:09:04 +0000 (10:09 -0300)]
Bug 29926: (QA follow-up) Date format missing in spec

On fixing the spec to have `format: date` I noticed the tests were
expecting explosions because of date handling not being done. The
OpenAPI plugin does this correctly when you set the format right.

So, I adapted the tests so they expect 400 and return the type error.

We don't usually add such tests (i.e. test the plugin does its job
correctly) but it doesn't hurt to keep them just in case something
really changes badly there (plugin bug?).

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29926: (QA follow-up) API design fixes
Tomas Cohen Arazi [Tue, 26 Apr 2022 12:52:21 +0000 (09:52 -0300)]
Bug 29926: (QA follow-up) API design fixes

This patch makes the following changes to the spec:

* Password being the resource and expiration_date an attribute for it,
  so reorganizing things and also renaming the route.
* Be it undefined or defined, expiration date is only one and thus
  should use the PUT verb (as in overwrite).
* Minor bug 30194-related fixes.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29926: Add ability for superlibrarians to batch edit password expiration dates
Nick Clemens [Mon, 14 Feb 2022 16:34:23 +0000 (16:34 +0000)]
Bug 29926: Add ability for superlibrarians to batch edit password expiration dates

To test:
1 - Sign in as a superlibrarian
2 - Tools->Batch patron modification
3 - Add patrons with and without pasword expiration set
4 - Confirm dates display correctly on modification page, or show never
5 - Check the box to delete all dates
6 - Confirm patrons now show 'Never'
7 - Edit patrons again, set a date
8 - Confirm date is set correctly
9 - Sign in as a user with catalogue/tools/borrowers permissions, but not superlibrarian
10 - Confirm y9ou do not see, and cannnot edit password expiration dates

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29926: Add ability for superlibrarian to view/edit password expiration
Nick Clemens [Mon, 14 Feb 2022 16:01:07 +0000 (16:01 +0000)]
Bug 29926: Add ability for superlibrarian to view/edit password expiration

To  test:
 1 - Sign in as a superlibrarian
 2 - Find a patron account with no password expiration set
 3 - View member detials
 4 - note expiration says 'Never'
 5 - Edit patron
 6 - Set patron expiration
 7- Save
 8 - View details, confirm password expiration shows correctly
 9 - Sign in as non-superlibrarian
10 - Confirm you don't see expirationdate on details page
11 - Edit patron and confirm password expiration does not show
12 - Edit HTML and confirm you epxiration date not saved
     <input type="text" name="password_expiration_date" value="2052-05-02">

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29926: Add pasword expiration route for API
Nick Clemens [Mon, 14 Feb 2022 16:00:23 +0000 (16:00 +0000)]
Bug 29926: Add pasword expiration route for API

To test:
1 - prove -v t/db_dependent/api/v1/patrons_password_expiration.t

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29925: (follow-up) Add new pref in sysprefs.sql
Fridolin Somers [Fri, 6 May 2022 19:50:14 +0000 (09:50 -1000)]
Bug 29925: (follow-up) Add new pref in sysprefs.sql

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29925: DBRev 21.12.00.051
Fridolin Somers [Fri, 6 May 2022 19:49:42 +0000 (09:49 -1000)]
Bug 29925: DBRev 21.12.00.051

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29925: (follow-up) Allow password reset when OpacPublic not set
Nick Clemens [Thu, 10 Feb 2022 12:20:20 +0000 (12:20 +0000)]
Bug 29925: (follow-up) Allow password reset when OpacPublic not set

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29925: Add a password reset page for expired passwords
Nick Clemens [Wed, 26 Jan 2022 12:10:49 +0000 (12:10 +0000)]
Bug 29925: Add a password reset page for expired passwords

This patch adds a new page opac-reset-password where a user cna enter their login
(userid or carndumber), current password, and new password.

If the user has a password expiration date and the current password is correct and
the new passwords match and meet requirements their password will be updated and the
expiration date reset

A patron whose password does not expire will be reidrected to login to change their password

To test:
 1 - Apply patch, updatedatabase, enable new syspref EnableExpiredPasswordReset
 2 - Set 'Password expiration' for a patron category
     Home->Administration->Patron categories->Edit
 3 - Create a new patron in this category with a userid/password set, and an email
 4 - Update the patron with an expiration to be expired
     UPDATE borrowers SET password_expiration='2022-01-01' WHERE borrowernumber=51;
 5 - Give the borrower catalogue permission
 6 - Attempt to log in to Straff interface
 7 - Confirm you are signed out and notified that password must be reset
 8 - Click 'Reset your password' link
 9 - You should see the reset password page with fields for: login, current password, new password, conmfirm password
10 - enter invalid/incomplete credentials
11 - Confirm you are notified of invlaid credentials
12 - Fill in all fields, but enter current password as new password
13 - Confirm you are notified of no change
14 - Set minimum password length / strong password requirement for category
15 - Confirm you receive error if new password too short or not secure
16 - Enter a valid new password and submit and confirm update is successful
17 - Confirm you have buttons to go to OPAC or Staff and that both work
18 - Confirm you cna log in (i.e. expiration has been reset)
19 - Expire the users password
20 - Remove catalogue permission
21 - Reset password again and confirm only OPAC link

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29924: (follow-up) Fix t/db_dependent/Koha/Patron.t number of tests
Fridolin Somers [Fri, 6 May 2022 19:41:52 +0000 (09:41 -1000)]
Bug 29924: (follow-up) Fix t/db_dependent/Koha/Patron.t number of tests

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29924: DBRev 21.12.00.050
Fridolin Somers [Fri, 6 May 2022 19:36:48 +0000 (09:36 -1000)]
Bug 29924: DBRev 21.12.00.050

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29924: Update DBIC schema
Fridolin Somers [Fri, 6 May 2022 19:34:26 +0000 (09:34 -1000)]
Bug 29924: Update DBIC schema

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29924: Avoid leaking information on wrong credentials
Tomas Cohen Arazi [Tue, 26 Apr 2022 18:03:05 +0000 (15:03 -0300)]
Bug 29924: Avoid leaking information on wrong credentials

If the passed credentials are wrong, we shouldn't expose things like the
password is expired.

This patch takes care of that.

To test:
1. Have a known patron with password_expiration_date set so its
   password is expired. Can be done like:
   $ koha-mysql kohadev
   > UPDATE borrowers \
     SET password_expiration_date='2022-04-25' \
     WHERE borrowernumber=132;
   Note: change the borrowernumber
2. Attempt to login to the OPAC with wrong credentials
=> SUCCESS: You are rejected, with a message telling credentials are
            wrong
=> FAIL: You are told the password is expired.
3. Apply this patch and restart Plack
4. Repeat 2
=> SUCCESS: You are rejected, credentials are wrong and no mention to
            password being expired.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
11 days agoBug 29924: Add tests for API Basic auth behavior
Tomas Cohen Arazi [Mon, 25 Apr 2022 14:05:15 +0000 (11:05 -0300)]
Bug 29924: Add tests for API Basic auth behavior

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>