koha.git
3 years agoBug 26145: Add the ability to upload a cover image per item
Jonathan Druart [Tue, 28 Jul 2020 19:18:20 +0000 (21:18 +0200)]
Bug 26145: Add the ability to upload a cover image per item

This patchset adds the ability to attach cover images at item level.
This commit message will explain the different patches that are
following.

The main idea is to have cover images for a given item. This is useful
for a bibliographic record linked with a subscription. Each item could
have the cover image for the serial numbers.

In this first patch there is a limitation to allow only 1 cover per
item, but a later patch will remove it. That way we will take advantage
of the recent work done to display nicely cover images (bug 25031), and
reuse it in this development (staff interface only).

In order to use a flexible and robust code, the legacy C4 code
(C4::Images) has been moved to Koha::CoverImages. Also the DB table
biblioimages has been renamed cover_images.

Test plan (for the whole patch set):
0. Turn off AllowMultipleCovers
1. Create a new bibliographic record and items
2. Attach a cover image to the bibliographic record
3. In the item list of the bibliographic detail page, you will notice a
new "Upload image" action. Select it
4. Select an image
=> Notice the new column in the item table
5. Upload another image
=> You cannot upload 2 images, you are going to replace the existing one
6. Turn on AllowMultipleCovers
7. Attach another image to the image
=> Notice the 2 images are displayed nicely, with navigation controls
8. Confirm you can view an image if you click on it and you can delete it
9. Test the OPAC view now
=> Cover image for items are displayed in the table, there is no
navigation controls here however.

Sponsored-by: Gerhard Sondermann Dialog e.K. (presseplus.de, presseshop.at, presseshop.ch)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26145: DB changes - Add biblioimages.imagenumber
Jonathan Druart [Tue, 28 Jul 2020 19:13:01 +0000 (21:13 +0200)]
Bug 26145: DB changes - Add biblioimages.imagenumber

Sponsored-by: Gerhard Sondermann Dialog e.K. (presseplus.de, presseshop.at, presseshop.ch)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26152: Remove the use of jquery.checkboxes plugin from serial collection page
Owen Leonard [Wed, 5 Aug 2020 17:50:39 +0000 (17:50 +0000)]
Bug 26152: Remove the use of jquery.checkboxes plugin from serial collection page

This patch removes the use of the jquery.checkboxes plugin from the
serial collection page and replaces it with custom JS.

To test, apply the patch and go to Serials.

- Locate a subscription which has multiple issues.
- View the details for that subscription.
- In the sidebar menu click the "Serial collection" link.
- On the serial collection page test the "Select all" and "Clear all"
  links at the top of each table of issues. The controls should work
  correctly and only affect the table on  that tab.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26154: Remove the use of jquery.checkboxes plugin from batch item deletion and...
Owen Leonard [Wed, 5 Aug 2020 18:53:46 +0000 (18:53 +0000)]
Bug 26154: Remove the use of jquery.checkboxes plugin from batch item deletion and modification

This patch removes the use of the jquery.checkboxes plugin from the
batch item modification and batch item deletion pages.

To test, apply the patch and go to Tools -> Batch item
modification.

 - Submit a batch of barcodes.
 - On the results page, test the "Select all" and "Clear all" controls
   at the top of the page. These should work correctly on the checkboxes
   in the table of results.
 - Test that the "Clear on loan" control still works to uncheck
   checkboxes corresponding to items which are checked out.
 - Test the "Show all columns" and "Hide all columns" checkboxes in the
   "Show/hide columns" section. These should work correctly on the
   checkboxes for showing and hiding columns in the table.
 - Go to Tools -> Batch item deletion.
 - Submit a batch of barcodes.
 - Repeat the same testing steps above (except the "Clear on loan"
   step).

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26503: Add unit tests
Katrin Fischer [Mon, 21 Sep 2020 05:52:27 +0000 (05:52 +0000)]
Bug 26503: Add unit tests

Run
  prove t/db_dependent/Acquisition.t

Verify all tests pass.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
JD Amended patch: perltidy

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26503: Add limit for standing orders to acq advanced search
Katrin Fischer [Mon, 21 Sep 2020 22:32:51 +0000 (00:32 +0200)]
Bug 26503: Add limit for standing orders to acq advanced search

This allows to filter on standing orders on the acq advanced search
checkbox. For this purpose a new checkbox is shown behind the order
status search option.

As both not yet ordered and standing orders have the status
'new' or partially received internally, this seems like a good
placement as it will help distinguish these cases clearly.

new + standing order = standing order, but nothing received yet
partially received + standing order = active standing order
all status + standing order = all standing orders

To test:
- Create some baskets with at least one order, some 'standing' and
  others not
- In the top toolbar choose tab Orders search > Advanced search
- Make some searches with and without the new 'Standing order' option
- Verify the right orders are found
- In the search results standing orders will now show with the
  status + (standing order).

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26519: Compiled CSS
Jonathan Druart [Mon, 12 Oct 2020 09:27:58 +0000 (11:27 +0200)]
Bug 26519: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26519: Clean up OPAC buttons with incorrect classes
Owen Leonard [Wed, 23 Sep 2020 16:14:55 +0000 (16:14 +0000)]
Bug 26519: Clean up OPAC buttons with incorrect classes

This patch makes some corrections to the OPAC templates to add the
correct classes to a few buttons which were missed during the
Bootstrap 4 upgrade, especially in cases where the buttons only appear
when JavaScript is disabled.

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).

- Locate the bibliographic record for a serial record and view the
  details. The subscription should have patron notification set.
- Under the Subscriptions tab, the "Subscribe to email notifications"
  button should look correct.
- Click to subscribe and confirm that the buttons during and after the
  process look correct.

- Perform a catalog search in the OPAC. On the search results page,
  disable JavaScript. This can be done in the browser's developer tools
  under "Settings."
- At the top of the table of search results there should be a
  correctly-styled "Go" button next to the sorting dropdown menu. It
  should work correctly.

- View the contents of a list with JavaScript disabled.
- The "Resort list" button should be correctly-styled and should work to
  submit the form.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22343: Make the tests pass on U16
Mason James [Sat, 10 Oct 2020 01:06:28 +0000 (14:06 +1300)]
Bug 22343: Make the tests pass on U16

fix SSL tests for u16, using older Email-Sender-1.300021

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26529: Remove warning
Jonathan Druart [Mon, 12 Oct 2020 07:32:16 +0000 (09:32 +0200)]
Bug 26529: Remove warning

Use of uninitialized value $rule_value in string eq

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26604: "Generate next" button gives error on serials-collection.pl
Kyle M Hall [Fri, 2 Oct 2020 16:11:48 +0000 (12:11 -0400)]
Bug 26604: "Generate next" button gives error on serials-collection.pl

In serials-collection.pl, the line

$frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subscription->{periodicity});

causes the error

Can't use string ("13") as a HASH ref while "strict refs" in use at /usr/share/koha/lib/C4/Serials.pm line 2198.

This function call makes no sense, that subroutine always returns a list and doesn't take any parameters. I think it was meant to be GetSubscriptionFrequency which is in fact already called a few lines down.

Signed-off-by: kelly mcelligott <kelly@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
JD

Test plan:
1. Create a new subscription
  * When there is an irregular issue: Skip issue number
  * Select a frequency (not irregular)
  * Test prediction pattern and mark some "not published" (to fill the subscription.irregular DB field
2. Receive a first serial (mark it arrived, an "expected" one is created)
3. Claim the expected one
=> You have 1 arrived and 1 claimed.
It's the only way to not have an expected one and hit the else block in serials/serials-collection.pl
4. Generate next => boom

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23695: (QA follow-up) Revert 'Orginating library' option
Martin Renvoize [Fri, 9 Oct 2020 10:28:12 +0000 (11:28 +0100)]
Bug 23695: (QA follow-up) Revert 'Orginating library' option

At my request, we added an 'Originating library' option to the manual
transfers form.

However, we did not properly pass this through in the controller and I
have since discovered that my request was ill conceived/a
misunderstanding of requirements.

This patch removes the option from the template and drops the references
to it in the controller.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23852: (QA follow-up) Fix remaining call to biblio-default-view
Nick Clemens [Fri, 9 Oct 2020 10:42:31 +0000 (10:42 +0000)]
Bug 23852: (QA follow-up) Fix remaining call to biblio-default-view

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26137: Remove warnings from viewlog.pl
Jonathan Druart [Thu, 8 Oct 2020 09:33:23 +0000 (11:33 +0200)]
Bug 26137: Remove warnings from viewlog.pl

The warnings are
Use of uninitialized value $val in concatenation (.) or string at /kohadevbox/koha/C4/Templates.pm line 138.
Problem = a value of  has been passed to param without key at /kohadevbox/koha/C4/Templates.pm line 138.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26529: DBRev 20.06.00.048
Jonathan Druart [Fri, 9 Oct 2020 11:04:20 +0000 (11:04 +0000)]
Bug 26529: DBRev 20.06.00.048

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26529: (follow-up) Remove other instance of blanking holdallowed from script
Nick Clemens [Thu, 8 Oct 2020 17:48:22 +0000 (17:48 +0000)]
Bug 26529: (follow-up) Remove other instance of blanking holdallowed from script

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26529: Remove existing blank rules
Nick Clemens [Mon, 28 Sep 2020 13:57:01 +0000 (13:57 +0000)]
Bug 26529: Remove existing blank rules

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26529: Unit tests
Nick Clemens [Mon, 28 Sep 2020 13:39:48 +0000 (13:39 +0000)]
Bug 26529: Unit tests

This tests tries to set some rules to blank, and then fetch the effective rule - nothing should be
returned as these values are 'Not set'

To test:
1 - Apply just this patch
2 - Tests fail
3 - Apply second patch
4 - Tests pass

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26529: Define some rules as not able to be blank
Nick Clemens [Thu, 24 Sep 2020 18:21:45 +0000 (18:21 +0000)]
Bug 26529: Define some rules as not able to be blank

Currently, the 'Default checkout, hold, and return policy' have a conditional to blank
'holdallowed' when not set, but other rules don't get the same treatment

This patch uses the existing hash that controls the scope of rules and adds a
new parameter 'can_be_blank' Default is assumed to be true, can_be_blank, but if set to '0' then
blank rule values will not be save to the database

To test:
 0 - Set CircControl to 'the library the item is from'
 1 - Goto to Admin -> Circulation and fines rules and select a library
 2 - Under "Default checkout, hold, and return policy" set:
    Total current checkouts allowed: 1
    Hold policy: Not set
    Hold pickup library match: Not set
    Return policy: Not set
 3 - Save the rule
 4 - Check the DB
    SELECT * FROM circulation_rules WHERE branchcode = 'BRANCHCODE'
    using the branchcode for the library you chode
 5 - Note returnbranch, and hold_fulfillment_policy rules exist with blank value
 6 - Set 'All libraries'->'Default checkout, hold and return policy'->'Item floats'
 7 - Checkin an item from the library with blank rules at another library
 8 - It returns home rather than floating
 9 - Apply patch and restart all the things
10 - Reload the page and save the rules as before
11 - Check the DB and note the rules no longer exist
12 - Check in the item, it floats!
13 - prove -v t/db_dependent/Koha/CirculationRules.t

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23420: DBRev 20.06.00.047
Jonathan Druart [Fri, 9 Oct 2020 11:04:19 +0000 (11:04 +0000)]
Bug 23420: DBRev 20.06.00.047

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23420: (QA follow-up) Remove more AllowPurchaseSuggestionBranchChoice code
Lucas Gass [Mon, 5 Oct 2020 17:42:29 +0000 (17:42 +0000)]
Bug 23420: (QA follow-up) Remove more AllowPurchaseSuggestionBranchChoice code

Test plan:
1. git grep -i AllowPurchaseSuggestionBranchChoice **/*.pm **/*.pl **/*.t
2. There should no longer be any code related to the old sys pref AllowPurchaseSuggestionBranchChoice

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23420: (QA follow-up) Remove AllowPurchaseSuggestionBranchChoice syspref
Lucas Gass [Wed, 23 Sep 2020 23:00:07 +0000 (23:00 +0000)]
Bug 23420: (QA follow-up) Remove AllowPurchaseSuggestionBranchChoice syspref

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23420: Add OPACSuggestionUnwantedFields system pref
Lucas Gass [Fri, 18 Sep 2020 22:17:58 +0000 (22:17 +0000)]
Bug 23420: Add OPACSuggestionUnwantedFields system pref

To test:
-Apply patch
-Check OPACSuggestionUnwantedFields
-Check some fields as unwanted
-Go to the OPAC suggestion page and make sure these correct fields are hidden
-Turn on the system preference AllowPurchaseSuggestionBranchChoice to see the branch choice on the form
-Make sure you can correctly hide this one and still submit the purchase suggestion for without error.
-Go through each option and make sure it hides properly.

Note: You will only see the patron reason field when there are authorised values in the OPAC_SUG category

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23376: (follow-up) Fix subscription bug in orderreceive.tt
Agustin Moyano [Thu, 8 Oct 2020 14:35:14 +0000 (11:35 -0300)]
Bug 23376: (follow-up) Fix subscription bug in orderreceive.tt

When order has subscription, general order variable gets replaced by other order variable in FOR loop

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 13535: DBIC schema changes
Jonathan Druart [Thu, 8 Oct 2020 14:17:42 +0000 (16:17 +0200)]
Bug 13535: DBIC schema changes

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 13535: DBRev 20.06.00.046
Jonathan Druart [Thu, 8 Oct 2020 14:14:33 +0000 (14:14 +0000)]
Bug 13535: DBRev 20.06.00.046

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 13535: Add FK constraint on borrowernumber to alert table
Katrin Fischer [Sun, 12 Apr 2020 20:52:11 +0000 (20:52 +0000)]
Bug 13535: Add FK constraint on borrowernumber to alert table

When a patron is deleted, we should clean up the data connected
to the patron. This includes subscriptions to 'new issue arrived'
arrive messages from the serials module.

To test:

Part1:
- Before applying the patch
- Add a subscription and select a notice template for patron notification
- Go to the OPAC and subscribe to the email alert
- Log in as any other patron (not yourself) and subscribe with that patron too
- Verfiy on the subscription detail page, that the patrons are subscribed
- Note the borrowernumber of your patrons
- Delete the second patron
- Note borrowernumber and delete patron
- Run: SELECT * from alert; in a report
- Despite the patron being deleted, you will see entries for both
- Apply patch
- Run updatedatabase - verify no error message
- Run updatedatabase again - verify still no error message
- There should no longer be an entry with the deleted borrowernumber,
  but only the entry for your own patron account
Part 2:
- Start fresh with the web installer, verify there are no errors on
  creating the database tables

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 15436: (follow-up) Fix separator for a single 440 in staff
Katrin Fischer [Sun, 20 Sep 2020 21:48:32 +0000 (21:48 +0000)]
Bug 15436: (follow-up) Fix separator for a single 440 in staff

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 15436: Use semicolon between series name and volume
Katrin Fischer [Thu, 17 Sep 2020 11:25:15 +0000 (11:25 +0000)]
Bug 15436: Use semicolon between series name and volume

MARC21 dictates that we should be using a ; before $v in 440, 490,
810, 811 and 830.

This patch also introduces some additional changes to unify formatting
between the various options for cataloguing series:

- The separator between multiple series is switched form ; to the
  now commonly used | with a class for easy change of formatting.
- There was some missing logic that prevented the separator to show
  up correctly between traced and untraced series.
- For some series $v was included in the link for others not. Now
  $v always appears as text and only $a is linked, as this is what
  we actually search for.

To test this:
- You should be cataloguing multiple series in different ways, using
  - deprecated 440 (still present in old data)
  - 490, Ind. 1 = empty or 0 = not traced
  - 490, Ind. 1 = 1 = traced in combination with an 8xx field

Example (you should try a different combination!)
440 _ _ $aFirst series
490 _ _ $aSecond series ;$v1
490 1 _ $aThird series ;$v1 (this won't show, it will use 830 for display)
830 _ _ $aThird series ;$v1

Without patch:
Series: First Series; Second series ; 1Third series: 1

With patch:
Series: First series | Second series ; 1 | Third series ; 1

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 5927: (QA follow-up) Move part template below show-series to make both *Utils...
Katrin Fischer [Sat, 12 Sep 2020 21:18:33 +0000 (23:18 +0200)]
Bug 5927: (QA follow-up) Move part template below show-series to make both *Utils.xsl match

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 5927: [Alternate] Show series information in staff and opac results pages
Nick Clemens [Fri, 11 Sep 2020 18:44:13 +0000 (18:44 +0000)]
Bug 5927: [Alternate] Show series information in staff and opac results pages

This moves the series info to a template in the XSLT utils files and adds a
few variables to make it work right.

To test:
1 - Create a catalog records with:
    440 series fields
    490 traced series fields
    490 untraced series fields
2 - View the details pages for these records and note the display and the links formed
3 - Apply patch
4 - Confirm the details pages look the same
5 - Search on staff and opac to return the records
6 - Confirm the results pages form the same series as on details
7 - Confirm the links work the same

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 16728: Add MARC21 777 - Issued with entry to staff and OPAC detail pages
Katrin Fischer [Thu, 17 Sep 2020 12:13:36 +0000 (12:13 +0000)]
Bug 16728: Add MARC21 777 - Issued with entry to staff and OPAC detail pages

This adds the 777 - Issued with entry to the staff and OPAC detail pages.
It's built using the template for 773 with minor adjustments.

To test:
- Apply patch
- Catalog several 777 fields in one or more of your records
  - When using 1st indicator = 1, the note won't display
  - When using 2nd indicator empty, label will be "Issued with:"
  - When using 2nd indicator 8, the label will be drawn from $i if present
  - When $w and UseControlNumber pref is used, the link will be built using $w
  - In all other cases the title form $t will be used for the link
- Verify the display is correct

Examples for 777 can be found in the LOC MARC21 documentation:
http://www.loc.gov/marc/bibliographic/bd777.html

Note: Because the label depends on the 2nd indicator, the label is repeated for every
777 on a record.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 19616: Compiled CSS
Jonathan Druart [Thu, 8 Oct 2020 14:17:13 +0000 (16:17 +0200)]
Bug 19616: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 19616: (follow-up) Breaking items according to punctuation
Katrin Fischer [Sun, 13 Sep 2020 17:16:22 +0000 (17:16 +0000)]
Bug 19616: (follow-up) Breaking items according to punctuation

Previously the code assumed that $t indicates a new line in the
listing. But this is not true. The standard tells us that -- or
.-- will indicate a new item.

"In records formulated according to AACR 2, a space-hyphen-hyphen-space
( -- ) is recorded between each item in the contents note unless a
delimiter/subfield code follows in which case there is no ending space.
In pre-AACR 2 records, items are separated by a period-hyphen-hyphen (.--)."

The previous logic did no longer work with $g added. From the LOC
examples:

This would work:
505 2 0 $tBaptisms, 1816-1872 --$tChurch members, 1816-1831 --$tHistory of the Second Presbyterian Church of West Durham /$rby L. H. Fellows.
505 0 0 $tQuatrain II$g(16:35) --$tWater ways$g(1:57) --$tWaves$g(10:49).

This wouldn't:
505 1 0 $gNr. 1.$tRegion Neusiedlersee --$gNr. 2.$tRegion Rosalia/Lithagebirge --$gNr. 3.$tRegion Mettelburgenland --$gNr. 4.$tRegion südliches Burgenland --$gNr. 5.$tRegion Südburgland

With the patches applied, all examples should display nicely now.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 19616: (follow-up) Reindent XSLT code used for 505 display
Katrin Fischer [Sun, 13 Sep 2020 16:31:13 +0000 (16:31 +0000)]
Bug 19616: (follow-up) Reindent XSLT code used for 505 display

Also adds a note at the beginning of the code block.
This causes no functional change, just code clean-up.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 19616: Add MARC21 505$g - Formatted Contents Note / Miscellaneous informatoin
Katrin Fischer [Sun, 13 Sep 2020 16:26:31 +0000 (16:26 +0000)]
Bug 19616: Add MARC21 505$g - Formatted Contents Note / Miscellaneous informatoin

This adds the subfield $g to the display of the 505 field in
staff and OPAC detail pages.

To test:
- Catalog some records using variations of 505
  Examples can be found in the LOC documentation:
  https://www.loc.gov/marc/bibliographic/bd505.html
- Verify that the display in staff and OPAC is still nice
  and now includes $g

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23376: (QA follow-up) Remove authnotrequired
Martin Renvoize [Mon, 5 Oct 2020 15:47:00 +0000 (16:47 +0100)]
Bug 23376: (QA follow-up) Remove authnotrequired

The rebased patchset subsequnetly re-introduced the now deprecated use
of authnotrequired on staff client controllers.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23376: Remove unneeded 'count' parameter
Nick Clemens [Mon, 29 Jul 2019 20:11:10 +0000 (20:11 +0000)]
Bug 23376: Remove unneeded 'count' parameter

Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23376: Move AcqCreateItem logic to template
Nick Clemens [Mon, 29 Jul 2019 20:05:42 +0000 (20:05 +0000)]
Bug 23376: Move AcqCreateItem logic to template

Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23376: Clean up order receipt page code
Nick Clemens [Thu, 25 Jul 2019 19:52:25 +0000 (19:52 +0000)]
Bug 23376: Clean up order receipt page code

This patchset switches from using DB lookups to using an order object for most things on orderreceive.pl

It simplifies the script and makes minimal changes to the template

To test:
1 - Place some orders and receive them
2 - Have orders with or without subscriptions attached
3 - Try with different AcqCreateItems settings
4 - Apply patch
5 - No behaviour should change
6 - Read code to ensure things make sense

Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23852: (QA follow-up) Correct scope of breadcrumb title style
Owen Leonard [Mon, 14 Sep 2020 13:09:24 +0000 (13:09 +0000)]
Bug 23852: (QA follow-up) Correct scope of breadcrumb title style

This patch corrects the scope of the ".title" style intended for titles
displayed in the breadcrumbs bar.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23852: Merge biblio-title.inc and biblio-default-view.inc
Owen Leonard [Mon, 21 Oct 2019 14:13:01 +0000 (14:13 +0000)]
Bug 23852: Merge biblio-title.inc and biblio-default-view.inc

This patch moves the functionality contained in biblio-default-view.inc
into biblio-title.inc. biblio-title.inc can now be called with a "link =
1" parameter in order for the title to be displayed as a link which is
controlled by the IntranetBiblioDefaultView preference.

To test, apply the patch and test the affected pages, especially titles
linked to in breadcrumbs menus

Acquisitions:
 - Add to basket -> From existing record -> Search
   - Title in search results

Catalog:
 - Search for a record
   - Add record to cart
     - Open cart
       - Title in brief display
         - Check that link opens the correct page in the main window
   - View bibliographic record
     - ISBD view
     - MARC view
     - Normal view
      - Local cover image detail page
      - Checkout history
      - Request article
     - Item details
     - From the "Edit" menu -> Attach item
     - Stock rotation rota
     - Place hold

Cataloging:
 - Cataloging search -> Search results

Circulation:
 - Article requests
 - Overdues with fines
 - Overdues
 - Holds queue
 - Holds to pull
 - Hold ratios
 - Holds awaiting pickup
 - Transfers to recevie
 - Renew
 - Batch checkout

Lists:
 - View list contents

Patrons:
 - View patron details
   - Holds history
   - Checkout history

Tools:
 - Rotating collections
   - View collection
     - Add item
 - Tags
   - Click term to see titles tagged with that term

 - Batch record deletion
   - Submit batch

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26280: Add unique class for each problem in returns.tt
Lucas Gass [Fri, 18 Sep 2020 21:06:03 +0000 (21:06 +0000)]
Bug 26280: Add unique class for each problem in returns.tt

1. Checkin an item with a bad barcode and see the prolem class also has
   a class called 'ret_badbarcode'
2. Checkin an item that triggers a lotforloan updated via
   UpdateNotForLoanStatusOnCheckin, notice the class 'ret_nflupdate'.
3. You should also see an updated_from and updated_to class. This
   should make it easier to target those for audio alerts
4. Checkin an item that triggers an location update and see the class
   'ret_locationupdate'
5. Checkin an item that is not at its permenat location and you should
   see the class 'ret_ispermenant'.
6. Checkin an item that is not checkout and you should see the class
   'ret_notissued'
7. Checkin lost items with BlockReturnOfLostItems set to 'Dont block'
   and see the class 'ret_checkedin'
8. Checkin lost items with BlockReturnOfLostItems set to 'block' and
   see the class 'ret_blocked'
9. Checkin lost items with a fee on the patron's account for that lost
   item and see the class 'ret_feeremains'
10. Checkin item that is withdrawn and see the class 'ret_withdrawn'

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26485: Simplify itemnumber handling in returns.pl
Jonathan Druart [Fri, 18 Sep 2020 09:00:20 +0000 (11:00 +0200)]
Bug 26485: Simplify itemnumber handling in returns.pl

This is a follow-up for bug 25969. The way we handle itemnumber is too complicated and error prone.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26506: (QA follow-up) Add Unit Test
Martin Renvoize [Thu, 1 Oct 2020 13:33:46 +0000 (14:33 +0100)]
Bug 26506: (QA follow-up) Add Unit Test

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26506: Fix Koha::Account::pay if called when no user is logged-in
Matthias Meusburger [Tue, 22 Sep 2020 13:16:23 +0000 (15:16 +0200)]
Bug 26506: Fix Koha::Account::pay if called when no user is logged-in

Currently, Koha::Account::pay will fail if no user is logged-in when it is
called.

In this case, this patch will use undef instead of 0 for $manager_id in order
to comply with the foreign key constraint on manager_id.

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Biblibre and Libriotech have created a OPAC payment plugin that was
having problems because of this bug. Applying the fix in this patch
to a live server solved the problem.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26599: Unused parameter name in POD of ModZebra
Marcel de Rooy [Fri, 2 Oct 2020 06:20:38 +0000 (06:20 +0000)]
Bug 26599: Unused parameter name in POD of ModZebra

This patch removes the $record reference in POD.
Nothing else ;)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26600: Missing module in Elasticsearch/Indexer.pm
Marcel de Rooy [Fri, 2 Oct 2020 06:28:06 +0000 (06:28 +0000)]
Bug 26600: Missing module in Elasticsearch/Indexer.pm

Just formally needed. It is already loaded somewhere.
That is: Koha::SearchEngine::Elasticsearch.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24598: Remove warning from test
Jonathan Druart [Thu, 8 Oct 2020 10:03:48 +0000 (12:03 +0200)]
Bug 24598: Remove warning from test

t/db_dependent/Koha/Items.t .. 6/12 Use of uninitialized value in string eq at /kohadevbox/koha/C4/Circulation.pm line 1460.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Turn Koha into a Mojolicious application
Mason James [Thu, 8 Oct 2020 11:31:33 +0000 (00:31 +1300)]
Bug 20582: Turn Koha into a Mojolicious application

fix package builds, by ignoring the following example files...

  etc/koha/apache.conf
  etc/koha/nginx.conf

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26184: Add div element to 'items available' note in OPAC reserve template
Lucas Gass [Fri, 7 Aug 2020 18:17:49 +0000 (18:17 +0000)]
Bug 26184: Add div element to 'items available' note in OPAC reserve template

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26449: fix web installer typo
Andreas Roussos [Mon, 14 Sep 2020 07:39:44 +0000 (09:39 +0200)]
Bug 26449: fix web installer typo

The onboarding segment of the web installer contains a small typo
in Step 4: "Importantl:" (should be "Important:").

This patch fixes that.

Test plan: apply the patch and access the web installer, Step 4 of
the onboarding tool should no longer display the typo.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26551: Correct modal markup to prevent long heading from overflowing
Owen Leonard [Mon, 28 Sep 2020 11:46:17 +0000 (11:46 +0000)]
Bug 26551: Correct modal markup to prevent long heading from overflowing

This patch modifies the markup of the MARC framework import and export
modals so that CSS intended only for Bootstrap buttons isn't applied to
content in the modal.

The modal dialog markup was nested inside a ".btn-group" <div>, which
carries with it CSS that prevents text wrapping. Moving the modal markup
out of the button group while keeping it inside the <td> corrects the
problem. Lines have only been shifted and reindented.

To test, apply the patch and go to Administration -> MARC bibliographic
framework.

- In the table of frameworks, from the "Actions" menu, test both
  the "Import" and "Export" links. Both should work as expected.
- Confirm that the text of the heading on the "Import" modal wraps
  correctly.
- Test the same operations for a framework other than the default one.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26191: Relocate track_login call in Auth.pm
Marcel de Rooy [Tue, 11 Aug 2020 11:22:22 +0000 (11:22 +0000)]
Bug 26191: Relocate track_login call in Auth.pm

This is a leftover from bug 22543.
Trivial move.

Test plan:
Do not apply this patch.
Pick a user that has not yet logged in today.
Only login via the opac and immediately check if borrowers.datelastseen did not change.
Apply this patch, restart, flush etc.
Only login via the opac and verify again rightaway (no further opac actions).
Now datelastseen should have been changed already.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25913: Get the correct return of AddBiblio
Jonathan Druart [Thu, 8 Oct 2020 08:58:48 +0000 (10:58 +0200)]
Bug 25913: Get the correct return of AddBiblio

We need the parenthesis to get the biblionumber and not the
biblioitemnumber, in case there is a discrepancy.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25913: Prevent get_coins to crash if record does not have title
Jonathan Druart [Thu, 30 Jul 2020 08:41:45 +0000 (10:41 +0200)]
Bug 25913: Prevent get_coins to crash if record does not have title

If a bibliographic record does not have a title, get_coins will crash
with
Can't call method "as_string" on an undefined value at /kohadevbox/koha/Koha/Biblio.pm line 645
Koha::Biblio::get_coins('Koha::Biblio=HASH(0x5558f91bb740)') called at /kohadevbox/koha/catalogue/ISBDdetail.pl line 144

We can handle that situation easily by checking the existence of the
title field.

Test plan:
1. Create a record without 245
2. Enable COinSinOpac
4. Go to the ISBD detail view
=> It must not fail with this patch applied

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25957: Don't push blank field values to ES document
Nick Clemens [Mon, 28 Sep 2020 15:29:51 +0000 (15:29 +0000)]
Bug 25957: Don't push blank field values to ES document

To test:
 1 - Load the sample DB or edit a record (using advanced cataloging editor) to have a blank subfield in a field that is indexed as suggestible
 2 - For example 'author' / 100a
     100 _ _ â€¡a
 3 - Index that record into Elasticsearch 5.X:
     perl misc/search_tools/rebuild_elasticsearch.pl  -v -bn 115 -b -d
 4 - Note error 'value must have length > 0'
 5 - Edit mappings to set author 100a not suggestible
 6 - perl misc/search_tools/rebuild_elasticsearch.pl  -v -bn 115 -b -d
 7 - Success
 8 - Set field to suggestible again
 9 - Apply patch
10 - perl misc/search_tools/rebuild_elasticsearch.pl  -v -bn 115 -b -d
11 - Success!

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25957: Unit test
Nick Clemens [Wed, 8 Jul 2020 17:29:45 +0000 (17:29 +0000)]
Bug 25957: Unit test

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26260: Add missing elastic>cnx_pool to koha-conf-site.xml.in
Jonathan Druart [Thu, 20 Aug 2020 08:10:44 +0000 (10:10 +0200)]
Bug 26260: Add missing elastic>cnx_pool to koha-conf-site.xml.in

Added by bug 22705, but only in etc/koha-conf.xml

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24598: Complete transfer for hold if checked out
Jonathan Druart [Mon, 10 Aug 2020 13:51:17 +0000 (15:51 +0200)]
Bug 24598: Complete transfer for hold if checked out

When an item that has triggered a hold is in transit to a library,
if the item is accidently shelved instead of scanned at the pickup library,
and then checked out to another patron, the holds shows the item still in transit
in the status, but says that it is waiting at the library, and the since date has vanished!

Test plan:
1) Place an item at Library A on hold for Patron 1 of Library B with pickup library at Library B
2) Check in the item at Library A to trigger the hold transfer
3) At Library B, check out the item to Patron 2 (click Yes)
=> The hold is not marked as in transit and is back to priority 1

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24598: Add tests
Jonathan Druart [Mon, 10 Aug 2020 13:51:13 +0000 (15:51 +0200)]
Bug 24598: Add tests

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] 49 to 50 tests.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Map app.psgi file and bin directory in Makefile.PL
Julian Maurice [Tue, 6 Oct 2020 15:54:09 +0000 (17:54 +0200)]
Bug 20582: Map app.psgi file and bin directory in Makefile.PL

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Reset CGI::PARAM_UTF8 to 1 before each CGI request
Julian Maurice [Tue, 6 Oct 2020 11:21:29 +0000 (13:21 +0200)]
Bug 20582: Reset CGI::PARAM_UTF8 to 1 before each CGI request

CGI::Compile calls CGI::initialize_globals before each request, which
resets PARAM_UTF8 to 0
We need to set it back to the correct value

This is the same trick used in debian/templates/plack.psgi

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: (QA follow-up) Add POD to satisfy coding guidelines
Martin Renvoize [Fri, 11 Sep 2020 10:29:37 +0000 (11:29 +0100)]
Bug 20582: (QA follow-up) Add POD to satisfy coding guidelines

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Fix a cache issue in Koha::App::{Opac,Intranet}
Julian Maurice [Fri, 28 Aug 2020 13:39:00 +0000 (17:39 +0400)]
Bug 20582: Fix a cache issue in Koha::App::{Opac,Intranet}

This was a workaround I wrote when Koha::Caches->flush_L1_caches was not
flushing all caches correctly. Now it's not needed and it causes
problems, so it must be removed.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Add very simple configuration file for Apache
Julian Maurice [Fri, 28 Aug 2020 13:37:53 +0000 (17:37 +0400)]
Bug 20582: Add very simple configuration file for Apache

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Fix PSGI file when behind a reverse proxy
Julian Maurice [Fri, 28 Aug 2020 13:35:14 +0000 (17:35 +0400)]
Bug 20582: Fix PSGI file when behind a reverse proxy

ReverseProxy middleware can modify SERVER_PORT which is used to
determines which app (opac or intranet) to run, so the choice should be
made before ReverseProxy middleware

Signed-off-by: Jerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Suppress warning in CGIBinKoha.pm
Julian Maurice [Fri, 24 Apr 2020 08:25:04 +0000 (10:25 +0200)]
Bug 20582: Suppress warning in CGIBinKoha.pm

Signed-off-by: Jerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20582: Turn Koha into a Mojolicious application
Julian Maurice [Thu, 12 Apr 2018 18:42:13 +0000 (20:42 +0200)]
Bug 20582: Turn Koha into a Mojolicious application

This patch is a proof-of-concept of Koha as a Mojolicious application

This has several benefits:
- Development setup is easier. No need for apache or nginx. Just run
  `morbo bin/intranet` or `morbo bin/opac` and go to
  http://localhost:3000 (URL rewrites and static files are handled by
  the app)
- apache2/nginx configuration is simpler too (an example of nginx
  configuration is included in the patch)
- starman and plack middlewares can still be used for debug or gzip
  compression for instance (see app.psgi)
- Using Test::Mojo we can test the whole application, as we do with the
  REST API (which is a Mojolicious application too)
- It opens a way for converting CGI scripts into Mojolicious
  controllers and actions (even if that's not possible at the moment
  because of the authentication code)

It uses the same mechanism as Plack::App::CGIBin to deal with CGI
scripts, so it should be equivalent in terms of performance

How to test ?
- Run `morbo bin/intranet`, then go to http://localhost:3000/ and try to
  find bugs. Check the REST API at http://localhost:3000/api/v1
- Run `morbo bin/opac`, then go to http://localhost:3000/ and try to
  find bugs. Check the REST API at http://localhost:3000/api/v1
- Run `starman -l :5000 -l :5001` and verify that intranet
  (http://localhost:5000) and opac (http://localhost:5001) work normally
- Read the code (and the comments), it's not very long

Signed-off-by: Jerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Remove batch_record_modification from the non-plack list
Jonathan Druart [Mon, 5 Oct 2020 15:21:04 +0000 (17:21 +0200)]
Bug 22417: Remove batch_record_modification from the non-plack list

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add exec flag on .t file
Jonathan Druart [Mon, 5 Oct 2020 14:36:03 +0000 (16:36 +0200)]
Bug 22417: Add exec flag on .t file

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add koha-worker to koha-common.install
Jonathan Druart [Mon, 5 Oct 2020 14:20:49 +0000 (16:20 +0200)]
Bug 22417: Add koha-worker to koha-common.install

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Correct DBRev bug number
Jonathan Druart [Mon, 5 Oct 2020 13:32:21 +0000 (15:32 +0200)]
Bug 22417: Correct DBRev bug number

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 15032: DBRev 20.06.00.045
Jonathan Druart [Mon, 5 Oct 2020 13:27:52 +0000 (13:27 +0000)]
Bug 15032: DBRev 20.06.00.045

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Update packaging files
Mason James [Wed, 16 Sep 2020 04:59:34 +0000 (16:59 +1200)]
Bug 22417: Update packaging files

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Process the jobs even if the message broker is not reachable
Jonathan Druart [Wed, 2 Sep 2020 09:59:10 +0000 (11:59 +0200)]
Bug 22417: Process the jobs even if the message broker is not reachable

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Remove list of pending jobs
Jonathan Druart [Wed, 2 Sep 2020 09:56:09 +0000 (11:56 +0200)]
Bug 22417: Remove list of pending jobs

This was not accurate as it was only retrieving jobs for batch_biblio_record_modification

We will need to improve that later if needed

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add rabbitmq status indicator on the about page
Jonathan Druart [Wed, 2 Sep 2020 09:17:15 +0000 (11:17 +0200)]
Bug 22417: Add rabbitmq status indicator on the about page

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add tests
Jonathan Druart [Tue, 1 Sep 2020 09:01:25 +0000 (11:01 +0200)]
Bug 22417: Add tests

Finally!

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Remove $dbh in Koha::BackgroundJob::*
Jonathan Druart [Tue, 1 Sep 2020 08:22:26 +0000 (10:22 +0200)]
Bug 22417: Remove $dbh in Koha::BackgroundJob::*

Also remove unused $job_type var

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Fix spelling resizeable vs resizable
Jonathan Druart [Mon, 31 Aug 2020 12:23:18 +0000 (14:23 +0200)]
Bug 22417: Fix spelling resizeable vs resizable

For the record, codespell does not raise the problem within ktd with
1.17.1 but appears with 1.14

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add new Net::Stomp dependency
Jonathan Druart [Mon, 31 Aug 2020 11:10:51 +0000 (13:10 +0200)]
Bug 22417: Add new Net::Stomp dependency

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add missing POD and html filters
Jonathan Druart [Mon, 31 Aug 2020 11:08:53 +0000 (13:08 +0200)]
Bug 22417: Add missing POD and html filters

Also remove "authnotrequired => 0,"

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Remove FIXME in the template
Jonathan Druart [Fri, 28 Aug 2020 08:17:47 +0000 (10:17 +0200)]
Bug 22417: Remove FIXME in the template

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Let owner of a job see the progress
Jonathan Druart [Mon, 3 Aug 2020 08:12:40 +0000 (10:12 +0200)]
Bug 22417: Let owner of a job see the progress

A owner of a job should be able to see the progress of this job.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Remove record_type from BatchUpdate*
Jonathan Druart [Wed, 29 Jul 2020 08:34:50 +0000 (10:34 +0200)]
Bug 22417: Remove record_type from BatchUpdate*

We don't need to pass it to the job, they each know which record type
they are dealing with

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Send message to /queue
Jonathan Druart [Fri, 12 Jun 2020 09:50:37 +0000 (11:50 +0200)]
Bug 22417: Send message to /queue

This cannot be:
  /queue/$namespace/$job_type

I got: '/koha_kohadev/batch_biblio_record_modification' is not a valid queue destination

So keeping the dash in $namespace-$job_type

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add the new permission manage_background_jobs
Jonathan Druart [Thu, 11 Jun 2020 10:48:00 +0000 (12:48 +0200)]
Bug 22417: Add the new permission manage_background_jobs

QA: Please answer the question in admin/background_jobs.pl

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Restore the 'add to list' feature
Jonathan Druart [Thu, 11 Jun 2020 10:40:03 +0000 (12:40 +0200)]
Bug 22417: Restore the 'add to list' feature

This feature has been added recently by bug 18127.

It highlights the need of a post processing hook.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Restore the concept of namespace
Jonathan Druart [Thu, 20 Feb 2020 15:39:13 +0000 (16:39 +0100)]
Bug 22417: Restore the concept of namespace

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Fix the batch authority tool
Jonathan Druart [Thu, 20 Feb 2020 15:03:15 +0000 (16:03 +0100)]
Bug 22417: Fix the batch authority tool

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 22417: Add a note about the existence of the DB row

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 22417: (follow-up) Fix the batch authority tool

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Try to display pending jobs - only work if worker not started
Jonathan Druart [Thu, 20 Feb 2020 12:26:53 +0000 (13:26 +0100)]
Bug 22417: Try to display pending jobs - only work if worker not started

ie. no subscription yet

This needs to be fixed (if possible), or removed from the patchset

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Handle errors
Jonathan Druart [Thu, 20 Feb 2020 11:23:07 +0000 (12:23 +0100)]
Bug 22417: Handle errors

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Switch to STOMP
Jonathan Druart [Wed, 19 Feb 2020 13:00:03 +0000 (14:00 +0100)]
Bug 22417: Switch to STOMP

apt install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_stomp
apt install libnet-stomp-perl
cp debian/scripts/koha-functions.sh /usr/share/koha/bin/koha-functions.sh
cp debian/scripts/koha-worker /usr/bin/
koha-worker --start kohadev
tail -f /var/log/rabbitmq/*

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 22417: Remove useless use statement

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add debian script koha-worker
Jonathan Druart [Wed, 19 Feb 2020 11:03:20 +0000 (12:03 +0100)]
Bug 22417: Add debian script koha-worker

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Fix borrowernumber values
Jonathan Druart [Wed, 19 Feb 2020 10:14:53 +0000 (11:14 +0100)]
Bug 22417: Fix borrowernumber values

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add the ability to cancel a job
Jonathan Druart [Wed, 27 Feb 2019 13:34:42 +0000 (10:34 -0300)]
Bug 22417: Add the ability to cancel a job

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Adapt the batch_record_modification tool
Jonathan Druart [Tue, 26 Feb 2019 00:46:01 +0000 (21:46 -0300)]
Bug 22417: Adapt the batch_record_modification tool

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add GUI to watch the progress of jobs
Jonathan Druart [Tue, 26 Feb 2019 00:45:35 +0000 (21:45 -0300)]
Bug 22417: Add GUI to watch the progress of jobs

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22417: Add Koha::BackgroundJob::BatchUpdateAuthority
Jonathan Druart [Tue, 26 Feb 2019 00:43:55 +0000 (21:43 -0300)]
Bug 22417: Add Koha::BackgroundJob::BatchUpdateAuthority

This is not ready yet!

Note that this is too close to Koha::BackgroundJob::BatchUpdateBiblio,
we will want to refactor bit of code.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>