The id has been modified by bug 33526. We can simply pass the table
element however.
Test plan:
Have some cover images at item level and notice that they are correctly
displayed on the bibliographic record detail page.
Note that the slider does not work correctly. If you click on the dot
(so if you have several images for an item) the scrollbar is going to
hit the top of the page and the image won't change.
Could be reported separately if not done yet.
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
When the item type is not for loan, the item status must be "Not for loan". Now in the Intranet status is Available while in the OPAC it's Not for loan.
Test plan:
1 Define an item type as "Not for loan"
2 Add or edit an item so that its item type is "Not for loan"
3 Check that the status in the Intranet detail page shows Available while the OPAC detail page shows "Not for loan"
4 Apply patch, restart services
5 Check that the status is now "Not for loan" in both Intranet and OPAC
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
1) Don't automagically always set a transfer to in transit on checkin..
wait for the user to actually confirm that's the case
2) New transfers triggered by a hold should take precidence, so hide
transfers for any other reason from display
3) Update get_transfer and get_transfers to ensure ordering isn't lost
when prefetch is used and add tests for this
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
- Use modal-header for content, modal-footer for acknowledgement in alert type modal.
- Conditionally render modal-body if message or inputs available.
- Use modal footer for interactions and hide top border if body wasn't rendered.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
It is missing "Geo point" and "Call Number" from the options of
"Type" when creating a new search field.
Test plan:
Go to the elastic mapping config page, bottom of the page.
Notice that after this patch you see the 2 options in the dropdown list.
Signed-off-by: Chloe Zermatten <chloe.zermatten@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Because of the bug 36192 CSRF protection, we intend not to have forms that
POST without a param named 'op' with a value starting with 'cud-'. Because
of bug 37728, a few were missed, including the 'Filters' form that lets you
switch between planning budgets by month or by itemtype or by library, and
the 'Export' form that lets you save your planning as a .csv file. Neither
one has any need to POST, they can just be the GET they naturally are.
Alas, the default data won't let you exercise everything, so there's a lot of
setup before the actual testing.
Test plan:
1. Patrons - search for Acevedo - More-> Set permissions - check
Acquisitions management and Save
2. Administration - Authorized values - Asort1 - New authorized value for
Asort1 - value Q1, description First Quarter, then repeat for Q2, Q3, Q4
3. Administration - Budgets - New budget - give it a start date of today,
end date of a year from today, a description, a total amount of
100000.00, for Statistic 1 done on choose Asort1
4. Click the name of your new budget - New-> New fund for (name) - give it
the code my, name My money, amount 75000.00 and Submit
5. New-> New fund for (name) - give it the code his, name Henry's money,
amount 25000.00, and click Select owner, find Henry and Select, then
Submit
6. Acquisitions - click Search on an empty search box to find the only
vendor - New-> Basket - Give it a name and Save
7. Add to basket - From an existing record (search for something like Perl)
click any bib record - Add order - set the required item type and click
Add item
8. Scroll down to the Accounting details form, change Fund to My money, and
enter 20.00 for the Vendor price and click Save. You just made that
fund "active" in the eyes of the Filter form, by spending some of it.
9. Finally set up. Administration - Budgets - click the name of your budget
10. Planning-> Plan by months
11. In the upper left Filter box, check Show my funds only and Submit - you
should see Henry's money disappear
12. Uncheck Show my funds only and check Show active funds only and Submit -
you should see Henry's money disappear
13. Check Show actual/estimated values and Submit, you should see text for
the actual (only in this month, since that's all you spent) and wee
little shrunken text boxes for the planning numbers
14. Uncheck all the boxes and change the dropdown from by months to by Asort1
(either one of it, there being two is bug 34159) and Submit, you should
have four columns for Q1 - Q4 and only for My money, since Henry doesn't
use Asort1
15. Click the Auto-fill row button, and Save
16. In the Export form (which isn't much of a form, since you only have a
choice for the filename) click Submit
17. You should have downloaded a .csv file, and if you open it it should
have the info from your current planning form.
18. Apply patch, restart_all
19. Repeat steps 9-17, getting the same results you did without the patch
Sponsored-by: Chetco Community Public Library
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
To pass xt/find-missing-op-in-forms.t after bug 37728 updates it to notice
that there can be more than one form in a template, opac-password-recovery.tt
needs to have a param named 'op' which starts with 'cud-' for the form that
POSTs the new password.
Luckily, testing this doesn't require that you set Koha up to actually send
email (though you can), because you can get the link to reset the password
by looking at the list of notices sent to the patron in the staff interface:
the failure to send notice works just fine.
Test plan:
1. There's no behavior change to test, you just need to see that resetting
the password still works, so start with the patch applied.
2. Administration - System preferences - change OpacResetPassword to allowed
3. Set a patron so you can use them, which requires that you know the
username, and they have an email address. I give Acosta, Edna one of
my email addresses, and copy her cardnumber.
4. Open the OPAC, and below the login form click the "Forgot your password?"
link
5. Enter the cardnumber for Login and the email you used for Email and
click Submit. If you didn't set up sending email, you'll get an error
message, but ignore it, not a problem
6. Back in the staff interface, check out to the patron you are using, and
on the left sidebar choose Notices and find the Koha password recovery
notice and click that linked phrase
7. In the popup with the notice text, open the recovery link in a new tab
8. Following the instructions for the content of a new password, enter one
in both fields and click Submit
9 In the success message, click the link to Log in to your account and
log in with the new password
Sponsored-by: Chetco Community Public Library
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
We intend not to have forms with method="post" without an op variable (so we
can check that the op starts with "cud-" as part of the CSRF protection), but
because of bug 37728 some were missed.
This patch changes the form around the OK button when you are told you can't
delete a currency which is in use, and the No, do not delete button when you
could delete a currency and decide not to, from a POST to a GET because all
they need to do is show the list of currencies again.
The only visible change from the patch is that the URL will end with a "?"
from having done a GET without any params. Someone who wants to decide
which of our link-as-cancel-button styles to use is welcome to switch them
to links, in a bug not blocking an RM_priority bug.
Test plan:
1. No changes to see, so apply the patch first
2. Administration - Currencies and exchange rates
3. You need one currency in use and one not in use. Luckily, ktd gave you
USD for in use, and GBP for not in use. For USD, click the Deleete button
4. On the page telling you that you can't delete it because it's in use,
click the OK button and verify that you are back at the list of currencies
5. Click the Delete button for GBP, then the No, do not delete button
6. Verify that you are back at the list of currencies
Sponsored-by: Chetco Community Public Library
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
We intend not to have forms with method="post" without an op variable (so we
can check that the op starts with "cud-" as part of the CSRF protection), but
because of bug 37728 some were missed.
In Authority types, that's dead code in the template that expects to show a
"Data deleted" confirmation page, but it never shows because rather than
setting the variable delete_confirmed and outputting the template, the op
cud-delete_confirmed just does a print $input->redirect() and exits, and, the
search for tags form that should be a GET so it can be bookmarked and linked
to.
Test plan:
1. Without the patch, Administration - Authority types - choose one other
than default, so you can see the code rather than "" in the URL -
Actions - MARC structure
2. For any tag (you *are* testing in a throwaway database, right?) click
Actions - Delete then Yes, delete
3. Note that you don't get a confirmation page, just redirected back to a
search for your tag which no longer exists, with the searchfield and
authtypecode nicely in the URL
4. Click the Search button for the Search for tag form, without changing
anything
5. Note that your URL lost the searchfield and authtypecode
6. Apply patch, restart_all
7. Repeat steps 1, 2, and 3, with identical results like they should be
8. Repeat step 4, but this time note that the searchfield and authtypecode
stay in the URL.
9. Change the select menu for In framework and click Search, note that
the searchfield and frameworkcode are still in the URL and still correct
and that the correct results show
10. Change the tag number and hit Enter, and verify that the URL and the
page show the correct results
Sponsored-by: Chetco Community Public Library
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch implements a book cover slider widget for cover images in
OPAC search results, matching the way we show covers on the detail page.
To test, apply the page and rebuild the OPAC CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).
Enable multiple cover image services. The patch was developed with these
services available:
- Amazon
- Local cover images
- Coce (serving up Amazon, Google, and OpenLibrary images)
- OpenLibrary
- Baker & Taylor
- Google
- Custom cover images (the CustomCoverImages preference)
Perform a variet of searches and confirm that cover images are
displaying correctly, whether there be 0, 1, 2, or more covers
available for each.
Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds context to the string "On" used alone in the item search
page, to mean "On a specific date".
To test:
1. Update translation files
gulp po:update --lang fr-CA
2. Check the staff-prog.po file and search for "On".
vi misc/translator/po/fr-CA-staff-prog.po
/"On"
--> It should be in three places, two in itemsearch.tt and
one in smtp_servers.tt
#. For the first occurrence,
#. SCRIPT
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/smtp_servers.tt:327
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt:322
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt:324
#, c-format
msgid "On"
msgstr "Sur "
3. Apply patch
4. Reupdate po files
gulp po:update --lang fr-CA
5. Check the misc/translator/po/fr-CA-messages.po file and search for "On"
--> There should be a msgctxt line that adds context to the
"On" (please ignore the translated msgstr, I have no idea
how it decides what to put in there!)
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/smtp_servers.tt:404
#, fuzzy
msgctxt "Active"
msgid "On"
msgstr "Oman"
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt:322
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt:324
#, fuzzy
msgctxt "On specific date"
msgid "On"
msgstr "Oman"
6. Also check the item search page
--> It should still work and the "On" in the last borrowed date
drop-down should still say "On"
7. In the SMTP servers page, add a server and enable the "Debug" mode.
--> In the list of servers, the Debug column should still say simply
"On"
8. Optionally, translate the string and remove the "#fuzzy" line,
install the translation and check the item search page
--> It should use the string you put in
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
To test:
Go to the receipts page of an order. Observe that the invoice number
is a clickable link to the corresponding invoice.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Works well and passed the qa tests
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
default values for sort1 and sort2 is NULL
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
If at least one AV exists for bsort1 we will show a dropdown list in
the column filter for bsort1. Same for bsort2.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch shamelessly steals from Bug 33568 in order to allow the
correct authorized value description to be shown in the JS-generated
table of results for values of borrowers sort1 and sort2.
To test, apply the patch and go to Administration -> Authorized values.
- Add some values, if necessary, to both the 'Bsort1' and 'Bsort2'
categories.
- Locate some patron records to edit, and set the patron's "Sort 1" and
"Sort 2" fields.
- Perform a patron search which will return those patron records.
- Confirm that the correct authorized value description is shown
instead of the authorized value code.
- Delete all values from the 'Bsort1' and 'Bsort2' authorized value
categories.
- Return to your patron search and confirm that "Sort 1" and "Sort 2"
values are still being shown, though now it's the "raw" code.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds the option of displaying patron "sort1" and
"sort2" statistical fields in the patron module's main search
results. The fields are hidden by default in the updated table
configuration.
To test, apply the patch and restart services.
- Go to Patrons and perform a search.
- You should not see columns for sort1 and sort2.
- Under the "Columns" button you should see options to display sort1 and
sort2. Confirm that they work to show and hide the columns.
- Confirm that the sort1 and sort2 columns are sortable and searchable.
- Go to Administration -> Table settings.
- Under Patrons -> member, toggle the sort1 and sort1 "hidden by
default" checkboxes and save the configuration.
- Return to patron search results to confirm that the columns are now
shown by default.
Signed-off-by: Émily-Rose Francoeur <emily-rose.francoeur@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
If patrons loans are not renewable and one hits "Renew all"
button in patrons "Check out" page, Koha is redirected to
"Export data" tool. This happens because when there is
nothing to renew call to function renew_all produces error:
"Uncaught TypeError: renew_all(...) is undefined". This
patch prevents call to this function and adds alert to
inform user that there are no items to be renewed.
To reproduce:
1. Find patron with check outs which renewals count has hit
the maximum limit of renewals.
2. Press "Renew all" button.
=> Koha is redirected to "Export data" tool.
3. Apply this patch.
4. Try to renew check outs again.
=> Alert pop up is displayed.
Sponsored-by: Koha-Suomi Oy
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
When you successfully delete an acquisitions contract, you are redirected to
the page with the vendor details, which shows contracts for that vendor, which
shows you that the contract you deleted was deleted.
The aqcontract.tt template has a block in [% IF ( delete_confirmed ) %] (which
is never set) that thinks it will show you a '<h1>Contract deleted</h1>' and
make you click an OK button. That block has never been shown, but the button
is in a form which POSTs without an 'op' param, which is now forbidden by the
CSRF code, and will be caught by a test once bug 37728 updates the test.
There's nothing visible to test, so the test plan just makes sure nothing
blows up and you can still delete a contract.
1. Nothing will change, so start with the patch applied
2. Acquistions - click the Search button to search for vendors
3. New -> Contract
4. Give it a name, a start date, and an end date, and Save
5. In the list of contracts for My Vendor, click the Delete button for
the contract you created
6. In the confirmation page asking if you wanted to delete, click 'Yes,
delete contract'
7. Note that you are at acqui/supplier.pl?booksellerid=1, the details page
for the vendor, and your contract isn't listed at the bottom of the page,
and especially that you weren't shown a page that just said "Contract
deleted."
Sponsored-by: Chetco Community Public Library
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch takes the usual approach of converting linked buttons to form
with the csrf token included.
Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Added a conditional to only display email if there's actualy a
notice_email_address present.
Updated the address used to match the address displayed.
Not sure how to resolve the translation issue.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Removed "Hold item:" from subject line as it would not translate.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
On the confirmation page for deleting a budget, change "Do not delete"
from a form submission to a link (styled to look like a button) in order
to avoid errors from POSTing with no op.
To test:
1. Go to Acquisitions > Budgets
2. Create a test budget
3. Attempt to delete the test budget
4. On the confirmation page, click "No, don't delete"
--> An error appears saying that the form was POSTed with no op!
5. Apply patch
6. Repeat steps 3-4
--> You are linked back to the Budgets page. The budget was not deleted.
Signed-off-by: Chloe Zermatten <chloe.zermatten@ptfs-europe.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 restores the ability to delete a recipient from a serials routing list.
It also fixes the slip preview when using the "Save and preview slip", and removes
the koha staff intranet head from the slip when using 'Print list' from the
Serial collection information screen.
To test:
1) Login to the staff client.
2) Open the Serials module.
3) + New subscription to add a new serial.
4) Create a new subscription.
a) Search for a record (I searched for 'dog') and chose that record.
b) Under 'When receiving this serial', select 'Create an item record'
c) Under the 'Item type' dropdown, select anything.
d) Click Next -> (and confirm the popup).
e) Select any 'First issue date'.
f) Select any 'Frequency'.
g) Enter a number larger than 5 in the 'Subscription length'.
h) Select any 'Subscription start date'.
i) Select your favorite numbering pattern.
j) Verify your prediction pattern using "Test prediction pattern".
k) Click "Save subscription".
5) On the 'Subscription details' screen, click "Receive".
6) Under the first volume, click "Add item" then "Save".
7) Repeat step 6 to receive one more issue.
8) On the 'Serial collection information' page click "+ Create routing list"
9) Click "+ Add recipients".
10) Search for and add several recipients.
11) Click "Close" to exit the 'Add recipients' page.
12) Click "Delete" next to any recipient.
*Note that the recipient is not deleted.
13) Click "Save" on the 'Modify routing list for ...' page.
14) Click "Save and preview routing slip" button.
*Note you are redirected to the Subscription details page, but no routing
slip preview appears.
15) Click "Serial collection" from the left-side menu.
16) Click "Print list" on either of the issues you previously received.
*Note the routing slip includes the staff intranet header, menu, etc.
17) Apply patch.
18) Return to the 'Serial collection information' screen for your subscription.
19) Click "Edit routing list".
20) Repeat steps 12-16 and verify the issues are fixed.
-"Delete" button works to remove a recipient from a list.
-"Save and preview routing list" button pops-up a preview before redirecting.
-"Print list" pops-up a vanilla routing list to print.
Sponsored-by: Westlake Porter Public Library
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Test plan
1. Go to the staff client
2. Go to administration
3. Search systempreferences for 'StaffInterfaceLanguages'
4. Ensure there is a systempreference variable matching 'StaffInterfaceLanguages'
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nicolas Hunstein <nicolas.hunstein@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
We were missing a couple of TT filters and we were using a `$raw` where it
was more appropriate to use `html`.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch fixes issue introduced by BZ32530
Test Plan (on main):
1 - Edit a patron
2 - Do not change anything and submit -> you get an error
3 - Apply both patches
4 - Repeat 1&2 -> everything works fine
5 - Try and delete the guarantor -> it will be deleted
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 patch adds the order search form to the Acquisitions home page.
I've modified acqui-home.pl so that it will pass the same default date
limiters as histsearch.pl.
To test, apply the patch and go to Acquisitions.
Test the order search form to confirm that it works as expected. Any
search from this version of the form should return identical results to
seraches performed from the "Advanced search" link in the sidebar.
Sponsored-by: Athens County Public Libraries
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch corrects the class which is added to the serial prediction
pattern in order for it to display as a second column in the
subscription edit page. "col-xs-*" classes no longer exist in Bootstrap
5.
To test, apply the patch and go to Serials.
1. Click "New subscription"
2. Enter a record number in the form (e.g. 55)
3. Click "Next" (and confirm there is no vendor)
4. Enter values for
- First issue publication date
- Frequency
- Subscription length
- Subscription start date
- Numbering pattern
- Numbering "Begins with"
5. Click "Test prediction pattern"
- The prediction pattern panel should appear as a second column on
the page.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adjusts the CSS of elements in the OPAC header so that menu
items are correctly aligned with various combinations of the OpacPublic
and OpacLangSelectorMode system preferences.
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)
- View the header menu in the OPAC with these combinations of settings:
- OpacPublic = On; OpacLangSelectorMode = Top;
- OpacPublic = On; OpacLangSelectorMode = Footer;
- OpacPublic = Off; OpacLangSelectorMode = Top;
- OpacPublic = Off; OpacLangSelectorMode = Footer;
- With each configuration, test that the elements in the header (Logo,
Cart/List menu, Language selctor, and user menu items) align
correctly. The Cart/List menu items should always align to the left,
the Language selector and user menu should aways align to the right.
Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The template for RSS and Atom feeds of search results (curiously named
opac-opensearch.tt) is careful to escape ampersands in the query_cgi param
while adding it to URLs, but doesn't escape the limit_cgi param at all. It
should.
Two drive-by fixes for Atom: because the <title> when your search has a limit
includes , which isn't an XML character entity, you couldn't get as far
as the error from the <link> URL, and as long as I was going to have blame for
the line, I couldn't bear to leave the stray undefined SEARCH_RESULT. in the
(hard-coded and bogus) <link rel="last">.
Test plan:
1. In the OPAC, Advanced search - check the boxes to limit by item type Books
and Mixed Materials and search for the keyword Perl
2. At the top of the search results, click the orange RSS icon
3. That gives you an ugly "not well-formed" error, so in the URL for the page
change the final "format=rss" to "format=atom"
4. That gives you an ugly "undefined entity" error, so apply the patch
5. Reload the page with the Atom feed, it should change from an error page
to a garbled display of the feed. Click Back to go back to the RSS feed
and reload it if it's still cached on the error page. That should give
a pretty-printed display of the RSS feed without parsing errors
Sponsored-by: Chetco Community Public Library
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
To test:
1. Tools -> Rotating collections -> New collections
2. Add a title and description
3. After adding the new collection notice the breadcrumb isn't right
4. Apply patch
5. Repeat steps 1 and 2
6. After adding the new collection notice the breadcrumb is improved.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The vendor contract management page has a few sections of code that are
meant to display a minimal confirmation message ("Data recorded") after
saving a new or edited vendor contract.
However, aqcontract.pl redirects back to the vendor details page after
saving, so this code is never reached and should be removed.
Test plan:
1. Apply patch
2. Go to the Acquisitions module and find a vendor
3. Click + New > Contract
4. Fill in the information and click Save
5. Click the "Contracts" link in the navigation menu on the left
--> Confirm that the contract was saved correctly
6. Click the Edit button and make changes to all fields
7. Save the information and click "Contracts" again
--> Confirm that the new information saved correctly
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch fixes a few templates which I had missed, including some
which simply had the wrong classes (instead of getting the wrong class
from the perl script).
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Many pages can have alerts that get their style from a variable passed
by the script, e.g.:
push @messages, { type => 'message', code => 'success_on_update' };
Rather than change these to match Bootstrap 5 styles, I propose we add a
copy of the existing Bootstrap style using the existing vocabulary:
message -> info
alert -> warning
error -> danger
To test, apply the patch and rebuild CSS for the staff interface and
OPAC: (https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface)
- Clear your browser cache if necessary.
- Navigate to pages which have been updated by this patch. Many pages
will implement this kind of alert after saving an edit, especially
administration pages, e.g.
Administration -> Libraries -> Edit library -> Save.
- You can test the various alert classes by adding this HTML to
IntranetMainUserBlock and OpacMainUserBlock and viewing the staff
interface and OPAC main pages.:
<div class="alert alert-danger">A standard Bootstrap danger alert with
<a href="#" class="alert-link">an example link</a>.</div>
<div class="alert alert-warning">A standard Bootstrap warning alert with
<a href="#" class="alert-link">an example link</a>.</div>
<div class="alert alert-info">A standard Bootstrap info alert with
<a href="#" class="alert-link">an example link</a>.</div>
<div class="alert alert-error">A Koha error alert with
<a href="#" class="alert-link">an example link</a>.</div>
<div class="alert alert-alert">A Koha alert alert with
<a href="#" class="alert-link">an example link</a>.</div>
<div class="alert alert-message">A Koha info alert with
<a href="#" class="alert-link">an example link</a>.</div>
Sponsored-by: Athens County Public Libraries
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The OPAC language menu is now generated by the same include file in both
the header and the footer. We have a switch for the menu's direction
based on this context, but we also need a switch for alignment: The menu
should extend left into the page from the header, and right into the
page from the footer.
To test you should have at least one additional language installed and
enabled. To reproduce the bug I recomment en-GB because the language
description is long enough to trigger the misalignment.
- Apply the patch and set the 'opaclanguagesdisplay' system preference
to "Allow" and the 'OpacLangSelectorMode' preference to "both top and
footer".
- Go to the OPAC and test the language selector menus in the header and
footer.
- The expanded menu in the header should extend to the left of the
"Languages" menu trigger.
- The expanded menu in the footer should extend to the right of the
"Languages" menu trigger.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch corrects the logic around how the OPAC language menus are
displayed. Because the footer and header lanugage menus have been
combined into one, the logic for whether the menu should appear has to
live outside the include. The patch also makes corrections to ensure
that the footer menu appears even if the footer language menu is hidden.
NOTE: This patch contains whitespace changes, so please view the diff
accordingly.
To test you should have at least one additional language installed.
- Apply the patch and make sure the OPACLanguages system preference has
more than one language checked.
- Set opaclanguagesdisplay to "Allow."
- In the OPAC, test that the various settings of the
OpacLangSelectorMode preference work correctly (only top, only footer,
both top and footer).
- Test with OPACReportProblem on and off, and CookieConsent on and off.
- Test with OPACReportProblem or CookieConsent enabled and
opaclanguagesdisplay disabled.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
We intend not to have forms with method="post" without an op variable (so we
can check that the op starts with "cud-" as part of the CSRF protection), but
because of bug 37728 some were missed.
There are two in tags/review.tt: the filters for term, status, reviewer, and
dates, which are better as a GET since you can then bookmark and link to a
particular set of filters, and the no-JavaScript fallback for checking whether
a term has been approved or rejected, which currently doesn't work at all,
but with a working op param then works just fine as a GET.
Test plan:
If you have to use Chrome, you're on your own for the disabling JavaScript
and getting rid of the body {display: none !important} style rule, my plan
uses Firefox's devtools to do it
1. Without the patch, Tools - Tags - change the filter from the default
status "pending" to "all", Apply, and bookmark the page
2. Open your bookmark, note that it's status "pending"
3. You can't test the no-JS fallback for term testing since it doesn't
work, so apply patch and restart_all
4. Tools - Tags - change the filter from the default status "pending"
to "all", Apply, and bookmark the page
5. Open your bookmark, note that it's status "all"
6. You need a couple of tags to test the Test feature, so open the OPAC,
log in, search for any record and add the tags approveme, rejectme
7. Back in Tools - Tags, click the Reject button to reject rejectme
8. In the Check lists input, test that approveme shows "approveme is
permitted!" and rejectme shows "rejectme is prohibited!"
8. Now to disable JavaScript, open Firefox's More tools - Web Developer
Tools. You're going to need the Style Editor, so if it's not visible
you'll want to enable it in Settings in the next step
9. Top bar, right side, there's a three-dots menu, with an option for
Settings. In Advanced settings, click the checkbox for Disable JavaScript
(which as hovering the * says, is only for that tab and only until you
close the tab or the toolbox).
10. Checking Disable JavaScript turned your page to blank white, so go to
the Style Editor, where the first thing, already selected, is an inline
style sheet with the rule "body {display: none !important}" - select all
the text of the rule and delete it, which you'll have to do on every
page load
11. In the Check lists input, test that approveme still shows "approveme
is permitted!" (after you delete the display: none !important rule, and
with a rather annoying message about "Tested 1 Term(s)." replacing the
list of terms).
Sponsored-by: Chetco Community Public Library
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
The hidden form that the OPAC uses for downloading a list has no need to be
a POST, which is good because it can't be one without having an op param
that starts with "cud-" which it doesn't have.
Test plan:
1. Nothing visible will change, so start with the patch applied
2. Log in to the OPAC, then do a search for something like Perl which will
return a couple of results. Select two, With selected titles: Add to
list - New list - give it a name and Save
3. Lists - choose the one you just created
4. Download - ISBD
5. Verify that the page you were on didn't change, that a file was downloaded,
and that the file contains the two titles in your list
Sponsored-by: Chetco Community Public Library
Signed-off-by: Chloe Zermatten <chloe.zermatten@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Rather than having a form that does a POST (without an op, which isn't proper),
the final step in changing your password in the OPAC should just be a link.
Test plan:
1. Without the patch applied, log in to the OPAC as a user that you don't
mind changing the password for
2. Welcome, {username} - Your account - Change password
3. Type the old password, and a new password twice, click Change password
4. Below the success message is a green button with white text, Return to
my account - click it
5. Apply patch
6. Change password, type the (new) old password, and a (newer) new password
twice, click Change password
7. Below the success message is what looks like a green button with white
text, Return to my account
8. Hover the button, check your browser status bar for a URL showing you
that it's now a link. Click it to be sure it works.
Sponsored-by: Chetco Community Public Library
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Amended-by: Jonathan Druart
Edited commit message
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch corrects the tab markup on the comment review page. These
tabs are just links styled as tabs -- there isn't any JS tab swapping.
This kind of "static" tab markup wasn't handled by the tabs WRAPPER
work.
To test you should have some comments data in your system:
- Go to Administration -> System preferences and enable the
"OPACComments" preference.
- Log in to the OPAC and search for a bibliographic record.
- View the detail page for the record and click the "Comments" tab.
- Click "Post your comments on this title."
- Enter some text in the review box and submit.
In the staff interface, go to Tools -> Comments.
- You should see two tabs: "Approved comments" and "Comments awaiting
moderation."
- Confirm that the tabs look correct.
- Approve one or more comments and confirm that the tabs work correctly
to switch views.
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>