This patch changes the placement of the catalog concern banner in the
OPAC. Changing the way it is added to the DOM will prevent it from
obscuring content.
To test, apply the patch and clear your browser cache if necessary.
- In the staff interface, make sure the "OpacCatalogConcerns" system
preference is enabled.
- Locate a bibliographic record and view the detail page.
- Click the "Report a concern" link in the sidebar.
- Submit your concern.
- When the concern is successfully submitted and the modal closes, the
success banner ("Your concern was successfully submitted.") should
appear below the breadcrumbs menu and above the biblio view tabs
("Normal view, "MARC view", etc.).
Sponsored-By: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds logging of unhandled exceptions that could occur. This
is happening on busy production sites right now. This is also useful for
plugin jobs that might not be 100% following the guidelines and would
benefit from this.
But as the [DO NOT PUSH] patch highlights, this is something we really
want to have on our current codebase, as a database connection drop
might make us reach that `catch` block we are adding logging to on this
patch.
To test:
1. Apply the [DO NOT PUSH] patch
2. Run:
$ ktd --shell
k$ restart_all ; tail -f /var/log/koha/kohadev/worker*.log
3. Pick a valid barcode on the staff UI
4. Use the 'Batch delete items' tool in the cataloguing section
5. Start the job for deleting the item
=> FAIL: The item got deleted, but the job marked as failed and no logs
about the reasons
6. Apply this patch and repeat 2-5
=> SUCCESS: Same scenario but there's a log with the error message
7. Sign off :-D
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Prerequisites:
- Have at least 2 budgets with funds
1. Add several budgets ("Acquisitions" > "Budget") with funds ("Actions" > "Add fund")
2. Keep one budget active (check the "Make Budget active" box in
the budget edit page)
- Have at least one file of records imported into Koha ("Cataloging" >
"Stage records for import" > "Upload a file")
To test:
1. Go to Acquisitions page.
2. Create a vendor and new basket if not already available.
3. In your vendor, "Add to the basket" > "From a staged MARC file".
4. Click "Add orders" of one of the MARC file.
5. Check the checkbox in the "Select for import" tab.
6. In the dropdown menu of the "Fund" field, verify the budget
names.
--> Ensure Koha displays all inactive budgets even if the "Show
inactive funds" checkbox is not checked.
7. Apply patch, and refresh the page (crtl + F5)
8. Verify the budgets in the "Fund" dropdown menu and test it with
the "Show inactive funds" checked and uncheked"
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 12478 commented this code out, however, we do return the 'used' parameter in ES authority searches. While
we should implement the feature for both ES and Zebra as an index, we can restore this behaviour here.
To test:
1 - Search authorities on OPAC with SearchEngine syspref set to both Elasticsearch and Zebra
I just searched for 'a'
2 - Confirm results with no usage are included
3 - Test with both values of OPACShowUnusedAuthorities
4 - Apply patch
5 - Repeat searches with both engines and syspref settings
6 - Confirm unused authorities not shown in either engine when syspref is "Don't show"
7 - Conifrm unused authorities shown in both engines when syspref is "Show"
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch blocks the patron set as the anonymous patron from logging into the staff interface and OPAC.
To test:
1) In Administration->sys. pref, make sure AnonymousPatron is pointed to an account.
2) Visit that patron's page and set their permissions to superlibrarian ("Access to all librarian functions")
3) Ensure that you know the username and password for this patron and can log in.
4) Visit the OPAC, attempt to log-in with your anon patron.
5) Note that you can log in and nothing happens.
6) Visit the staff interface, attempt to log-in with anon patron.
7) Once again, note that you are able to log-in with no issue.
8) Apply patch and restart_all
9) Attempt to log into the OPAC and staff interface with the patron again.
10) This time, you should get an error message on both pages saying, "Error: You can't log in as the anonymous patron!"
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
prove t/db-dependent/Auth.t
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This removes the unblessing of the patron object and uses fields form the patron
To test:
Confirm tests still pass:
prove -v t/db_dependent/Holds.t t/db_dependent/Circulation.t t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t t/db_dependent/Reserves.t t/db_dependent/api/v1/holds.t
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This routine currently takes the agerestriction value from biblioitems and an unblessed borrower object
and uses the date of birth to calculate whether the ptrons DOB is before or after the minimum value required
against the age restriction
We have a routine in the patron object to get the patron's age - we cna use this against the parsed agerestriction
value in a simple comparison and remove the need to unbless and pass the patron.
FIXME: We should move this to a biblioitems or biblio object method
To test:
0 - In Admin -> Koha to MARC mapping, set biblioitems.agerestriction to 521,a
1 - Set syspref AgeRestrictionMarker to 'Age'
2 - Edit a record and set 521$a to 'Age 14'
3 - Add an item or copy the barcode of the item on that record
4 - Attempt to checkout item to Lisa Charles in sample data, or a 15 year old patron
5 - It should checkout fine
6 - Check in item
7 - Edit patron Joyce Gaines to set age to 13 DOB:06/20/2011, or create a 13 year old patron
8 - Attempt to checkout item
9 - Item is blocked
10 - Apply patch
11 - Repeat tests, confirm no change
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Some markup errors in the OPAC recalls history template are causing the
table to not be responsive even though the DataTable is configured to be
responsive. This patch corrects it.
Also changed:
- Removed obsolete <span class="tdlabel">, a remnant of the
way we did responsive tables before the DataTable option
- Removed very obsolete "type" attribute from the <script> tag and very
obsolete "<![CDATA" marker from the script block.
- Removed <span>s which were used in the obsolete "title-string" method
of sorting a DataTable.
To test you must have recalls enabled and have at least one circulation
rule which allows for recalls.
- Log in to the OPAC as a user who can place recalls.
- Locate an item which is elligible for recall and place the recall.
- Go to your user summary page, and click the "Recalls history" link in
the sidebar.
- Confirm that the table of recalls on that page behaves
correctly. It should adjust well to varying browser widths.
Sponsored-by: Athens County Public Libraries
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
When you do an advanced search for call number, your search uses the index
callnum, but the code that maps your search to a possible Z39.50 search
still uses the index lcn,phr which was last used 15 years ago, so it's
treated as an unknown index and mapped to the Title field in the Z39.50
search form.
Test plan:
1. Click Search in the top menu to load Advanced Search
2. Change the dropdown menu for the first input from Keyword to Call
Number, and paste TT174.3 in the input and search
3. Find the Z39.50/SRU search button in your results and click it
4. Note that your search was filled in the Title field
5. Apply patch, reset_all
6. Repeat steps 1-3, note that your search was filled in the Dewey field
7. Choose the server Library of Congress SRU and search
8. Note that even though we labelled it Dewey and you searched for an
LC call number, your results are things with that call number in 050,
the LC call number field.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Run the agreements cypress test spec:
cypress run --spec t/cypress/integration/ERM/Agreements_spec.ts
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Test plan:
1. Enable ERM module
2. Confirm that you can open the ERM module in the staff interface.
3. Go to the authorized values, select 'ERM_AGREEMENT_CLOSURE_REASON' and edit the 'Cancelled' authorized value by removing the description. Making this change with any of the ERM authorized values will result in an error.
4. Go back to the ERM module and notice that there is an error. 'Something went wrong: Error: Expected string - got null.'
5. Apply patch. Run yarn js:build. Repeat test plan
6. Create a new agreement. Pick status 'Closed'.
7. Open 'Closure reason'. Confirm there is an entry for 'Expired' and an empty entry below that.
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
prove koha/t/db_dependent/api/v1/authorised_values.t
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Test plan:
Part A: New installation
1. Start a fresh test instance
2. Set EmailFieldPrimary to "selected addresses", and do not touch
EmailFieldSelection
3. Edit a patron to ensure the following fields are set:
- Primary email
- Secondary email
- Alternate email
- Enable email notices for item checkout
4. Attempt to check an item out to that patron
--> Koha explodes!
5. Apply patch
6. reset_all
7. Repeat steps 2-4
--> Checkout succeeds!
8. Ensure test plan for bug 12802 still passes
Part B: Upgraded installation
1. Start a fresh test instance at version 23.11
2. Switch to main
3. Install database update
4. Set EmailFieldPrimary to "selected addresses", and do not touch
EmailFieldSelection
5. Edit a patron to ensure the following fields are set:
- Primary email
- Secondary email
- Alternate email
- Enable email notices for item checkout
6. Attempt to check an item out to that patron
--> Koha explodes!
7. Go back to 23.11 and reset_all
8. Switch to main and apply patch
9. Repeat steps 4-6
--> Checkout succeeds!
10. Ensure test plan for bug 12802 still passes
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch restores the "Remove from list" control to the batch
operations toolbar when one is looking at the contents of a list. It was
unintentionally left out of the previous patch.
The patch also corrects some button markup to ensure consisten style of
controls in the batch operations toolbar.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch tries to address errors in the way features are displayed in
result lists so that controls for holds, tags, lists, etc. are shown or
hidden according to system preferences.
The patch converts the Cart/Lists dropdown to separate buttons, making
the display logic simpler and making the interface more consistent with
updates to the staff interface search results.
To test, apply the patch and rebuild the OPAC CSS.
- In the OPAC, test these pages:
- Catalog search results
- List contents
- Test with various combinations of these system preferences:
- opacbookbag
- DisplayMultiPlaceHold
- virtualshelves
- OPACHoldRequests
- TagsEnabled
- TagsInputOnList
- UseRecalls
- ArticleRequests
With each different combination of settings the right controls should
appear in the toolbar at the top (if present), and with each search
result.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch makes the generic method pass any parameters it got passed to
the underlying `delete()` method.
To test:
1. Apply the unit tests patch
2. Run:
$ ktd --shell
k$ prove t/db_dependent/Koha/Objects.t
=> FAIL: Tests fail, parameters are not passed
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds a new key 'notconsidered' to the authority cache when
linking to avoid doubling when creating new authorities and wishing
to ignore thesaurus
To test:
0 - Set LinkerConsiderThesaurus to "don't"
1 - Set AutCreateAuthorities to generate
2 - Set AutLinkBiblios to Do
3 - Set CataloguingModuleRelink to Do
4 - Save a new record in Koha with the same randomized heading repeated
but from 3 different authority sources
ensure source is defined by indicators only and by field $2 once
ensure the heading is random so that no matches will be found
5 - Confirm each authority is linked to a new unique authority
6 - Apply patch, restart all
7 - Repeat 4 with a new subject heading
8 - Confirm all headings are linked to the same authority
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
In the OPAC display of titles on a list, the "Remove from list" control
needs to trigger a POST operation instead of GET. This patch
appends a form for handling single entry deletions, populating
the hidden input upon confirmation.
To test, apply the patch and create a list if necessary, adding multiple
titles to it.
- View the contents of your list.
- Each title on your list should have a "Remove from this list" link.
- Click one of these. You should see a modal confirmation, "Are you
sure you want to remove this item from the list?"
- Confirming should delete the title form the list.
- Check multiple checkboxes in the list of titles and click "Remove
from list" at the top of the list.
- You should see a modal confirmation, "Are you sure you want to
remove these items from the list?"
- Confirming should result in all checked titles being removed
from the list.
- Check one or more checkboxes and then click a single "Remove from
list" link. After confirming, you should find that only the one
title was removed from the list.
Sponsored-by: Athens County Public Libraries
Signed-off-by: Eric Garcia <cubingguy714@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Test plan:
Add some serials:
1) Add a new serial, visit:
/cgi-bin/koha/serials/subscription-add.pl
2) Put a biblionumber in the 'record' field, e.g. '112'.
Press 'next' and click 'ok' on the alert box.
3) Fill all the required fields and click 'test prediction'.
4) Fill the Subscription end date (= Expiration Date).
5) Click 'save subscription'.
6) Repeat steps 1-5 to create a second serial.
Batch edit serials:
1) Visit serials and hit the 'Search' button:
/cgi-bin/koha/serials/serials-home.pl
2) Click the 2 checkboxes for the 2 serials we created
previously and click the new link that pops up
'Edit selected serials'.
3) Click 'Save' without changing anything.
4) Go back to either of the serials, notice the value
for Expiration date is changed to TODAY
(the date of the batch edit).
Apply the patch and retest the batch editing (before
retesting, change the expiration dates of the two
serials back to the original expiration date).
Note that the expiration date now only changes if you
enter a date in the 'Expiration date' field.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Test Plan:
1) Create 3 clubs, 1 limited to library A, 1 limited to library B and one not limited
2) Use a patron with home library A.
3) Go to the opac-user page, "Clubs" tab show 0/2 (the one from library B is not listed)
4) Browse to /cgi-bin/koha/svc/club/enroll?id=1
5) Reload that page a couple times
6) Note the patron is now enrolled in the same club multiple times
7) Delete those enrollments
8) Apply this patch
9) Restart all the things!
10) Repeat steps 2-7, note the lack of duplicate enrollments!
11) Repeat steps 2-10 for the staff interface
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The patch updates the MARC21 authority frameworks to Update 35
To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
https://www.loc.gov/marc/up35authority/adapndxf.html
- There should be a new subfield in 856
- g - Persistent identifier (R)
- Subfield 856$h should be renamed Non-functioning Uniform Resource Identifier and should now be repeatable
- Subfield 856$q should now be repeatable
5. Optional: Check other authority frameworks, they should all be changed
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The patch updates the MARC21 authority frameworks to Update 34
To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
https://www.loc.gov/marc/up34authority/adapndxf.html
- There should be a new subfield in 024
- 7 - Data provenance (R)
- There should be a new subfield in 034
- 7 - Data provenance (R)
- There should be a new subfield in 043
- 7 - Data provenance (R)
- There should be a new subfield in 065
- 7 - Data provenance (R)
- There should be a new subfield in 100
- 7 - Data provenance (R)
- There should be a new subfield in 110
- 7 - Data provenance (R)
- There should be a new subfield in 111
- 7 - Data provenance (R)
- There should be a new subfield in 130
- 7 - Data provenance (R)
- There should be a new subfield in 147
- 7 - Data provenance (R)
- There should be a new subfield in 148
- 7 - Data provenance (R)
- There should be a new subfield in 150
- 7 - Data provenance (R)
- There should be a new subfield in 151
- 7 - Data provenance (R)
- There should be a new subfield in 155
- 7 - Data provenance (R)
- There should be a new subfield in 162
- 7 - Data provenance (R)
- There should be a new subfield in 180
- 7 - Data provenance (R)
- There should be a new subfield in 181
- 7 - Data provenance (R)
- There should be a new subfield in 182
- 7 - Data provenance (R)
- There should be a new subfield in 185
- 7 - Data provenance (R)
- There should be a new subfield in 260
- 7 - Data provenance (R)
- There should be a new subfield in 335
- 7 - Data provenance (R)
- There should be a new subfield in 336
- 7 - Data provenance (R)
- There should be a new subfield in 348
- 7 - Data provenance (R)
- There should be a new subfield in 360
- 7 - Data provenance (R)
- There should be a new subfield in 368
- 7 - Data provenance (R)
- There should be a new subfield in 370
- 7 - Data provenance (R)
- There should be a new subfield in 371
- 7 - Data provenance (R)
- There should be a new subfield in 372
- 7 - Data provenance (R)
- There should be three new subfield in 373
- 4 - Relationship (R)
- 7 - Data provenance (R)
- i - Relationship Information (R)
- There should be a new subfield in 374
- 7 - Data provenance (R)
- There should be a new subfield in 375
- 7 - Data provenance (R)
- There should be a new subfield in 376
- 7 - Data provenance (R)
- There should be a new subfield in 377
- 7 - Data provenance (R)
- There should be a new subfield in 378
- 7 - Data provenance (R)
- There should be a new subfield in 380
- 7 - Data provenance (R)
- There should be a new subfield in 381
- 7 - Data provenance (R)
- There should be a new subfield in 382
- 7 - Data provenance (R)
- There should be a new subfield in 383
- 7 - Data provenance (R)
- There should be a new subfield in 384
- 7 - Data provenance (R)
- There should be a new subfield in 385
- 7 - Data provenance (R)
- There should be a new subfield in 386
- 7 - Data provenance (R)
- There should be a new field 387 called REPRESENTATIVE EXPRESSION CHARACTERISTICS, with the following subfields
- 0 - Authority record control number or standard number (R)
- 1 - Real World Object URI (R)
- 2 - Source of term (NR)
- 3 - Materials specified (NR)
- 6 - Linkage (NR)
- 7 - Data provenance (R)
- 8 - Field link and sequence number (R)
- a - Aspect ratio of representative expression (R)
- b - Color content of representative expression (R)
- c - Content type of representative expression (R)
- d - Date of capture of representative expression (R)
- e - Date of representative expression (R)
- f - Duration of representative expression (R)
- g - Intended audience of representative expression (R)
- h - Language of representative expression (R)
- i - Place of capture of representative expression (R)
- j - Projection of cartographic content of representative expression (R)
- k - Scale of representative expression (R)
- l - Script of representative expression (R)
- m - Sound content of representative expression (R)
- There should be a new subfield in 388
- 7 - Data provenance (R)
- There should be a new subfield in 400
- 7 - Data provenance (R)
- There should be a new subfield in 410
- 7 - Data provenance (R)
- There should be a new subfield in 411
- 7 - Data provenance (R)
- There should be a new subfield in 430
- 7 - Data provenance (R)
- There should be a new subfield in 447
- 7 - Data provenance (R)
- There should be a new subfield in 448
- 7 - Data provenance (R)
- There should be a new subfield in 450
- 7 - Data provenance (R)
- There should be a new subfield in 451
- 7 - Data provenance (R)
- There should be a new subfield in 455
- 7 - Data provenance (R)
- There should be a new subfield in 462
- 7 - Data provenance (R)
- There should be a new subfield in 480
- 7 - Data provenance (R)
- There should be a new subfield in 481
- 7 - Data provenance (R)
- There should be a new subfield in 482
- 7 - Data provenance (R)
- There should be a new subfield in 485
- 7 - Data provenance (R)
- There should be a new subfield in 500
- 7 - Data provenance (R)
- There should be a new subfield in 510
- 7 - Data provenance (R)
- There should be a new subfield in 511
- 7 - Data provenance (R)
- There should be a new subfield in 530
- 7 - Data provenance (R)
- There should be a new subfield in 547
- 7 - Data provenance (R)
- There should be a new subfield in 548
- 7 - Data provenance (R)
- There should be a new subfield in 550
- 7 - Data provenance (R)
- There should be a new subfield in 551
- 7 - Data provenance (R)
- There should be a new subfield in 555
- 7 - Data provenance (R)
- There should be a new subfield in 562
- 7 - Data provenance (R)
- There should be a new subfield in 580
- 7 - Data provenance (R)
- There should be a new subfield in 581
- 7 - Data provenance (R)
- There should be a new subfield in 582
- 7 - Data provenance (R)
- There should be a new subfield in 585
- 7 - Data provenance (R)
- There should be a new subfield in 670
- 7 - Data provenance (R)
- There should be a new subfield in 672
- 7 - Data provenance (R)
- There should be a new subfield in 675
- 7 - Data provenance (R)
- There should be a new subfield in 677
- 7 - Data provenance (R)
- There should be a new subfield in 678
- 7 - Data provenance (R)
- There should be a new subfield in 680
- 7 - Data provenance (R)
- There should be a new subfield in 700
- 7 - Data provenance (R)
- There should be a new subfield in 710
- 7 - Data provenance (R)
- There should be a new subfield in 711
- 7 - Data provenance (R)
- There should be a new subfield in 730
- 7 - Data provenance (R)
- There should be a new subfield in 747
- 7 - Data provenance (R)
- There should be a new subfield in 748
- 7 - Data provenance (R)
- There should be a new subfield in 750
- 7 - Data provenance (R)
- There should be a new subfield in 751
- 7 - Data provenance (R)
- There should be a new subfield in 755
- 7 - Data provenance (R)
- There should be a new subfield in 762
- 7 - Data provenance (R)
- There should be a new subfield in 780
- 7 - Data provenance (R)
- There should be a new subfield in 781
- 7 - Data provenance (R)
- There should be a new subfield in 782
- 7 - Data provenance (R)
- There should be a new subfield in 785
- 7 - Data provenance (R)
- There should be a new subfield in 788
- 7 - Data provenance (R)
- There should be a new subfield in 856
- e - Data provenance (R)
- These 856 subfields should be renamed
- l - Standardized information governing access (R)
- n - Terms governing access (R)
- r - Standardized information governing use and reproduction (R)
- t - Terms governing use and reproduction (R)
5. Optional: Check other authority frameworks, they should all be changed
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The patch updates the MARC21 authority frameworks to Update 33
To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
https://www.loc.gov/marc/up33authority/adapndxf.html
- No changes in the frameworks for field 034, changes only affect field
documentation
- There should be two new subfields in 672
- i - Relationship information (R)
- 4 - Relationship (R)
5. Optional: Check other authority frameworks, they should all be changed
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The patch updates the MARC21 authority frameworks to Update 32
To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
https://www.loc.gov/marc/up32authority/adapndxf.html
- There should be two new subfields in 022
- 0 - Authority record control number or standard number (NR)
- 1 - Real World Object URI (R)
- There should be three new subfields in 046
- 3 - Materials specified (NR)
- x - Nonpublic note (R)
- z - Public note (R)
- Subfield 082$2 should now be named Edition information
- Subfield 083$2 should now be named Edition information
5. Optional: Check other authority frameworks, they should all be changed
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The patch updates the MARC21 authority frameworks to Update 31
To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
https://www.loc.gov/marc/up31authority/adapndxf.html
- There should be a new field 335 EXTENSION PLAN with the following subfields https://www.loc.gov/marc/authority/ad335.html
- 0 - Authority record control number or standard number (R)
- 1 - Real World Object URI (R)
- 2 - Source (NR)
- 3 - Materials specified (NR)
- 6 - Linkage (NR)
- 7 - Data provenance (R)
- 8 - Field link and sequence number (R)
- a - Extension plan term (NR)
- b - Extension plan code (NR)
- The following 856 subfields should be marked as obsolete
- b - Access number [OBSOLETE]
- h - Processor of Request [OBSOLETE]
- i - Instruction [OBSOLETE]
- j - Bits per second [OBSOLETE]
- k - Password [OBSOLETE]
- l - Logon [OBSOLETE]
- n - Name of location of host [OBSOLETE]
- r - Settings [OBSOLETE]
- t - Terminal emulation [OBSOLETE]
- Field 043 should now be repeatable
- There should be two new subfields in 375
- 0 - Authority record control number or standard number (R)
- 1 - Real World Object URI (R)
- There should be two new subfields in 384
- 0 - Authority record control number or standard number (R)
- 1 - Real World Object URI (R)
5. Optional: Check other authority frameworks, they should all be changed
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The patch updates the MARC21 authority frameworks to Update 30
To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
https://www.loc.gov/marc/up30authority/adapndxf.html
- Field 883 should be named METADATA PROVENANCE
- Subfield 883$a should be named Creation process
- Subfield 883$d should be named Creation date
- Subfield 883$q should be named Assigning or generating agency
5. Optional: Check other authority frameworks, they should all be changed
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds a new 'ip_limit' option to Koha::Template:Plugin::Branches
To test:
1 - Set some branches in the system to have random IPs
2 - Set one branch to have your IP
To find the IP in KTD I:
Enabled ILS-DI
Set ILS-DI:AuthorizedIPs to 1.1.1.1
Visit:
http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=GetAvailability&id=248&id_type=biblio
And note the unauthorized IP listed
3 - Log out, confirm all branches are listed
4 - Log in, enable StaffLoginRestrictLibraryByIP
5 - Log out, confirm branches with IPs are removed
6 - Confirm branch matching your IP is listed
7 - Choose any of the branches and login
8 - Confirm login works
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds the CRUD endpoints for stock rotation rota's.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Cleaning up a little, I opt to move the 'Stage' controller under a new
StockRotation parent directory.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
When merging bibliographic records, Koha generates warning:
[WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81.
in [plack-]intranet-error.log.
This is because $tagslib->{$fieldtag}->{'tab'} -- for a tag, not for a
subfield --is (always?) an empty string (cf.
C4::Biblio::GetMarcStructure : $res->{$tag}->{tab} = ""), and in
Koha::Util::MARC::createMergeHash it is compared numerically with 0.
Test plan:
==========
1. From biblio search result page, selact two records with the checkboxes
and start a merge (Edit -> Merge records). Proceed with merging.
After the merge, controll the content of the plack-intranet-error.log
(when using plack -- standard in ktd). Note the lines:
[WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81.
2. Apply the patch; restart_all.
3. Repeat p. 1. There should be no fresh warnings.
Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Note that -gt is the bash integer comparison and > is the
lexical one:
$ if [ '1' \> '09' ]; then echo true; fi
true
$ if [ '1' -gt '09' ]; then echo true; fi
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Added the dev/null redirection to suppress warn in bin/sh.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
After execution of koha-elasticsearch command a file named 0 remains in
the current directory.
Inside the single parentheses, the character '>' is treated as a file
redirection, not as a comparison operator.
Test plan:
==========
1. Have a test installation with Elasticsearch. As root, perform:
./debian/scripts/koha-elasticsearch --rebuild kohadev
When the command finishes, check the contents of the current
directory (ls -ltr | tail). You sould notice a fresh file named '0'
2. Apply the patch. Delete the file named 0.
3. Repeat p. 1. There should be no file named 0 now.
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Simple catch for the warning throwing by DuplicateID exceptions in the
bookings.t api tests.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
We all have a `demo` instance somewhere. It is so weird that the default
script for backing up Koha has a hardcoded exclusion for instances
called like that. This patch fixes that.
To test:
1. Add a demo instance:
$ ktd --shell
k$ sudo koha-create --create-db demo
2. Run:
k$ sudo debian/scripts/koha-run-backups
3. Check the backups:
k$ ls -l /var/spool/koha/demo/
=> FAIL: No backup for the demo instance
3. Apply this patch
4. Repeat 2
=> SUCCESS: Backup made!
5. Sign off :-D
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Test plan:
Enable AutoLocation in prefs.
Run Auth.t. Should pass now.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
By adding an empty text body, we force Email::Stuffer/Email::MIME
to use multipart/mixed handling for the attachment instead of forcing
a single part (ie direct attachment) email, which is not consistently
handled by different email clients.
An empty text body is language-neutral (ie not imposing English),
and it allows SMTP servers to inject organisational footers into
the email (e.g. confidentiality notices).
Signed-off-by: Magnus Enger <magnus@libriotech.no>
I have tested this solution in production, and it works for me.
Bug 32575: Tidy patch
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This change adds a line to skip auto_too_soon issues/checkouts
in the auto renew digest template.
Since auto_too_soon do not trigger notifications and don't require
any special action, let's skip them in the breakdown of checkouts in
the AUTO_RENEWALS_DGST email.
Test plan:
0. Apply the patch
1. reset_all (in koha-testing-docker)
2. Note the following line in the AUTO_RENEWALS_DGST template:
[% NEXT IF (checkout.auto_renew_error == 'auto_too_soon') %]
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch uses the new form-submit JS to convert the label management
deletion link from a GET operation to POST.
To test, apply the patch and go to Cataloging -> Label creator.
- Click Manage -> Label batches. Create a batch if necessary.
- Click the "Delete" button in the "Actions" column. You should get a
confirmation message, "Are you sure you want to delete this?"
- Test both the confirming and cancelling.
- Perform the same test with Manage -> Label templates.
- From the Manage -> Label batches page, click "edit" on one of the
batches.
- Right above the "Items in batch number X" is a toolbar which should
have a button, "Delete batch." Test that it works correctly to delete
the batch.
Sponsored-by: Athens County Public Libraries
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds an exception when an attempt is made to refund against a
VOID debit.
Test plan
1) Run the included unit test
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
With the introduction of double entry accounting for VOID actions, we
need to add an additional filter to the 'Issue refund' button appearance
Test plan
1/ Add a debt
2/ Pay the debt
3/ Void the payment
4/ Confirm that with the patch applied the 'Issue refund' button doesn
not appear on the 'Void' accountline.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch simply adds the correct branch at the end of an OPAC message on the SCO page.
To Test:
1) From the staff interface, click on a patron and add an OPAC message
to their account.
2) Log into the SCO with this patron.
(http://localhost:8080/cgi-bin/koha/sco/sco-main.pl)
3) Notice how in the "Messages for you" at the top, you will see the
message, however, at the timestamp, it says something like "Written
on 06/06/2024 by " w/o listing the library that sent it.
4) Apply patch
5) Log back into SCO module
6) Note that now in the message timestamp, it correctly lists the
library that sent the message.
7) Sign-off
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>