koha.git
7 months agoBug 33217: DBRev 23.06.00.073
Tomas Cohen Arazi [Wed, 8 Nov 2023 20:50:20 +0000 (17:50 -0300)]
Bug 33217: DBRev 23.06.00.073

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33217: (QA follow-up) Improve system preference description
Katrin Fischer [Sun, 5 Nov 2023 01:44:49 +0000 (01:44 +0000)]
Bug 33217: (QA follow-up) Improve system preference description

* Make sure MARC21 is mentioned, as this only updates MARC21 XSLT files
* Move ending punctuation outside the pull down
* remove 'obey' - it's not needed

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33217: (QA follow-up) Tiny tidy of atomicupdate
Katrin Fischer [Sun, 5 Nov 2023 01:40:17 +0000 (01:40 +0000)]
Bug 33217: (QA follow-up) Tiny tidy of atomicupdate

Just adds an end and removes the commented line.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33217: Tidy
Nick Clemens [Wed, 25 Oct 2023 12:33:05 +0000 (12:33 +0000)]
Bug 33217: Tidy

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33217: DB update
Nick Clemens [Tue, 14 Mar 2023 15:12:32 +0000 (15:12 +0000)]
Bug 33217: DB update

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33217: Allow specifiying sort field and order for authro links
Nick Clemens [Mon, 13 Mar 2023 19:45:49 +0000 (19:45 +0000)]
Bug 33217: Allow specifiying sort field and order for authro links

When using the facets for author, i.e. limiting a search, it makes sense to preserve the default sort order for the results (relevance, etc)

When clicking on an author to search the catalog for all works by an author, it would be nice to be able to optionally specify sorting for the listing - i.e. publication date, or title

This patch adds two new system preferences:
AuthorLinkSortBy
AuthorLinkSortOrder

To test:
1 - Do a search in intranet and staff for 'austen'
    or an author you have multiple titles from
2 - Click the linked name
3 - Note a new search is performed, sorted by field from
    defaultSortField  preference
4 - Apply patch, updatedatabase, restart_all
5 - Ensure nothing has changed by searching again
6 - Set AuthorLinkSortBy to 'date of publication' and
    AuthorLinkSortORder to asc
7 - Search again, comfirm links obey sorting specific above
8 - Test other values - confirm links are updated in both staff/opac
    and results/details

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 26916: Adjust unit tests
Nick Clemens [Fri, 11 Aug 2023 17:40:28 +0000 (17:40 +0000)]
Bug 26916: Adjust unit tests

Signed-off-by: Janusz Kaczmarek <januszop@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 26916: Show searchable patron attributes in patron search dropdown
Nick Clemens [Fri, 11 Aug 2023 15:57:42 +0000 (15:57 +0000)]
Bug 26916: Show searchable patron attributes in patron search dropdown

This patch adds attributes that have been marked searchable to the patron
search dropdowns

To test:
1 - Define some new patron attribute types and make then staff_searchable
2 - Add some values to patrons
3 - Confirm they are searched in 'Standard' search, but there is no other way to search them
4 - Apply patch
5 - Confirm the fields now show in patorn search dropdowns
6 - Search using 'standard' and confirm the searhc works
7 - Search specific attributes and confirm the searhc works

Signed-off-by: Janusz Kaczmarek <januszop@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34519: (follow-up) fix QA tool complaints
Nick Clemens [Fri, 18 Aug 2023 12:16:29 +0000 (12:16 +0000)]
Bug 34519: (follow-up) fix QA tool complaints

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34519: Ensure we always have an array
Nick Clemens [Fri, 11 Aug 2023 16:43:14 +0000 (16:43 +0000)]
Bug 34519: Ensure we always have an array

Signed-off-by: Janusz Kaczmarek <januszop@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34519: Unit tests
Nick Clemens [Fri, 11 Aug 2023 14:37:07 +0000 (14:37 +0000)]
Bug 34519: Unit tests

Signed-off-by: Janusz Kaczmarek <januszop@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34519: Add a template plugin for fetch searchable patron attributes
Nick Clemens [Fri, 11 Aug 2023 14:16:12 +0000 (14:16 +0000)]
Bug 34519: Add a template plugin for fetch searchable patron attributes

This patch moves code form scripts to a template plguin and unifies the calls

To test:
1 - Add a searchable patron attribute type
2 - Add values to several patrons and test patron searching from
    Patrons home
    Patrons search results
    Holds request screen
    Article request screen
    Patron search sidebar
3 - Apply patch
4 - Confirm results are the same

Signed-off-by: Janusz Kaczmarek <januszop@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34188: DBRev 23.06.00.072
Tomas Cohen Arazi [Wed, 8 Nov 2023 20:41:24 +0000 (17:41 -0300)]
Bug 34188: DBRev 23.06.00.072

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34188: (QA follow-up) Add standard validation to login form
Katrin Fischer [Sat, 4 Nov 2023 23:53:30 +0000 (23:53 +0000)]
Bug 34188: (QA follow-up) Add standard validation to login form

This changes how the required appears. Now it will display 'our'
text for requires fields instead of using the browser default.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34188: (QA follow-up) Fix different versions of system preference name: Force...
Katrin Fischer [Sat, 4 Nov 2023 23:46:39 +0000 (23:46 +0000)]
Bug 34188: (QA follow-up) Fix different versions of system preference name: Force(d)LibrarySelection

There were references to ForceLibrarySelection and ForceLibrarySelection (notice
the additional d) in the patch.

Standardized to: ForceLibrarySelection

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34188: (follow-up) Rename pref to 'ForceLibrarySelection' and tidy
Nick Clemens [Tue, 17 Oct 2023 19:32:44 +0000 (19:32 +0000)]
Bug 34188: (follow-up) Rename pref to 'ForceLibrarySelection' and tidy

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34188: Require Library Branch Selection when Logging in
Sam Lau [Thu, 6 Jul 2023 19:59:50 +0000 (19:59 +0000)]
Bug 34188: Require Library Branch Selection when Logging in

This patch adds the ability to force staff to select a library when
logging into the staff interface. This is done via a new system
preference: 'ForcedLibrarySelection'

To test:
1) Apply patch, restart_all, and updatedatabase
2) Log out of the staff interface. Notice the login form looks the same
   and the "Library:" dropdown has 'My Library" selected as default. Log
   back into the staff interface.
3) In Administration, search for the system preference
   "ForcedLibrarySelection". Set it to 'Force' and press save.
4) Log out of the staff interface. Notice that this time, the "Library:"
   dropdown is required and has a blank selection as the default.
5) Fill in the username and password but do not select a library. Click
   'Log in'
6) Notice you cannot log in and are asked to 'Please select an item in
   the list'
7) Select a library from the drop down and click 'Log in'
8) Notice the login was successful and you were logged in to the library
   you selected.
9) Try loggin in with some other libraries to verify it works as
   expected
10) Sign-off :)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34328: DBRev 23.06.00.071
Tomas Cohen Arazi [Wed, 8 Nov 2023 20:36:37 +0000 (17:36 -0300)]
Bug 34328: DBRev 23.06.00.071

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34328: Make update idempotent
Martin Renvoize [Fri, 6 Oct 2023 09:41:20 +0000 (10:41 +0100)]
Bug 34328: Make update idempotent

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Perltidied the atomic update.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34328: (follow-up) Add description to en_GB
Martin Renvoize [Fri, 21 Jul 2023 07:21:23 +0000 (08:21 +0100)]
Bug 34328: (follow-up) Add description to en_GB

This follow-up adds the language description string for Scottish Gaelic
to the en_GB translation.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34328: Add Scottish Gaelic to languages
Martin Renvoize [Thu, 20 Jul 2023 15:31:40 +0000 (16:31 +0100)]
Bug 34328: Add Scottish Gaelic to languages

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34985: Add a quantity field to the manual invoice form
Hammat Wele [Wed, 4 Oct 2023 17:36:05 +0000 (17:36 +0000)]
Bug 34985: Add a quantity field to the manual invoice form

This patch add a Quantity field and a Cost field to the manual invoice form this will allow to automatically multiply the amount when it has a default amount.

Test plan:

1) Apply the patch
2) Create multiple charge types some with default amount and some without default amount
    1-1) Go to Administraion -> Debit types
    1-2) Click on New Debit types
    1-3) Fill the form check the "Can be manually invoiced?" field
    1-5) Click on save
3) Create a manual invoice
    2-1) Find a patrons
    2-2) Click on Accounting tab
    2-3) Click on Create manual invoice tab
    2-4) Select a type with default amount set
        ->Cost field and Quantity field should be added to the form
    2-5) Edit the Cost field or Quantity field
        ->The amount will be automatically calculate
    2-6) Select a type with no default amount set
        ->Cost field and Quantity field should not be added to the form

Signed-off-by: Kristi Krueger <kkrueger@cuyahogalibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34889: DBRev 23.06.00.070
Tomas Cohen Arazi [Wed, 8 Nov 2023 20:32:15 +0000 (17:32 -0300)]
Bug 34889: DBRev 23.06.00.070

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34889: (follow-up) Add entry to HTML customization help include
Owen Leonard [Wed, 25 Oct 2023 15:12:21 +0000 (15:12 +0000)]
Bug 34889: (follow-up) Add entry to HTML customization help include

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34889: (follow-up) Revise database update following Bug 31383
Owen Leonard [Wed, 25 Oct 2023 14:53:25 +0000 (14:53 +0000)]
Bug 34889: (follow-up) Revise database update following Bug 31383

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34889: Convert PatronSelfRegistrationAdditionalInstructions system preference...
Owen Leonard [Fri, 22 Sep 2023 15:27:11 +0000 (15:27 +0000)]
Bug 34889: Convert PatronSelfRegistrationAdditionalInstructions system preference to HTML customization

This patch moves the PatronSelfRegistrationAdditionalInstructions system
preference into HTML customizations, making it possible to have
language- and library-specific content.

To test you should have some content in the
PatronSelfRegistrationAdditionalInstructions system preference before
applying the patch. Apply the patch and run the database update process.

 - In the staff client, go to Tools -> HTML customizations and verify
   that the content previously in the
   PatronSelfRegistrationAdditionalInstructions preference is
   now stored there.
 - The HTML customization entry form should offer
   PatronSelfRegistrationAdditionalInstructions as a choice under
   "Display location."
 - Go to Administration -> System preferences and enable
   "PatronSelfRegistration." Set "PatronSelfRegistrationVerifyByEmail"
   to "Don't require."
 - Go to the OPAC and click "Register here."
 - Submit a new registration and confirm that the content that was
   previously stored in the system preference is shown correctly on the
   registration confirmation page.
 - Update and reinstall active translations (for instance fr-FR):
   - cd misc/translator/
   - perl translate update fr-FR
   - perl translate install fr-FR
 - Enable the translation if necessary under Administration -> System
   preferences -> language.
 - Enable the "opaclanguagesdisplay" preference if necessary.
 - Edit the PatronSelfRegistrationAdditionalInstructions HTML
   customization and add unique content to the "fr-FR" tab.
 - Go to the OPAC and switch to your updated translation.
   Complete the online registration process again to confirm that the
   content you added for your translation shows up correctly on the
   confirmation page.
 - Go to Administration -> System preferences and confirm that the
   PatronSelfRegistrationAdditionalInstructions  preference has been
   removed.

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>
7 months agoBug 34869: DBRev 23.06.00.069
Tomas Cohen Arazi [Wed, 8 Nov 2023 20:27:45 +0000 (17:27 -0300)]
Bug 34869: DBRev 23.06.00.069

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34869: (follow-up) Add entry to HTML customization help include
Owen Leonard [Wed, 25 Oct 2023 15:20:06 +0000 (15:20 +0000)]
Bug 34869: (follow-up) Add entry to HTML customization help include

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34869: (follow-up) Revise database update following Bug 31383
Owen Leonard [Wed, 25 Oct 2023 14:33:05 +0000 (14:33 +0000)]
Bug 34869: (follow-up) Revise database update following Bug 31383

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34869: Convert OPACResultsSidebar system preference to HTML customization
Owen Leonard [Thu, 21 Sep 2023 17:21:37 +0000 (17:21 +0000)]
Bug 34869: Convert OPACResultsSidebar system preference to HTML customization

This patch moves the OPACResultsSidebar system preference into HTML
customizations, making it possible to have language- and library-specific
content.

To test you should have some content in the OPACResultsSidebar system
preference before applying the patch. Apply the patch and run the
database update process.

 - Go to the OPAC and perform a catalog search.
 - Confirm that the content in the sidebar under the search facets,
   which was previously in the OPACResultsSidebar system preference, is
   still displayed.
 - In the staff client, go to Tools -> HTML customizations and verify
   that the content from OPACResultsSidebar is now stored there.
 - The HTML customization entry form should offer OPACResultsSidebar as
   a choice under "Display location."
 - Update and reinstall active translations (for instance fr-FR):
   - cd misc/translator/
   - perl translate update fr-FR
   - perl translate install fr-FR
 - Enable the translation if necessary under Administration -> System
   preferences -> language.
 - Enable the "opaclanguagesdisplay" preference if necessary.
 - Edit the OPACResultsSidebar HTML customization and add unique content
   to the "fr-FR" tab.
 - Go to the OPAC and switch to your updated translation. Perform
   another catalog search to confirm that the content you added for your
   translation shows up correctly.
 - Go to Administration -> System preferences and confirm that the
   OPACResultsSidebar preference has been removed.

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>
7 months agoBug 23798: DBRev 23.06.00.068
Tomas Cohen Arazi [Wed, 8 Nov 2023 17:56:20 +0000 (14:56 -0300)]
Bug 23798: DBRev 23.06.00.068

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 23798: Atomic update fixes
Tomas Cohen Arazi [Wed, 8 Nov 2023 17:53:11 +0000 (14:53 -0300)]
Bug 23798: Atomic update fixes

This patch makes the atomic update remove the syspref even if it wasn't
previously set. It also tweaks the printed information to comform with
current practices.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 23798: (follow-up) Revise database update following Bug 31383
Owen Leonard [Wed, 8 Nov 2023 16:56:09 +0000 (16:56 +0000)]
Bug 23798: (follow-up) Revise database update following Bug 31383

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 23798: (follow-up) Add entry to HTML customization help include
Owen Leonard [Wed, 25 Oct 2023 15:46:04 +0000 (15:46 +0000)]
Bug 23798: (follow-up) Add entry to HTML customization help include

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 23798: Convert OpacMaintenanceNotice system preference to additional contents
Owen Leonard [Thu, 12 Oct 2023 14:17:57 +0000 (14:17 +0000)]
Bug 23798: Convert OpacMaintenanceNotice system preference to additional contents

This patch moves the OpacMaintenanceNotice system preference into HTML
customizations, making it possible to have language-specific content.

The patch modifies the OPAC maintenance page template so that the
language selection menu can be shown correctly according to the
OpacLangSelectorMode preference.

To test you should have some content in the OpacMaintenanceNotice
system preference before applying the patch. Apply the patch and run the
database update process.

- In the staff client, go to Tools -> HTML customizations and verify
  that the content from OpacMaintenanceNotice is now stored there.
- The HTML customization entry form should offer OpacMaintenanceNotice
  as a choice under "Display location."
- Update and reinstall active translations (for instance fr-FR):
  - perl misc/translator/translate update fr-FR
  - perl misc/translator/translate install fr-FR
- Enable the translation if necessary under Administration -> System
  preferences -> language.
- Enable the "opaclanguagesdisplay" preference if necessary.
- Enable the "OpacMaintenance" system preference.
- Edit the OpacMaintenanceNotice HTML customization and add unique
  content to the "fr-FR" tab.

- Try to view any page in the OPAC. You should see the content you
  added to the OpacMaintenanceNotice HTML customization.
- Switch to your updated translation. The page should redisplay with
  your translated content.
- Go to Administration -> System preferences and search for
  "OpacMaintenanceNotice." The search should return no
  results.

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>
7 months agoBug 35261: Update links for self registration avoiding "here"
Owen Leonard [Mon, 6 Nov 2023 14:48:59 +0000 (14:48 +0000)]
Bug 35261: Update links for self registration avoiding "here"

This patch updates several OPAC templates to change the wording of the
self registration link to "Create an account."

Minor adjustments to CSS have been made to make whitespace around the
links more comfortable.

To test, apply the patch and rebuild the OPAC CSS.

- If necessary enable the PatronSelfRegistration system preference is
  enabled.
- Go to the OPAC and check the login form in the right-hand sidebar.
- Click the "Log in to your account" link in the header and check the
  form displayed in the modal window.
- Navigate directly to /cgi-bin/koha/opac-user.pl and check the link on
  the login page.
- Complete the self-registration process and check the link in the
  right-hand sidebar menu on the "Registration complete" page.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21284: (QA follow-up) Fix QA script issues
Kyle M Hall [Fri, 3 Nov 2023 16:45:22 +0000 (16:45 +0000)]
Bug 21284: (QA follow-up) Fix QA script issues

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21284: (QA follow-up) Rename itemonhold and recordonhold
Kyle M Hall [Fri, 3 Nov 2023 16:43:47 +0000 (16:43 +0000)]
Bug 21284: (QA follow-up) Rename itemonhold and recordonhold

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21284: ILS-DI: Allow GetPatronInfo to tell if a loaned item is on hold by someone...
Matthias Meusburger [Fri, 27 Apr 2018 14:22:28 +0000 (16:22 +0200)]
Bug 21284: ILS-DI: Allow GetPatronInfo to tell if a loaned item is on hold by someone else.

This patch adds two new entries in the loans section of GetPatronInfo response:

 - itemonhold: number of holds on this specific item.
 - recordonhold: number of holds on the record.

It allows an ILS-DI client to know if a loaned item is already on hold by someone else, and how many holds there are.

Test plan:
1. Apply the patch.
2. Enable the ILS-DI system preference.
3. Check out an item for a patron and make sure there no other holds at either an item or record level.
4. Check that the new itemonhold and recordonhold entries displayed are equal to zero (example: http://127.0.0.1:8080/cgi-bin/koha/ilsdi.pl?service=GetPatronInfo&patron_id=19&show_contact=0&show_loans=1).
5. Add either a record or item level hold for the record used in step 2.
6. Check that itemonhold and recordonhold values are incremented accordingly.
   Note: a hold at an item level counts as a hold at a record level, but not vice-versa.
7. Run the tests and make sure they pass: prove t/db_dependent/ILSDI_Services.t
8. Sign-off!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34977: (QA follow-up) Tidy code
Kyle M Hall [Fri, 3 Nov 2023 16:10:42 +0000 (12:10 -0400)]
Bug 34977: (QA follow-up) Tidy code

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34977: The "Patron Lists" only allows deleting one list at a time
Salah Ghedds [Wed, 4 Oct 2023 18:43:54 +0000 (14:43 -0400)]
Bug 34977: The "Patron Lists" only allows deleting one list at a time

In the patrons lists, it's only possible to delete on list at a time. This patch add the possibility to select lists and delete them at once.

TEST PLAN
1. Apply the patch.
2. Create at least 2 patron lists (Navigate to Tools > Patron lists > New patron list).
3. Select the lists you want to delete.
4. Click the "Delete selected lists" button.
5. Confirm that the selected lists have been deleted.
6. Ensure that the button cannot be used if no list is selected.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34938: (QA follow-up) Tidy code
Kyle M Hall [Fri, 3 Nov 2023 15:58:30 +0000 (11:58 -0400)]
Bug 34938: (QA follow-up) Tidy code

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34938: Add collection column to hold ratio report
Lucas Gass [Wed, 27 Sep 2023 18:38:31 +0000 (18:38 +0000)]
Bug 34938: Add collection column to hold ratio report

To test:
1. Create enough holds on items so that they will appear on the holds ratio report.
2. Visit circ/reserveratios.pl by going to Circulation > Holds ratios
3. No collection column.
4. Apply patch and restart services
5. Look again at circ/reserveratios.pl, now you should see a collection column.
6. Ensure that the data in the column looks correct.
7. Go to Administration > Table settings to ensure you can hide that column, and other columns in the table.

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 15157: (QA follow-up) Some more changes
Marcel de Rooy [Fri, 3 Nov 2023 09:33:39 +0000 (09:33 +0000)]
Bug 15157: (QA follow-up) Some more changes

Renamed some vars. Removed unused $success.
Extended die statement.
Added Modern::Perl.

Added verbose parameter.
Added some logic around the confirm parameter. Making it possible
to run the script in 'dry' mode.
Print totals at the end.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 15157: Add my $amount and fix options
Emmi Takkinen [Wed, 2 Feb 2022 13:32:00 +0000 (15:32 +0200)]
Bug 15157: Add my $amount and fix options

Variable my $amount was missing. Also option
amount has to be declared as integer and
option confirm is no longer string.

Sponsored by: Koha-Suomi Oy

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
[EDIT] Run perltidy to resolve one line.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 15157: (follow-up) Add ability to set lower limit
Martin Renvoize [Fri, 21 Jan 2022 16:21:29 +0000 (16:21 +0000)]
Bug 15157: (follow-up) Add ability to set lower limit

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 15157: Cronjob to debar Patrons with unpaid accountlines
Olli-Antti Kivilahti [Mon, 9 Nov 2015 11:19:07 +0000 (13:19 +0200)]
Bug 15157: Cronjob to debar Patrons with unpaid accountlines

If your library wants to debar all Borrower who haven't paid
their fines by the end of the year, this script will do that
trick :)

You can give the message from a file if the cronjob runner
doesn't deal with quotes, or as a command-line parameter.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Bug 15157: Update script

This patch updates debarrBorrowersWithFines.pl script to match
changes made in bug 15156.

To test:
1. Have patron(s) with unpaid fines
2. Run e.g debarrBorrowersWithFines.pl --confirm -m "This is a description of you bad deeds"
(test other options too)
3. Confirm patron(s) with fines has been debarred with the explanation

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Bug 15157: Modernise and Update for bug 15156

This patch updates the script to use filter_by_amount_owed, renames
it to debar_patrons_with_fines.pl and moves it to the cronjobs
directory whilst also adding a copyright notice and POD.

We could add a series of options to the script to allow more fine
grained control.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
[EDIT] Run perltidy to resolve three lines.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 17617: DBRev 23.06.00.067
Tomas Cohen Arazi [Wed, 8 Nov 2023 14:31:25 +0000 (11:31 -0300)]
Bug 17617: DBRev 23.06.00.067

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 17617: Unify DBRev
Tomas Cohen Arazi [Wed, 8 Nov 2023 14:28:32 +0000 (11:28 -0300)]
Bug 17617: Unify DBRev

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 17617: Confirmation email to patron when hold is placed
Aleisha Amohia [Thu, 26 Oct 2023 21:06:56 +0000 (21:06 +0000)]
Bug 17617: Confirmation email to patron when hold is placed

This enhancement adds a new notice HOLDPLACED_PATRON that will be sent to a patron when a hold is placed for them. It depends on the new system preference EmailPatronWhenHoldIsPlaced to be enabled.

To test:
1) Update database and restart services
2) Go to Koha Administration -> System preferences and search for the new EmailPatronWhenHoldIsPlaced syspref. It should be disabled by default - leave it disabled for now.
3) Search for a record and go to the Holds tab. Place a hold for your patron.
4) Go to your patron's account and go to the Notices tab. Confirm the HOLDPLACED_PATRON notice was NOT queued.
5) Enable the EmailPatronWhenHoldIsPlaced syspref.
6) Repeat steps 3 and 4. Confirm the HOLDPLACED_PATRON notice WAS generated and queued.
7) Confirm tests pass t/db_dependent/Holds.t

Sponsored-by: Fire and Emergency New Zealand
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 17617: Unit tests
Aleisha Amohia [Thu, 26 Oct 2023 21:06:35 +0000 (21:06 +0000)]
Bug 17617: Unit tests

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 17617: Add HOLDPLACED_PATRON notice
Aleisha Amohia [Thu, 26 Oct 2023 02:37:01 +0000 (02:37 +0000)]
Bug 17617: Add HOLDPLACED_PATRON notice

A HOLDPLACED notice exists and is used by the emailLibrarianWhenHoldIsPlaced function, but libraries may want to use different wording when emailing patrons.

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 17617: EmailPatronWhenHoldIsPlaced system preference
Aleisha Amohia [Thu, 26 Oct 2023 02:02:12 +0000 (02:02 +0000)]
Bug 17617: EmailPatronWhenHoldIsPlaced system preference

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 25814: Tidy code
Kyle M Hall [Thu, 2 Nov 2023 16:33:52 +0000 (12:33 -0400)]
Bug 25814: Tidy code

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 25814: Add comment to example sip config file
Kyle M Hall [Thu, 2 Nov 2023 16:25:06 +0000 (16:25 +0000)]
Bug 25814: Add comment to example sip config file

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 25814: SIP: Add a message on successful checkin.
Matthias Meusburger [Thu, 17 Oct 2019 14:48:43 +0000 (16:48 +0200)]
Bug 25814: SIP: Add a message on successful checkin.

Currently, Koha does not return a message on successful SIP checkin.

This patchs adds the show_checkin_message option to SIPconfig.xml, disabled by
default. When enabled, the following message is displayed on SIP checkin:

"Item checked-in: {homebranch|permanent_location} - {location}"

The UseLocationAsAQInSIP system preference is used to determine whether the
homebranch or the permanent location will be used.

Test plan:

 - Perform a successful checkin using SIP
 - Check that the message is in the checkin response (AF field)
 - prove t/db_dependent/SIP/Transaction.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Edit (tcohen): tidied the whole subtest.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 20755: DBRev 23.06.00.066
Tomas Cohen Arazi [Wed, 8 Nov 2023 13:49:37 +0000 (10:49 -0300)]
Bug 20755: DBRev 23.06.00.066

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 20755: (QA follow-up) Add descriptions to system preferences
Katrin Fischer [Wed, 25 Oct 2023 09:39:30 +0000 (09:39 +0000)]
Bug 20755: (QA follow-up) Add descriptions to system preferences

Updates both the atomic update file and the sysprefs.sql with
* explanations for each preference
* type = "Free"

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 20755: (QA follow-up) Fix capitalization in system preference description
Katrin Fischer [Tue, 24 Oct 2023 15:40:51 +0000 (15:40 +0000)]
Bug 20755: (QA follow-up) Fix capitalization in system preference description

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 20755: (QA follow-up) Add unit tests
Katrin Fischer [Tue, 24 Oct 2023 15:27:42 +0000 (15:27 +0000)]
Bug 20755: (QA follow-up) Add unit tests

prove t/db_dependent/Letters.t

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 20755: Add separate email configuration for acquisition and serial emails
Raphael Straub [Fri, 29 Sep 2023 08:48:31 +0000 (08:48 +0000)]
Bug 20755: Add separate email configuration for acquisition and serial emails

This patch allows every library to define the From and Reply-to email addresses for acquisition and serial emails (orders and claims) sent by Koha.
Especially in large libraries with dedicated acquisition departments we need a way that vendors/booksellers can reply directly to the acquisition team and not to the library default email. The library email in the library configuration can then be used for circulation purposes only.

1) Apply patch, run database update
2) Make sure you have set up Koha to send up email (SMTP server, KohaAdminEmailAdress, etc.)
3) Make sure you have a vendor set up with a valid email address.
4) Check that you have four new system preferences:
  - AcquisitionsDefaultEMailAddress
  - SerialsDefaultEMailAddress
  - AcquisitionsDefaultReplyTo
  - SerialsDefaultReplyTo
5) Check that there is no change in behaviour if the four new system preferences are left empty:
All acquisition and serial emails are sent from the library email (or KohaAdminEmailAddress if no library email is set)
6) Create an order with at least one order line. Send the order to your vendor by email.
7) Create an acquisition claim notice and send it to your vendor.
8) Create a subscription linked to your vendor and with at least one late issue. Claim the issue.
9) There should be no change in behaviour: emails should be sent from library email (or KohaAdminEmailAddress if nothing is set on library level)
10) Configure different email addresses for system preferences:
  - First email address: AcquisitionsDefaultEMailAddress, SerialsDefaultEMailAddress
  - Second email address: AcquisitionsDefaultReplyTo, SerialsDefaultReplyTo
11) Repeat steps 6-8
12) Verify that the library specific acquisition and serial email addresses are used as From and Reply-to.

Sponsored-by: Karlsruhe Institute of Technology (KIT)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33390: (QA follow-up) Rephrase some preferences
Katrin Fischer [Tue, 9 May 2023 21:38:02 +0000 (21:38 +0000)]
Bug 33390: (QA follow-up) Rephrase some preferences

* to include 'authorised value' in text
* to keep sentences on one line (translation)
* to use sentences instead of just links in some places

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33390: (follow-up) move ItemsDeniedRenewal links to less confusing place
Lucas Gass [Mon, 24 Apr 2023 23:01:06 +0000 (23:01 +0000)]
Bug 33390: (follow-up) move ItemsDeniedRenewal links to less confusing place

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33390: Add links to various system preference descriptions
Lucas Gass [Mon, 3 Apr 2023 21:09:51 +0000 (21:09 +0000)]
Bug 33390: Add links to various system preference descriptions

To test:
1. Apply patch and look at the descriptions of the following system preferences. Make sure each link works and makes sense:

DefaultLongOverdueChargeValue
DefaultLongOverdueLostValue and DefaultLongOverdueDays
DefaultLongOverdueSkipLostStatuses
UpdateItemWhenLostFromHoldList

NewItemsDefaultLocation
UpdateItemLocationOnCheckin

SkipHoldTrapOnNotForLoanValue
UpdateNotForLoanStatusOnCheckin
Reference_NFL_Statuses

ItemsDeniedRenewal

Signed-off-by: Catrina <catrina@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35198: Sort database column names alphabetically on automatic item modification...
Owen Leonard [Tue, 31 Oct 2023 13:48:11 +0000 (13:48 +0000)]
Bug 35198: Sort database column names alphabetically on automatic item modification page

This patch modifies the automatic item modification by age page so that
the rule entry form sorts <select>s alphabetically, making it easier to
find the entry you need.

The [% FOR field IN... %] directives now include the "sort" method, e.g.

    [% FOR field IN agefields.sort %]

To test, apply the patch and go to Cataloging -> Item modifications by
age

- Click the "Add rules" button, then the "Add rule" button.
- Check the "Age field," "Conditions," and "Substitutions" dropdowns to
  confirm that the choices are listed alphabetically.
- Fill in the form and save the rule.
- Go back and edit the rule you created. Check that the dropdowns are
  still correct.

Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34438: DBIC schema
Tomas Cohen Arazi [Wed, 8 Nov 2023 13:38:18 +0000 (10:38 -0300)]
Bug 34438: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34438: DBRev 23.06.00.065
Tomas Cohen Arazi [Wed, 8 Nov 2023 13:25:46 +0000 (10:25 -0300)]
Bug 34438: DBRev 23.06.00.065

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34438: Add lang field to OPAC patron self registration form
Lucas Gass [Thu, 27 Jul 2023 20:32:14 +0000 (20:32 +0000)]
Bug 34438: Add lang field to OPAC patron self registration form

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>
7 months agoBug 34438: Database update
Lucas Gass [Tue, 31 Oct 2023 17:52:51 +0000 (17:52 +0000)]
Bug 34438: Database update

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>
7 months agoBug 33050: Tidy
Tomas Cohen Arazi [Wed, 8 Nov 2023 13:10:23 +0000 (10:10 -0300)]
Bug 33050: Tidy

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33050: Allow to specify quote char in runreport.pl
Fridolin Somers [Thu, 23 Feb 2023 06:40:14 +0000 (20:40 -1000)]
Bug 33050: Allow to specify quote char in runreport.pl

Add to script misc/cronjobs/runreport.pl quote char arg (only for CSV).
See perl doc https://metacpan.org/pod/Text::CSV#new

This patch also adds missing '--separator' in POD.

Test plan :
1 - Write a SQL report
2 - perl misc/cronjobs/runreport.pl --format csv 1 (or correct report number)
3 - Note you get double quotes
4 - Apply patch
5 - Repeat #2 - no change
6 - perl misc/cronjobs/runreport.pl --format csv --quote "'" 1
7 - Now it is single quote delimited
8 - perl misc/cronjobs/runreport.pl --format tsv --separator "'" 1
9 - Error is reported, you cannot set quote unless csv
10 - Try empty string as quote

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>
7 months agoBug 34557: DBRev 23.06.00.064
Tomas Cohen Arazi [Wed, 8 Nov 2023 13:04:23 +0000 (10:04 -0300)]
Bug 34557: DBRev 23.06.00.064

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34557: (follow-up) Make link more like button in staff interface
Owen Leonard [Fri, 18 Aug 2023 07:02:24 +0000 (07:02 +0000)]
Bug 34557: (follow-up) Make link more like button in staff interface

This patch adds Bootstrap button style to the link and changes the text
from "Load your checkouts" to "Show your checkouts."

The patch adds an anchor to the link so that the browser jumps down the
page a bit making the checkouts more visible.

The patch also corrects the includes for Font Awesome files. No icons
were loading because of incorrect asset links.

To test, follow the previous patch's test plan, checking that the button
looks correctly styled and that the page reloads with the checkout form
at the top.

Confirm that Font Awesome icons are loading throughout the page.

Signed-off-by: AndrewA <andrew.auld@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34557: Add SCOLoadCheckoutsByDefault system preference
Nick Clemens [Thu, 17 Aug 2023 09:10:54 +0000 (09:10 +0000)]
Bug 34557: Add SCOLoadCheckoutsByDefault system preference

This patch adds a enw system preference SCOLoadCheckoutsByDefault

When enabled, a patron's list o fcurrent checkouts will be loaded when the sign in to the SCO
module. If disabled, they will see link to load their checkouts. In either case, a new section
is added to the SCO to show a brief display of the last checked out it

To test:
1 - Enable WebBasedSelfCheck system preference
2 - Browse to:
    http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
3 - Sign in the SCO user (or enable AutoSelfCheck)
4 - Sign in as a user with several items checked out
5 - Confirm you see a list of items checked out
6 - Apply patches, updatedatabase, restart_all
7 - 'Finish' and login patron to SCO again
8 - Confirm you still see the list
9 - 'Finish'
10 - Chenge the system preference
11 - Sign in to SCO, confirm checkouts do not load
12 - Confirm you see 'Load your checkouts' link
13 - Check an item out
14 - Confirm you see the last checkout, but not a list
15 - Attempt to checkout an item that cannot be checked out
16 - Confirm "Return to account summary" does not load checkouts
17 - Click "Load your checkouts"
18 - Confirm they load
19 - Check out another item, confrim they remain and are updated
20 - Checkout an item that cannot be issued
21 - Confirm 'Return to account summary' loads the checkouts again

Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: AndrewA <andrew.auld@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35253: Add classes to materials specfied message on check in and checkout
Lucas Gass [Fri, 3 Nov 2023 17:48:00 +0000 (17:48 +0000)]
Bug 35253: Add classes to materials specfied message on check in and checkout

To test:
1. APPLY PATCH
2. Add a materials specified message to an item. ( 952$3 )
3. Add the following CSS to your IntranetUserCSS:

    .mats_spec_label { color: white; background: purple;  }
    .mats_spec_message { color: white; background: green; }

4. Checkout that item. Notice the message should be green and the label (Note about the accompanying materials:) should be purple.
5. Check in that item. Notice the message should be green and the label (Note about the accompanying materials:) should be purple.

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>
7 months agoBug 34704: Remove regex for adding additional line breaks to print templates
Katrin Fischer [Tue, 7 Nov 2023 22:31:31 +0000 (22:31 +0000)]
Bug 34704: Remove regex for adding additional line breaks to print templates

This makes sure that we don't change the line breaking for either
HTML nor plain text print notices.
For plain text, the <pre> is used to keep the line breaks as defined
in the notices template.
For HTML we require on the line breaks added by block elements in the
HTML notice, not adding any additional ones like before.
This gives the full control of the formatting to the notice editor.

To test:
* Make sure your patron doesn't have an email address
* Make sure to check the hold filled notice in messaging preferences
* Place a old on any item
* Checkin the item
* Confirm hold
* Verify notices tab shows the Hold (print) notice
* ./misc/cronjobs/gather_print_notices.pl ./ --html
* Verify the generated file has the HTML output wrapped in pre.
* Reformat the HOLD print notice to be HTML by setting the checkbox.
  Mmake sure to add some empty lines for (they should not print later)
  and some <br>, <p>, <div>  - They should be reflected in the notice later.
* Repeat test.
* All should be well :)

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35280: Fix patron attributes "clear" link in OPAC patron entry form
Owen Leonard [Tue, 7 Nov 2023 17:07:17 +0000 (17:07 +0000)]
Bug 35280: Fix patron attributes "clear" link in OPAC patron entry form

This patch makes a minor correction to the JavaScript controlling the
behavior of the "clear" link which appears on the patron entry form next
to patron attribute <select>s or <textarea>s which are editable in the
OPAC.

To test, apply the patch and create patron attributes
which have both "Display in OPAC" and "Editable in OPAC" checked.

- Create one which is tied to an authorized value, and one which isn't.
- Log in to the OPAC and click the "Personal details" tab.
- In the entry form, find the patron attribute fields under the
  Additional information" heading..
- Select a value in the dropdown, and enter text in the textarea.
- Confirm that clicking the corresponding "Clear" link for each works as
  expected.

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>
7 months agoBug 34857: Do not enable hidden select element (regression from bug 33233).
Andreas Jonsson [Tue, 7 Nov 2023 13:42:58 +0000 (14:42 +0100)]
Bug 34857: Do not enable hidden select element (regression from bug 33233).

Test plan:

Using Chrome as web browser:

* Go to opac advanced search
* Press "more options"
* Search for two keywords using "and" operator (on ktd search for idea AND behind, which matches 1 result)
* Search for two keywords using "or" operator (on ktd search for idea OR behind, which matches 4 results)
* Search for two keywords using "not" operator (on ktd search for idea NOT behind, which matches 2 results)

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>
7 months agoBug 35272: Add padding above vendor contracts section
Owen Leonard [Tue, 7 Nov 2023 11:54:56 +0000 (11:54 +0000)]
Bug 35272: Add padding above vendor contracts section

This patch makes minor updates to the CSS and markup of the vendor
detail page so that the different page sections have the correct
margins.

To test, apply the patch and rebuild the staff interface CSS.

- In Acquisitions, locate a vendor and add at least one contract if
  necessary.
- View the vendor details page. Each section (Vendor details, Ordering
  information, Contracts) should have comfortable and consistent
  margins.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 31041: (follow-up) Clean up and generalise
Martin Renvoize [Tue, 7 Nov 2023 11:35:22 +0000 (11:35 +0000)]
Bug 31041: (follow-up) Clean up and generalise

This patch cleans out the print media css rules that were originally
added for modalprinting.  The window.open method is simpler to maintain
and will more reliably print modal content as expected.

We factor out the printer code into it's own JS asset that we can apply
to other printable modals and then use it in the two existing places
where such modals have been defined already (cashup summary and bundle
confirmation).

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 31041: Prevent duplicate display of cashup summary when printing
Lucas Gass [Thu, 2 Nov 2023 19:56:00 +0000 (19:56 +0000)]
Bug 31041: Prevent duplicate display of cashup summary when printing

To test:
1. Have POS on.
2. Have some registers and items for sale. Make some sales to 'Cashup'.
3. If you have enough enough lines in the table so that 'register.pl' would print on 2 or more pages, the summary will be duplicated that same number of time.

If you are lazy like me and don't want to make that many transaction you can also add some content to the page like this:

for (let i = 0; i < 100; i++) {
  $('#register').append('<h1>TEST</h1>');
}

4. APPLY PATCH, clear browser cahche
5. Try printing again, you should only get one cashup summary when printing.

Signed-off-by: Juliet Heltibridle <jheltibridle@rcplib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 31041: add modal_printer.js asset to registers.tt
Lucas Gass [Tue, 7 Nov 2023 22:32:47 +0000 (22:32 +0000)]
Bug 31041: add modal_printer.js asset to registers.tt

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34931: Remove fieldset/legend in favor of div/h3
Lucas Gass [Thu, 12 Oct 2023 22:14:10 +0000 (22:14 +0000)]
Bug 34931: Remove fieldset/legend in favor of div/h3

1. Create some PA_CLASS authorized values.
2. Create some custom patron attributes and add them to the newly created PA_CLASS's.
3.  Set CollapseFieldsPatronAddForm to collapse 'Additional attributes and identifiers'.
4. Go to a new or existing patron record.
5. At the top of the page click the checkbox for "Show collapsed fields:".
6. Scroll down to that section and notice the PA_CLASS <legend> element is shown but not the individual patron attributes within that PA_CLASS.
7. Apply patch
8. Try again, the Additional attributes and identifiers fieldset should display properly.

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34404: Fix inconsistencies in Budgets and funds page titles, breadcrumbs, and...
Owen Leonard [Thu, 5 Oct 2023 15:18:33 +0000 (15:18 +0000)]
Bug 34404: Fix inconsistencies in Budgets and funds page titles, breadcrumbs, and headers

This patch fixes some inconsistencies in the budget and fund
administration templates, making sure the page title, breadcrumb
navigation, and page headers are consistent with each other.

Other changes: Bootstrap tooltips have been enabled in a few places
where the markup showed intent for the tooltips to be active but where
the JS was not being initiated.

Some translation imrovements have been added where budget planning
strings could be improved with context:

 '<span>by months</span>' ->
 '[% tp("Budget planning", "by months") | html %]'

To test, apply the patch and go to Administration -> Budgets. Test each
of these cases:

- Budgets list
  - New budget
  - Edit budget
  - Duplicate budget
  - Close budget
    - Close a budget with and without unreceived orders.
  - Delete budget
    - Test the delete button on a budget which has funds attached to
      confirm that the menu item is disabled and a tooltip shows with an
      explanation.
    - Delete a budget which has no funds attached.
  - Add fund
    - Test the add fund button on a budget which is locked. The menu
      item should be disabled and it should show a tooltip, "Budget is
      locked."
    - Test the add fund page for a budget which is not locked.
  - Click the name of a budget with funds attached to see the funds view
    - In this view, if the budget is locked, the "New" toolbar menu
      should have a disabled "New fund" item with a Bootstrap tooltip.
  - While viewing the funds on a budget, test the "Planning" button to
    confirm that the view of each planning type.

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>
7 months agoBug 34375: Fix the option to provide no fund in budget dropdown
Matt Blenkinsop [Mon, 6 Nov 2023 10:40:33 +0000 (10:40 +0000)]
Bug 34375: Fix the option to provide no fund in budget dropdown

Currently it is not possible to use the No fund option as the dropwdown will default to the first budget in the list. This patch re-adds this option so that the defaulting behaviour is fixed

Test plan:
1) Go to a vendor record in Acquisitions and then Receive Shipment
2) Enter an invoice number
3) Leave the Shipping cost empty and Shipping Fund as 'No fund'
4) Receive some orders or go straight to Finish receiving
5) Notice the Shipping fund has defaulted to the first fund in the alphabetical list of funds.  It is not possible to select 'No fund' and the selected fund is recorded in shipmentcost_budgetid incorrectly.
6) Apply patch
7) Repeat steps 1-5 and this time the No fund option should be used correctly

Signed-off-by: Georgia Newman <g.newman@arts.ac.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35269: Improve POD
Tomas Cohen Arazi [Mon, 6 Nov 2023 15:01:09 +0000 (12:01 -0300)]
Bug 35269: Improve POD

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
7 months agoBug 35269: Rename `update_item_location` to `location_update_trigger`
Tomas Cohen Arazi [Mon, 6 Nov 2023 14:53:53 +0000 (11:53 -0300)]
Bug 35269: Rename `update_item_location` to `location_update_trigger`

This patch renames all occurences of the method.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
7 months agoBug 35218: (QA follow-up) Perltidy and file permissions
Katrin Fischer [Mon, 6 Nov 2023 19:30:42 +0000 (19:30 +0000)]
Bug 35218: (QA follow-up) Perltidy and file permissions

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35218: Add unit tests for the counter registry API
Matt Blenkinsop [Mon, 6 Nov 2023 14:14:45 +0000 (14:14 +0000)]
Bug 35218: Add unit tests for the counter registry API

This patch adds two unit tests to cover the integration with the Counter Registry API in the Usage Statistics module. This is to prevent regressions caused either by changes to the Koha endpoint, or by changes to the Counter Registry API that might require changes in Koha to handle.

Test plan:
1) prove t/db_dependent/api/v1/erm_counter_registries.t
2) prove t/db_dependent/api/v1/erm_sushi_services.t

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>
7 months agoBug 35263: (QA follow-up) Update code
Pedro Amorim [Tue, 7 Nov 2023 10:25:18 +0000 (10:25 +0000)]
Bug 35263: (QA follow-up) Update code

Thank you Jonathan. I first tried with '||' but it would fallback to 1
for either undef or 0 (we want the first case, but not the second).
But using '//' instead, it only falls back to 1 if undef, and not when 0.
Today I learned between '||' and '//'! Thanks!

From perldoc.perl.org (relating to '//'):
'In fact, it's exactly the same as ||, except that it tests the left hand
side's definedness instead of its truth.'

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35263: Default 'can_place_ill_in_opac' to 1
Pedro Amorim [Mon, 6 Nov 2023 09:39:52 +0000 (09:39 +0000)]
Bug 35263: Default 'can_place_ill_in_opac' to 1

If ILLModule sys pref is 'off', this input param is undef. The database does not allow it to be nullable causing an error.
Check if its defined (i.e. the option was submitted) and use that, if not default to 1

Test plan, k-t-d:
1) Edit an existing patron category, visit:
/cgi-bin/koha/admin/categories.pl?op=add_form&categorycode=B
2) Click 'Save' at the bottom of the form
3) Notice a yellow box is shown with an error message
4) Apply patch. Repeat steps 1-3. Notice it now updates successfully.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35263: Add selenium tests
Pedro Amorim [Mon, 6 Nov 2023 10:13:48 +0000 (10:13 +0000)]
Bug 35263: Add selenium tests

Test plan, on k-t-d selenium (ktd --selenium up):
1) Apply just this tests patch
2) Run: prove t/db_dependent/selenium/administration_tasks.t
3) Notice it fails. Apply the other patch. Restart plack
4) Repeat step 2. Notice it passes.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35258: Remove uneeded comment and fix po:update
Jonathan Druart [Tue, 7 Nov 2023 21:16:31 +0000 (22:16 +0100)]
Bug 35258: Remove uneeded comment and fix po:update

This comment was breaking gulp po:update on D11
koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesShow.vue:82: warning: unterminated string
Aborted (core dumped)

    at ChildProcess.exithandler (node:child_process:419:12)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess.emit (node:domain:552:15)
    at maybeClose (node:internal/child_process:1091:16)
    at Socket.<anonymous> (node:internal/child_process:449:11)
    at Socket.emit (node:events:514:28)
    at Socket.emit (node:domain:552:15)
    at Pipe.<anonymous> (node:net:323:12)
    at Pipe.callbackTrampoline (node:internal/async_hooks:130:17)
[19:23:07] 'po:update' errored after 1.14 s

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34275: Add toggle switch for basic/advanced cataloging editors
Lucas Gass [Thu, 13 Jul 2023 17:51:13 +0000 (17:51 +0000)]
Bug 34275: Add toggle switch for basic/advanced cataloging editors

To test:
1. Apply patch and regenerate CSS. (https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface)
2. Turn on EnableAdvancedCatalogingEditor.
3. Go to cataloging > 'New record'
4. In the upper left notice a new toggle switch labeled 'Editor:'.
5. Try toggling the switch back and forth to move between editors. Verify it works correecly.
6. Try editing an existing record and make sure the toggle works well when editing records.
7. Try the other method of switch editors, Settings > Switch to basic/advanced editor. Make sure it works the same as always
8. Turn off EnableAdvancedCatalogingEditor, make sure the toggle button is no longer present.

Signed-off-by: Eesther <esther@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: DBRev 23.06.00.063
Tomas Cohen Arazi [Mon, 6 Nov 2023 14:34:32 +0000 (11:34 -0300)]
Bug 21159: DBRev 23.06.00.063

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: Add Koha::Item->update_item_location tests
Tomas Cohen Arazi [Mon, 6 Nov 2023 14:00:04 +0000 (11:00 -0300)]
Bug 21159: Add Koha::Item->update_item_location tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: Remove redundant mock
Tomas Cohen Arazi [Mon, 6 Nov 2023 12:59:27 +0000 (09:59 -0300)]
Bug 21159: Remove redundant mock

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: (QA follow-up) Add say to database update, perltidy, fix tests
Katrin Fischer [Wed, 1 Nov 2023 11:10:24 +0000 (11:10 +0000)]
Bug 21159: (QA follow-up) Add say to database update, perltidy, fix tests

* Perltidies to pass the QA script
* Adds missing say statement to the database update
* Makes sure the tests pass on a database, where UpdateItemLocaton*
  system preferences are not empty

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: Update item location on checkout
Alex Buckley [Wed, 10 Aug 2022 00:54:20 +0000 (00:54 +0000)]
Bug 21159: Update item location on checkout

This patchset shifts the logic for changing the item location on checkin
(controlled by the UpdateItemLocationOnCheckin system preference) to a
new subroutine in Koha/Items.pm

That subroutine logic is shared with the UpdateItemLocationOnCheckout
system preference.

Test plan:
1. Apply patches, update databases and restart services

2. Set the following system preferences:
- UpdateItemLocationOnCheckin:
FIC: PROC

- UpdateItemLocationOnCheckout:
PROC: FIC

3. Checkout an an item with items.location = 'PROC'. Observe it's
location is changed to 'FIC'

4. Return the item. Observe it's location is changed to 'PROC'

5. Change UpdateItemLocationOnCheckout to:
PROC: _BLANK_

6. Issue the item with items.location = 'PROC' and confirm it's location
is blanked on checkout

7. Issue and return an item with a different location e.g. 'REF' (don't
use 'CART' as this is blanked by bug 14576 on checkout).
Observe the location does not change on issue or return.

8. Run unit tests
sudo koha-shell kohadev
prove t/db_dependent/Circulation/issue.t

Sponsored-by: Toi Ohomai Institute of Technology, New Zealand
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>
7 months agoBug 21159: Template and yaml changes
Alex Buckley [Wed, 10 Aug 2022 20:57:10 +0000 (20:57 +0000)]
Bug 21159: Template and yaml changes

Sponsored-By: Toi Ohomai Institute of Technology, New Zealand
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>