This patch updates the OPAC search history page so that it uses
the new WRAPPER syntax to generate tabs markup.
To test, apply the patch and view the OPAC search history page. With the
OpacAuthorities system preference enabled you should see two tabs:
Catalog and Authority. Confirm that each tab shows the correct
information.
Deactivate OpacAuthorities and reload the search history page. The
bibliographic search history should display without tabs.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
In order to make the conversion to the tab wrapper markup easier I'm
putting the biblio search history and authority search history sections
into blocks. This will make it easier to include or not include the
sections using template logic.
To test, apply the patch and, if necessary, perform some searches for
bibliographic and authority records. The OPAC search history page should
be unchanged, with the correct information showing under each tab and in
each section for current and previous searches.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch modifies recalls_waiting.pl so that it defines template
variables for 'recalls waiting' and 'recalls waiting over x days'
counts in the same way that waitingreserves.pl handles it.
To test you must have UseRecalls enabled, and some recalls data that
will allow you to see content under each tab.
Go to Circulation -> Recalls awaiting pickup and confirm that both tabs
show the correct count.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the recalls awaiting pickup template so that it uses
the new WRAPPER directive to build tabbed navigation.
Note: this patch includes indentation changes, so check the diff
accordingly.
To test you must have UseRecalls enabled. Apply the patch and go to
Circulation -> Recalls awaiting pickup.
Both the "Recalls waiting" and "Recalls waiting over X days" tabs should
look correct and work correctly.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Font awesome now provides a different approach to icon styles so you can
specify things like:
```
<i class="fa fa-camera-retro"></i>
```
but also
```
<i class="fa-solid fa-camera-retro"></i>
```
The original implementation had a hardcoded `fa` and having an extra
parameter for the *style* seemed overkill, as we would need to handle
even a list of styles like on this example:
```
<i class="fa-sharp fa-solid fa-camera-retro"></i>
```
So I chose to just explicitly require the full FA icon class and pass it
thru. With no manipulation on the Vue side.
This patch does that, and adjusts the 'style' for some icons, as
introduced by the FA v6 patchset.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
When creating items at receiving, the generated data structure didn't
match what the code expected, so this patch adapts the code to match the
new data structure introduced by bug 8179.
Once I fixed that, I noticed that the $.ajax request payload, when it
contains an array parameter, it renames it like `param[]`. So the
finishreceive.pl controller is adjusted to this behaviour for the 'on
receiving' use case.
To test:
1. Apply this patch
2. Create a basket with 'create items on receive'
3. Create an order line
4. Close basket
5. Receive shipment
6. Enter invoice number
7. Click on Receive link in the table
8. Fill out item form, make sure all mandatory fields are set
9. Save
10. Verify that the order line is marked as 'received'
11. Verify that there item is created on the record
=> SUCCESS: Works as expected
12. Sign off :-D
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
As it's been requested that we keep the search defaults consistent, I
think this preference is better names DefaultPatronSearchMethod and
appear next to DefaultPatronSearchFields. This patch makes that change,
though actually applying it to the other search area's (outside of
autocomplete) has been left for another bug.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds a new system preference called "PatronAutoCompleteSearchMethod"
which allows staff to choose between "Starts with" or "Contains" when
searching for patrons.
The "Contains" option should be useful when searching for patrons that have
multiple surnames or when searching using a patron's middle name.
New Test Plan:
0. Ensure system preference PatronAutoComplete is set to Try
1. Create a patron that has a first name, middle name and two surnames.
(i.e. Adela Maria, Hernandez Acosta).
2. In patron or checkout search, enter their first name and first
surname without submitting.
3. Confirm that a record is found in the autocomplete results
4. In patron or checkout search, enter their first name and second
surname without submitting.
5. Confirm that no record is found.
6. Enter their middle name and first surname. Confirm that no record is
found.
7. Enter their middle name and second surname. Confirm that no record
is found.
8. Apply the patch, update database
9. Under Administration > Global System Preferences > search for
"PatronAutocompleteSearchMethod"
10. Choose "Contains" instead of "Starts with" for the system
preference, reload your search page
11. Repeat steps 2-4. The patron record should appear for all search
methods.
12. Sign off!
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch replaces a same directory relative URL with a root
relative URL, so that the navigation to subscription-detail.pl
works correctly after deleting a serial.
To test:
0. Apply patch
1. Go to http://localhost:8081/cgi-bin/koha/serials/serials-home.pl
2. Click "New subscription"
3. Click "Search for a vendor"
4. Click "OK"
5. Click "Choose"
6. Click "Search for record"
7. Type "e" into "Keyword:" box
8. Click "Search"
9. Click "Choose" on top result
10. Click "Next"
11. Fill in "Serials planning" however you like, and click
"Test prediction pattern"
12. Click "Save subscription"
13. Click "Serial collection" in left nav menu
14. Click "Delete selected issues"
15. Click "Yes, delete"
16. Click the link under the "Subscription num." table column
17. Note that you're taken to the subscription detail page
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Regression from the KohaTable Vue component added by bug 33066.
_dt_default_ajax expects options.columns to contain the columns.
Test plan:
Add some agreements, go the the agreement list view and confirm that you
can now sort the agreements using the header columns.
Note that the CSS is not correct yet. My understanding is that the
DataTable Vue component keep the 'sorting' class on the th which display
the grey up/down icon over the blue icon which indicate the current sort
column.
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Simple fix: op was named incorrectly in URL.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes some corrections to recall pages:
- Update breadcrumbs menu to use wrapper.
- Add <div class="page-section"> where it is missing.
- Use biblio-title include to show links to bibliographic record titles.
- Correct Bootstrap button dropdown markup for consistent style
- Change some submit buttons to <button> elements for consistent style
To test you must have UseRecalls enabled. Having some sample recalls
data will help. Check the following pages to confirm that everything
looks correct:
- Circulation ->
- Recalls queue
- Recalls to pull
- Overdue recalls
- Recalls awaiting pickup
- Old recalls
- Existing recalls: View a bibliographic record with a recall and
click "Recalls" in the sidebar.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This follow-up makes the same change to the "Change password" template.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds some JavaScript to the patron entry form which adds a
hint if the logged-in librarian tries to change their own username. It
warns them that they will be logged out.
To test, apply the patch and log into the staff interface.
- Locate and edit your own patron record.
- In the "OPAC/Staff interface login" section, change the value in the
username field. When focus leaves that form field a hint should
appear, "You will be logged out if you modify your username."
- Change the username field back to your original username. The hint
should disappear.
- Confirm that submitting a username change works correctly: You should
be logged out, and when you log in again your username should be
updated.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch changes the "Account" and "Key" display so that
you can manually enter two factor authentication details into
an authenticator app.
The details are the same as those provided by scanning the QR code.
Test plan:
0. Apply patch
1. Go to
http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=TwoFactorAuthentication
2. Change setting to "Enable"
3. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
4. Click "More" on record toolbar and choose "Manage two-factor authentication"
5. Click "Enable two-factor authentication"
6. Scan the QR code into an authenticator app and note it creates an entry called
"Centerville: Centerville_koha"
7. Manually enter an entry into an authenticator app (like Google Authenticator)
7a. Add the "Account" as shown on the Koha screen
7b. Add the "Key" as shown on the Koha screen
8. Note that the entries added by QR code and manual entry have the same
label and both were accepted by the authenticator app
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch corrects a small regression in one of the templates for
outputting item search results. The template lost the change made to it
by Bug 33070: "Remove use of can_edit_items."
The error meant that item searching wasn't working at all.
To test, apply the patch and perform an item search in the staff
interface. Results should be returned as expected.
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
JS error in the console was
Uncaught TypeError: row.creator is null
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch moves the fetching of news to the template and
adds a p[lugin method to get news by id
TO test:
1 - Define some general and library specific news items
2 - Define in various languages
3 - Define some 'Additional contents' as well
4 - Apply patch
5 - Confirm onlly 'all libraries' news show if not loigged in to opac
6 - Confirm correct library news show when logged in
7 - View specific news items:
http://localhost:8080/cgi-bin/koha/opac-main.pl?news_id=12
8 - Confirm that non-existent ids show " This news item does not exist. "
9 - Confirm if you enter ID for additional contents you get 'does not exist'
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This change adds a "Modification date" column to the
OPAC Lists table, so that you can see when a list was last modified.
Test plan:
1. Apply patch
2. Create a public list and a private list
3. Go to http://localhost:8080/cgi-bin/koha/opac-shelves.pl?op=list&public=1
4. Note that "Modification date" appears in the relevant date format
on both the "Your lists" and "Public lists" tabs
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Finally! No more occurrences of this module, we can happily remove it!
Test plan:
git grep is your friend
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The last occurrence of C4::BackgroundJob is in process_koc.pl that is used to upload a file.
Added by bug 2608 (15 years ago), I think it does not longer make sense as networks are faster, and we should not expect big koc files to be uploaded.
If there are complains we will move it to Koha::BackgroundJob.
Test plan:
Upload a koc file, enqueue the operations and confirm that everything is
working correctly
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch upgrades the Multiple Select plugin in the staff interface
and adds some minor adjustments to system preferences CSS to accommodate
the change. The listing on the about page is updated with current
information.
To test, apply the patch and clear your browser cache if necessary.
- Go to Administration -> System preferences.
- Test some preferences which use the plugin, e.g.
- ApplyFrameworkDefaults
- CoceProviders
- OpacHiddenItemsExceptions
- OPACAllowUserToChangeBranch
- Confirm that the menus look correct and work correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit allows the string to be translated - tested using fr-FR and a dummy string in the .po file
Test plan as above
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit deletes the old toolbar components as they are no longer
necessary
Test plan as above
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit amends the required files to import the toolbar and add the
correct options
Test plan as above
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit introduces a standard Toolbar component that can be used
throughout ERM
Test plan:
1) Apply patch
2) Navigate to Agreements and click the "Add agreement" button - this
should work as normal
3) Navigate to Licenses and repeat
4) Navigate to Local packages and repeat
5) Navigate to local titles - there should be two buttons, one to add and
one to import. These should work as normal
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The event handler for restriction deletion needs to be adjusted
according to the new container ID. Without this change the JavaScript
confirmation message didn't appear and restrictions were deleted without
confirmation.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the checkout and patron details templates so
that they use the new WRAPPER directive to build tabbed navigation.
The markup for the tab navigation and tab panels is moved into its own
include file since the templates were duplicating essentially the same
code.
To fully test you should have patrons with checkouts, fines, holds,
recalls, and article requests.
Apply the patch and go to the checkout page in the staff interface. With
each tab, test as much functionality as you can within that tab.
- Checkouts
- Holds
- Recalls (with UseRecalls enabled)
- Claims (with a LOST value defined in ClaimReturnedLostValue)
- Restrictions
- Article Requests (with ArticleRequests preference enabled)
- Clubs (with at least one club defined)
- Relatives' checkouts (patron must have a guarantee linked to their
account).
Perform the same tests on the patron details page. Note that the
"Charges" tab is shown on the patron details page but not the checkout
page. This is not a change made by this patch.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch corrects the Font Awesome asset links in the web installer.
They were not updated during the upgrade to Font Awesome 6.
Unrelated: The patch also removes the inclusion of jQueryUI. It is not
used in the installation or onboarding process.
To test, apply the patch and run the web installer. The display of
installation steps should include square icons indicating which steps
are complete.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
To test:
1. Apply patch, yarn build
2. Trigger a waiting hold for a patron that has a value for primary_contact_method
3. Notice the modal now includes a line indicating the primary_contact_method.
4. Trigger a hold for a patron without a primary_contact_method. Nothing should display.
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The tool has not been updated and is no longer working with modern
browser.
It should either be rewritten/adjusted or removed. Given that we didn't
get complains its non-functional status, bugs related to this tool
didn't get attention, and the community is lacking resources, I am
suggesting to remove it and redirect users to the koct FF plugin that
is known to be working.
Test plan:
See bug 10240 and use `git grep` to confirm that we are removing all
tracks of this feature.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch corrects the code for selecting tabs other than the first
tab.
To test, apply the patch and view the bibliographic detail page for a
serial record and with various settings of the opacSerialDefaultTab
system preference.
If you select "subscriptions tab" the subscriptions tab should be active
by default.
You can also enable html5media and view a record with html5media
information and no holdings. The media tab should be displayed by
default.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the OPAC bibliographic detail page so that it uses
the new WRAPPER syntax to generate tabs markup.
To test, apply the patch and locate a bibliographic record. View the
detail page. Verify that tabs are working, including all the options:
- Holdings
- Other holdings (If OpacSeparateHoldings is enabled)
- Descriptions (MARC notes)
- Subscriptions
- Serial collection (UNIMARC, untested)
- Components (If ShowComponentRecords is enabled. See Bug 11175 for
sample record)
- Comments
- Editions (OPACFRBRizeEditions)
- Html5media (If HTML5MediaEnabled is on. See Bug 8377 for sample
records)
- Images (If OPACLocalCoverImages is enabled)
- NovelistSelect
- Author identifiers (Witgh OPACAuthorIdentifiers enabled, see Bug
29897)
Bonus points for testing these tabs for which I don't have credentials:
- Syndetics TOC
- Syndetics Excerpt
- Syndetics Reviews
- Syndetics AuthorNotes
- LibraryThing for Libraries (with LibraryThingForLibrariesTabbedView
set to "in tabs.")
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
To test.
1. On staff home page notice the gear icon necxt to 'Koha
administration' looks different than the others/
2. Apply patch.
3. It looks better.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates icons which are listed as having changed names in
this document:
https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6.3.0
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch simply adds hidden inputs to the item parts confirm form
to ensure specified checkin date is retained
To test:
1 - Find or add an item with subfield 3 - materials specified
2 - Enable system preference CircConfirmItemParts
3 - Go to Circulation->Checkin
4 - Click the settings button in the input box and enter a checkin date and select the remeber check box
5 - Check in some items, confirm date retained
6 - Checkin the item with the materials specified
7 - Confirm checkin
8 - Note that checkin date is cleared
9 - Apply patch
10 - Repeat 3-7
11 - Confirm date is retained
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Andrii Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes minor changes to the structure of the "Manage MARC
imports" page so that sections are more clearly delineated and forms
have the correct structure.
The patch also shortens the new framework field labels and adds hints
for clarification.
To test, apply the patch and go to Cataloging -> Stage MARC records for
import.
- Import a batch of MARC records.
- Go to Cataloging -> Manage staged records.
- View the batch you just imported.
- You should see three sections:
- A list of information about the batch
- Options for changing the matching rules
- Options for setting frameworks during import.
- Test that the form for applying different matching rules still works
correctly.
- Import a batch of records which contains matches (by, for example,
exporting MARC records from Koha and then reimporting the same
batch)
- On the manage page for that batch try changing the matching rule
applied, switching between "Do not look for matching records" and a
matching rule which will catch the duplicate records.
- Test that your records are imported correctly according to the
framework settings you select, both for new records and for replaced
records.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>