To test:
1. Turn on SeparateHoldings and find a record that has some items at
different home libraries.
2. Look at the Other holdings(x) tab. Notice there is no Columns tool
(gear icon).
3. Go to Table Settings, try hiding columns from the otherholdings
table. You cannot.
4. Apply patch.
5. Now under the Other holdings(x) tab you should see the Columns
button, it should work.
6. Go back to Table settings and try hiding columns, it should work.
7. Now try uploading an item level cover image, make sure all columns
are still properly hidden and the Columns tool works
8. Try steps 6 & 7 but with the regular holdings table. Confirm that all
colums can properly hide.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Included a rename to table_name(s).
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
The basic MARC editor has its own button associated with each subfield
for emptying the contents of the input. Since the Flatpickr "X" icon
causes a layout problem and would be redundant, we can hide it on this page.
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
addbiblio.tt throws the '$(...).flatpickr is not a function' because it
is missing includes to flatpickr.min.js and shortcut-buttons-flatpickr.min.js
To fix this the addbiblio.tt should include the calendar.inc file (like
additem.tt does) which includes to those aforementioned JS files.
Test plan:
1. Edit a MARC bibliographic framework
2. Make the 902$d subfield visible in the Editor
3. Also set the 902$d subfield plugin='dateaccessioned.pl'
4. Catalogue a new biblio record
5. Notice the 902$d subfield has not been pre-populated with todays date
6. Right click, choose 'Inspect', observe this JS error in the console: "Uncaught
TypeError: $(...).flatpickr is not a function"
7. Apply patch, and restart services
8. Repeat steps 4-6 and this time observe the 902$d is pre-populated,
and there is no flatpickr JS error in the console
Sponsored-by: Chartered Accountants Australia and New Zealand
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch updates the staff interface's global JavaScript to
accommodate changes in the way focus is being handled after the jQuery
upgrade (see: https://github.com/jquery/jquery/issues/4950).
The "focus" class is removed from search header include files so that
there isn't a contradiction between which form field has the focus class
and which form field is displayed in the active tab.
To test, apply the patch and view various pages in the staff interface.
- On pages where focus is not being directed to a form field within the
main content of the page, the form field in the active search header
tab should have focus on page load:
- Patron details
- System preferences
- Cities and towns
Also test pages where a tab other than the first one is preselected:
- Bibliographic details page
- Patron lists
On these pages, focus should move to the active tab's form field when
you switch tabs.
- On pages where focus is being sent to another form field, it should
work correctly:
- Patrons home page
- Check in
- Acquisitions home page
Signed-off-by: Séverine Queune <severine.queune@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
In the staff interface you can select records for merging, batch editing,
and batch deleting from the result list. This fixes the code to check for
the specific batch edit records and batch delete records permissions, so
those actions are only shown if the user has the right permissions.
As there is no merge record permission yet, it's assumed that edit_cataloge is
needed as before (no change in behavior).
To test:
- Create a staff user with only catalogue and editcatalogue permissions.
- Do a search in the catalog of the staff interface
- Select a few records from result list to unlock the Edit button on top
- Verify it shows all three options: edit, delete and merge
- Apply patch
- Verfiy now only merging is shown
- Add the records_batchdel and records_batchmod permissions from the tools
area one after another and verify the display changes accordingly.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
When the Upload tool is accessed on a smaller (mobile) screen (less than
768 pixels wide), the Upload and Browse buttons cannot be clicked. This
patch fixes that.
To test:
1) Go to Tools -> Upload
2) Make the screen narrower, either by opening your browser's Inspector
tool and using Responsive Design Mode, or by dragging in the edge of the
window to make it narrower.
3) Notice that when the screen becomes narrower than 768px, the sections
squash together and the padding between them is lost. Try to click on
the Browse and Upload buttons, notice you cannot.
4) Apply patch and refresh the Upload Tool
5) Ensure the screen is narrower than 768px. Confirm there is now
padding between the sections, and the buttons are clickable again.
Sponsored-by: Chartered Accountants Australia and New Zealand
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
When showing an authority, there is a link to search biblio records it is used in.
Actually this link uses 'q=an=$auth_id', this is wrong for an URL, and other places use 'idx:value'.
It does not break search with Zebra nor Elasticsearch but it is better to use ':'
Test plan :
Check changed links return same results with and without patch
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch corrects JavaScript in authorities templates so that
clicking "Edit" on the authority detail page will take you to the
authority edit page while keeping the same tab open.
This patch also corrects the JavaScript which should have been
automatically moving the cursor focus to the first form field when
switching tabs in the editor.
This patch also adds the "Section" headings which are present in the
basic cataloging editor but were not added here at the time of the
page's tabs revision.
To test, apply the patch and locate an authority record in your catalog.
- Without changing tabs, choose "Edit record" from the "Edit" dropdown
menu."
- The authorities editor should load and display the "Section 0" tab.
- Return to the authority detail page and select a tab besides tab 0.
- Click back to tab 0. Editing the record at this point should open the
editor to Section 0.
- Return to the authority detail page.
- Click any of the numbered tabs besides tab 0.
- Choose "Edit record" from the "Edit" dropdown menu.
- When the authorities edit page loads the same tab should be
preselected.
- Test that when you switch tabs in the authority editor the cursor
focus is automatically moved to the first visible input.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch makes javascript moneyFormat function in paycollect.tt consistent
with the one in pay.tt
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
New way of formatting money amount to make it work with FR format
Test plan:
1- Set CurrencyFormat pref to FR
2- Activate Point of sale and cash register features
3- Add cash register
4- Add debit type that 'can be sold' with a price of 10.00
5- Go to point of sale, click on the item to purchase
6- Verify the Amount to be paid shows the wrong amount and can't be fixed on the interface
7- Apply the patch
8- Refresh the page and do step 5 again
9- Notice it now shows the right amount
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch adds a missing </div> to the bibliographic detail
page template in the section for showing component parts.
Some comments are added to clarify the markup structure.
To test you should have a record in your catalog with component
parts. Bug 11175 provides one you can import if necessary:
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=78023
To see the error, go to the staff interface, locate the record
in question and view the detail page. Under the Components tag,
scroll to the bottom. You will see content from "later" tabs at
the bottom, e.g. "There is no order for this bibliographic record"
or "No images have been uploaded for this bibliograhpic record yet."
Apply the patch and reload the page. The tabs should still look
correct, and now the tab content should be correctly isolated.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch adds an additional system preference check to the part of the
OPAC bibliographic detail template which conditionally loads Babelthèque
JavaScript. The script tag should not be output if there is no
Babeltheque_url_js setting to use.
To test, apply the patch and search for "Babeltheque" in system
preferences.
- Set "Babeltheque" to "Do" include information.
- Enter a path in the "Babeltheque_url_js" preference, e.g.
"https://www.example.com/example.js" It doesn't have to be a valid
Babeltheque URL.
- In the OPAC, view the bibliographic detail page for any title. If you
used a dummy URL for the js preference you should see an error in the
console about the file not being found. This confirms that the
template logic is working. If you used a working Babeltheque URL then
the corresponding content should load.
- Return to system preferences and remove the URL from the
"Babeltheque_url_js" preference.
- Return to the bibliographic detail page in the OPAC and confirm that
there is no warning in the console about "'src' attribute of <script>
element is empty."
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
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: Fridolin Somers <fridolin.somers@biblibre.com>
This patch does the same treatment for moremember.tt where the same
summary block is includes. We also correct the tab order to be a little
more consistent too.
We should really move this to an include and refer to it from both
templates instead of this copy/paste code..
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch makes tab texts display 'Thing (count)' as opossed to the
current mix we have.
To test, check before after the patch how it looks.
You need to:
- Enable ArticleRequests
- Set ClaimReturnedLostValue to 1 (for example)
- Have some clubs set
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Test plan:
Don't define AV for Sort1 and Sort2, edit a patron
=> Should be editable via an input box
Define AVs for Sort1 and Sort2, edit a patron
=> Should see the dropdown
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch add 2 new system preferences:
- GenerateAuthorityField667
- GenerateAuthorityField670
When Koha creates authority records from biblios, use these preferences instead of the hard-coded "Machine generated authority record." and "Work cat." values.
Test plan:
1. Make sure AutoCreateAuthorities and BiblioAddsAuthorities are enabled in the system preferences
2. Go to Home › Cataloging › Add MARC record and add a new record
3. Fill in the required fields and add a name in the 100$a field. Note the name, and add the new record.
4. run rebuild_zebra.pl -a
5. Go to Home › Authorities and search for the name you entered in 100$a
6. Select details and look at the 667 and 670 fields. They should default to the hard-coded values.
7. Apply patch, run update database
8. Edit the new GenerateAuthorityField667 and GenerateAuthorityField670 system preferences
9. Do 2-6 . Now the 667 and 670 fields should be what you entered in the system preferences.
Thanks for testing
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works well, no errors
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Currently when show an authority record you can see the count of records linked
with that authority, but when edit that authority record the that detail is
dissapeared.
Applying this patch will have that information also on edit mode of authority.
Test plan:
1) Search for an authority that is already connected with at least one record
2) On detail view of an authority you can check that authority is linked with
x records.
3) Edit that authority and the information about in how many records that
authority is linked is missing.
4) Apply this patch
5) Edit again that authrity and you can find now the count in how many records
is used that authority
Signed-off-by: Marjorie Barry-Vila <marjorie.barry-vila@collecto.ca>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
To test:
1. Make some patron reasons for suggestion via Home > Administration > Authorized values > OPAC_SUG
2. Give those reasons a description.
3. Make several suggestions via staff client and/or OPAC and apply some of the reasons you just made
4. Apply patch
5. Go to Home > Acquistions > Suggestions management
6. Give some of the suggestions some different status (PENDING/REJECTED/ACCEPTED/ect)
7. Make sure on each of the tables you can see the column 'Patron reason'
8. Go to Administration > Table settings and attempt to hide the column.
9. Confirm that the column is properly hidden on the Suggestions management page
Signed-off-by: Rhonda Kuiper <rkuiper@roundrocktexas.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Test plan:
1. Confirm that
installer/data/mysql/atomicupdate/bug_23352-add_ccode_column_to_subscriptions_table.pl
has the exec flag
2. Create a subscription. Notice the 'Collection' dropdown defaults to
the 'None' option - same as Location
3. Save the subscription without changing the 'None' collection
4. Receive the serial and confirm the 'Collection' field is empty
5. Create a second subscription. Change the 'Collection' dropdown to
'Fiction', then save the subscription
6. Receive the serial and confirm the 'Collection' dropdown is set to
'Fiction'
7. Confirm that the 'Collection code' terminology in the template is replaced with
'Collection'
Sponsored-By: Brimbank Library, Australia
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
The default collection code set in the subscription will be applied if
item records are created when receiving the serial.
Test plan:
1. Apply 3 patches
2. Run updatedatabase.pl and restart services
3. Create a subscription:
- Tick the 'Create an item record when receiving this serial' radio
button
- Select values in the Location, Collection code and Item type dropdowns
- Save the subscription
4. Confirm the Location, and Collection code default values
you choose in #3 are displaying in the 'Information' tab of page that's
loaded
5. Receive the serial:
- Click 'Receive'
- Change the status dropdown from 'Expected' to 'Arrived'
- Confirm the 'Collection Code', 'Shelving location' and 'Koha item
type' dropdowns are pre-filled with the values you defined in #3
6. Run unit test t/db_dependent/Serials.t
Sponsored-By: Brimbank Library, Australia
Signed-off-by: Samu Heiskanen <samu.heiskanen@hypernova.fi>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch makes a number of changes to the vendor search/view template
in order to make it work better in different contexts:
- Add a vendor-specific toolbar under each vendor search result. This
gives instant access to the options for a new basket, new contract,
vendor edit, or to receive shipments. A delete button will appear if
available.
- Add a summary of the number of baskets and subscriptions. This helps
the user know if there are closed baskets and whether an outstanding
subscription might be blocking the option to delete. Each number is
linked to the view of those entries.
- Indicate whether a vendor is inactive. The vendor name appears in a
different color when it is inactve and is labeled as such.
To test, apply the patch and rebuild the staff interface CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).
- To test you should have multiple vendors in your system, some active
and some inactive. Add some baskets and subscriptions to one or more
if necessary.
- Go to Acquisitions and submit an empty vendor search to show all
vendors.
- Verify that the page looks correct and that all controls work as
expected.
- Open the basket view for a single vendor and compare the two views.
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
To test:
1. Apply patch
2. Have a bunch of invoices, some open and some closed.
3. Go to Home > Acquisitions > Invoices and do a search that will
return you many of those invoices, some open and some closed.
4. Notice the 'Select all' and 'Clear all' buttons.
5. Try clicking 'Select all' on the Open invoices tab. All Open invoices
should become checked.
6. Try clicking 'Clear all' on the Open invoices tab. All open invoices
should become unchecked.
7. Try 5 - 6 again but on the Closed invoices tab.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch adds a check that the patron can reach the password reset
page using category.effective_reset_password which handles fallback to
OpacResetPassword system preference transparently.
Test plan
1) Set at least one patron category to dissallow patron password resets
2) Search for a patron of that category
3) Confirm the 'Send password reset' option no longer appears
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch adds the ability for staff with the edit_borrowers permission
to send password reset emails to users.
The staff initiated password reset has it's own notice,
STAFF_PASSWORD_RESET, and the reset link produced has an extended
timeout of 5 days, as apposed to the usual 2 day limit.
Test plan
1) Apply patch and run the database update
2) Login to the staff client with a user who has the 'edit_borrowers'
permission.
3) Note that a new, 'Send password reset' option appears under the
'More' menu on the patron details page.
4) Clicking the button will queue the STAFF_PASSWORD_RESET notice and
redirect the user to the Notices tab.
Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch corrects a typo in the <title> tag of the
overdue recalls template:
"Circulaion" corrected to "Circulation."
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch fixes the calendar.inc includes in both staff and OPAC in
order to remove a typo: An extra space in the check for the "dateformat"
system preference.
The result of this error is that changes to the dateformat system
preference will not be correctly applied to Koha without a restart.
To reproduce the problem start the process of creating a new patron.
- In the date of birth field, select a date. The format of the date
inserted should match your current dateformat system preference.
- Go to Administration -> System preferences and update dateformat to
something different.
- Go back to the patron creation form (refresh it if necessary).
- The hint under the Date of birth field will match your updated system
preference, but when you pick a date using the calendar widget it
will still be formatted according to the old value of dateformat.
To test the fix, apply the patch and run through the same steps above.
A change the dateformat preference should be immediately reflected in
the functionality of the calendar widget.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Test plan:
1. Configure the default MARC framework to use those value builders:
- unimarc_field_146a for 146$a
- unimarc_field_146h for 146$h
- unimarc_field_146i for 146$i
2. Verify that they all work correctly according to
https://www.ifla.org/files/assets/uca/unimarc_updates/BIBLIOGRAPHIC/u-b_146.pdf
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch corrects the path of an image specified as the background to
a couple of elements in the OPAC. The incorrect path was causing 404
errors.
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).
- If necessary, activate one or more cover image services in
Administration, e.g. OPACAmazonCoverImages, OPACLocalCoverImages,
and/or OpenLibraryCovers.
- In the OPAC, locate a bibliographic record which has a cover image
from one or more of the services you activated.
- On the detail page for that record, the cover should load correctly.
- In the browser console you should see no errors related to a file not
found: /opac-tmpl/bootstrap/img/spinner-small.gif
- In the browser console, submit this JavaScript snippet:
$(".cover-image").remove();
The cover image should disappear, revealing the "spinner" icon behind
it.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch wraps the List RSS icon in a check on whether the list is
public. Private lists RSS can only be accessed by a logged-in patron.
To test apply the patch and view a public list in the OPAC. You should
see an RSS link icon next to the list title.
Now log in to the OPAC and view a private list. There should be no RSS
link.
Note the QA tool warning about the aria-hidden attribute is a false
positive. The parent element has a label.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
If several terms are passed we should split them.
Test plan:
Search for "edna acosta" (without quotes) in the filters from the left
side of the main patron search
Do some regression tests
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
We want to keep the default initComplete call to add/remove the
'disabled' class on the 'Clear filters' link.
Test plan:
Search for patrons, add something to the general DT search and confirm
that the 'Clear filters' link can be clicked (ie. is not disabled) when
the input field is not empty.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Agree that it does not look very elegant.
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch corrects the is_valid_date function in the OPAC and staff
interface so that it work correctly with Flatpickr.
To test, apply the patch and clear your browser cache if necessary.
- In the staff client, locate a bibliographic record and edit its items.
- Test that the "Date acquired" date picker works correctly and that
there are no errors in the browser console.
- Test other date input fields to check that they still work, e.g.
specify due date during checkout; Catalog statistics wizard; Patron
entry/modification, etc.
- Perform similar tests in the OPAC: Hold suspension; Update your
personal details.
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch updates letter.js so that it uses .prop("selected") to look
for selected <option>s instead of .attr("selected"). This is necessary
because of the jQuery upgrade.
To test, apply the patch and edit any notice. Test that you can select
one or more database columns and insert them into the body of a notice
by clicking "Insert." Confirm that your selections are inserted where
you left the cursor in the message textarea.
Test with multiple message transports and with multiple languages
installed (with TranslateNotices enabled).
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
When search a patron for placing a hold, if a cardnumber is entered we
should pick the patron and use it, instead of display the table result.
This was a regression caused by bug 30063.
Test plan:
- Place a hold on anything in staff
- Search for 42 or any other existing cardnumber in your database
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
To test:
1 - Sign in as a superlibrarian
2 - Tools->Batch patron modification
3 - Add patrons with and without pasword expiration set
4 - Confirm dates display correctly on modification page, or show never
5 - Check the box to delete all dates
6 - Confirm patrons now show 'Never'
7 - Edit patrons again, set a date
8 - Confirm date is set correctly
9 - Sign in as a user with catalogue/tools/borrowers permissions, but not superlibrarian
10 - Confirm y9ou do not see, and cannnot edit password expiration dates
Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
To test:
1 - Sign in as a superlibrarian
2 - Find a patron account with no password expiration set
3 - View member detials
4 - note expiration says 'Never'
5 - Edit patron
6 - Set patron expiration
7- Save
8 - View details, confirm password expiration shows correctly
9 - Sign in as non-superlibrarian
10 - Confirm you don't see expirationdate on details page
11 - Edit patron and confirm password expiration does not show
12 - Edit HTML and confirm you epxiration date not saved
<input type="text" name="password_expiration_date" value="2052-05-02">
Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch adds a new page opac-reset-password where a user cna enter their login
(userid or carndumber), current password, and new password.
If the user has a password expiration date and the current password is correct and
the new passwords match and meet requirements their password will be updated and the
expiration date reset
A patron whose password does not expire will be reidrected to login to change their password
To test:
1 - Apply patch, updatedatabase, enable new syspref EnableExpiredPasswordReset
2 - Set 'Password expiration' for a patron category
Home->Administration->Patron categories->Edit
3 - Create a new patron in this category with a userid/password set, and an email
4 - Update the patron with an expiration to be expired
UPDATE borrowers SET password_expiration='2022-01-01' WHERE borrowernumber=51;
5 - Give the borrower catalogue permission
6 - Attempt to log in to Straff interface
7 - Confirm you are signed out and notified that password must be reset
8 - Click 'Reset your password' link
9 - You should see the reset password page with fields for: login, current password, new password, conmfirm password
10 - enter invalid/incomplete credentials
11 - Confirm you are notified of invlaid credentials
12 - Fill in all fields, but enter current password as new password
13 - Confirm you are notified of no change
14 - Set minimum password length / strong password requirement for category
15 - Confirm you receive error if new password too short or not secure
16 - Enter a valid new password and submit and confirm update is successful
17 - Confirm you have buttons to go to OPAC or Staff and that both work
18 - Confirm you cna log in (i.e. expiration has been reset)
19 - Expire the users password
20 - Remove catalogue permission
21 - Reset password again and confirm only OPAC link
Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
If the passed credentials are wrong, we shouldn't expose things like the
password is expired.
This patch takes care of that.
To test:
1. Have a known patron with password_expiration_date set so its
password is expired. Can be done like:
$ koha-mysql kohadev
> UPDATE borrowers \
SET password_expiration_date='2022-04-25' \
WHERE borrowernumber=132;
Note: change the borrowernumber
2. Attempt to login to the OPAC with wrong credentials
=> SUCCESS: You are rejected, with a message telling credentials are
wrong
=> FAIL: You are told the password is expired.
3. Apply this patch and restart Plack
4. Repeat 2
=> SUCCESS: You are rejected, credentials are wrong and no mention to
password being expired.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
- The atomicupdate didn't have "bug_number" defined.
- The "Your password has expired" message is now styled with the same
class as other OPAC login messages.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch adds the ability to define password_expiry_days for a patron
category.
When defined a patron's password will expire after X days and they will
be required to reset their password. If OPAC resets are enabled for the
catgeory they may do so on their own, otherwise they will need to
contact the library
To test:
1 - Apply patch, updatedatabase
2 - Set 'Password expiration' for a patron category
Home-> Administration-> Patron categories-> Edit
3 - Create a new patron in this category with a userid/password set,
and an email
4 - Confirm their password_expiration_date field is set
SELECT password_expiration_date FROM borrowers WHERE borrowernumber=51;
5 - Create a new patron, do not set a password
6 - Confirm their password_expiration_date field is NULL
7 - Update the patron with an expiration to be expired
UPDATE borrowers SET password_expiration_date='2022-01-01' WHERE borrowernumber=51;
8 - Give the borrower catalogue permission
9 - Attempt to log in to Straff interface
10 - Confirm you are signed out and notified that password must be
reset
11 - Attempt to sign in to OPAC
12 - Confirm you are signed out and notified password must be reset
13 - Enable password reset for the patron's category and perform a
password reset
Note: you will have to find the link in the message_queue unless
you have emails setup on your test environment
SELECT * FROM message_queue WHERE borrowernumber=51;
14 - Confirm that you can now sign in and password_expiration_date field
is set 10 days in the future
15 - Expire the patron's password again
16 - Change the patron's password via the staff interface
17 - Confirm they can sign in and the expiration is updated
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Test plan:
1. Apply patch and run updatedatabase
2. Enable 'UseCashRegisters' syspref and create at least one cash
register for your library
3. Verify that you have several authorized values in the 'PAYMENT_TYPE'
category. One of them should be 'CASH'
4. Go to a patron accounting tab, create a manual invoice and go to the
payment form. Select payment type 'CASH' and verify that you cannot
submit the form if no cash register is selected.
Select another payment type and verify that you can submit the form
even if no cash register is selected
5. Set syspref 'RequireCashRegister' to 'always require a cash register'
6. Repeat step 4 but this time you should not be able to submit the form
if no cash register is selected, no matter which payment type is
selected.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
TEST PLAN:
1) Enable shibboleth by adding shibboleth to koha-conf.xml, you can do
this by following
https://wiki.koha-community.org/wiki/Shibboleth_Configuration#Using_AD_FS_Metadata
2) If you are logged in Koha, log out, on the login screen the text
at the top should say the following, "Log in using a Shibboleth
account"
Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>