Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Tested according to test plan, passes tests and QA script.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
It appears that some librarians will attempt to scan items as fast as
they can without checking to make sure the checkout was submitted and
the page reloaded properly. This can cause multiple barcodes to be
scanned into the barcode field if the person is fast enough.
This causes the checkout of both ( or more! ) items to fail.
Test Plan:
1) Apply this patch
2) Attempt to scan two or more items into the barcode field
You can emulate this with a keybaord by hitting a few keys, then
enter, then a few more keys, then enter again. The barcodes don't
need to be valid for this test.
3) Note the dialog stating the barcode has been submitted and to please
wait.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch adds a better check in message for patrons with indefinite restriction.
To test:
Check out an item to a patron.
Add a manual restriction without expiry date to that patron.
Check in the item.
Without patch, the checkin message reads:
Reminder: Patron was earlier restricted until 9999-12-31
Apply patch and repeat steps above.
The message should now read:
Reminder: Patron has a restriction (no expiry date)
NOTE: Changed wording at two places following Owen's suggestion. New: "Patron
has an indefinite restriction"
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
Thanks Marc for catching this case. I was thinking like you that the wording
sounded strange while playing with bug 13242. Merge the original patch and the
followup, containing a better wording, thanks to Owen comment.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Passes tests and QA script.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
To test:
- Check out an item with no rental charge
- Verify no confirmation message appears
- Check out an item with rental charge
- Verify rental charge shows
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Sponsored-by: Ville de Victoriaville, QC
Confirmation box contents:
"Please confirm checkout"
"-Rental charge for this item: n"
[Yes, check out (Y)] [No, Don't Check Out (N)]
Test case A: Confirm checkout
1) Go to checkout user "X"'s checkout page.
2) Enter barcode for an item with rental fees.
3) Click the "Check out" button.
4) Confirmation box appears.
5) Click on the "Yes" button.
6) Item is added to checkout list.
7) Fees are added to the patron's account.
Test case B: Decline checkout
1) Go to checkout user "X"'s checkout page.
2) Enter barcode for an item with rental fees.
3) Click the "Check out" button.
4) Confirmation box appears.
5) Click the "No" button.
6) Checkout page goes back to its initial state.
7) Patron has no item checked out and no fees to pay.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
With the system preference RentalFeesCheckoutConfirmation
set to "don't ask" there is no change in behaviour.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch addresses the case where OnSiteCheckoutsForce is enabled and
the user is checking out to a patron who is blocked from checking out.
Instead of showing the 'specify due date' form (which is disabled) this
patch hides it and highlights the on-site checkout controls.
This patch adds some CSS and consolidates some redundant CSS.
To test, load a patron for checkout under the following conditions:
1. OnSiteCheckoutsForce is off and patron is not blocked from checkout
2. OnSiteCheckoutsForce is off, patron is blocked from checkout (for
being expired or restricted).
3. OnSiteCheckoutsForce is on and patron is not blocked from checkout
4. OnSiteCheckoutsForce is on and patron is blocked from checkout
Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Checked these 4 conditions, plus that if a specified due date was allowed, that it was enforced.
I noted that the on-site checkouts seemed to take longer to process, but this probably isn't the place for that sort of complaint.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Small visual improvment for a new feature. No problems found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This code is duplicated and should be centralised.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 11703 breaks the checkouts export feature.
To reproduce: Fill the ExportWithCsvProfile pref and go on the
circ/circulation.pl page. The export column appears, but not the export
button.
Test plan:
Go on the checkout list (circ/circulation.pl and members/moremember.pl)
and verify the export column and the export button appears.
If you click on the button, a file should be generated.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Checks in the circulation template for on-site checkouts preferences did
not take into account the possibility that someone might have
accidentally turned OnSiteCheckouts off but left OnSiteCheckoutsForce
turned on. This patch amends the template logic so that it works
correctly for various combinations of settings.
To test, apply the patch and test the following combinations of
circumstances.
Testing using both a patron who is blocked (expired, restricted, etc)
and a patron who is not blocked, test with...
1. OnSiteCheckouts is on, OnSiteCheckoutsForce is on
2. OnSiteCheckouts is off, OnSiteCheckoutsForce is on
3. OnSiteCheckouts is off, OnSiteCheckoutsForce is off
4. OnSiteCheckouts is on, OnSiteCheckoutsForce is off
Confirm that the checkout form is shown or not shown correctly according
to the preferences you have set. Confirm that the "Only on-site
checkouts are allowed" message is only shown in case #1.
Note: This patch includes whitespace changes, so please diff
accordingly.
Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested on top of 10860 and 13179.
Works as described, adding more checks in the templates.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The circulation page layout needs to work correctly for various
combinations of restrictions, no restrictions, and restrictions with
OnSiteCheckoutsForce enabled. This patch makes some minor accomodation
for all.
To test, load a patron for checkout under the following conditions:
1. OnSiteCheckoutsForce and patron is not blocked from checkout
2. OnSiteCheckoutsForce is off, patron is blocked from checkout (for
being expired or restricted).
3. OnSiteCheckoutsForce is on and patron is not blocked from checkout
4. OnSiteCheckoutsForce is on and patron is blocked from checkout
The page layout should look correct for all these cases, with a clean
two-column layout of [ checkout form | messages ] in all cases except
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Applied on top of 10860. Works as described.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Fixing some simple display issues caused by missing/misnamed
variables, probably consequence of the renaming before.
Amended test plan:
- Make sure that if OnSiteCheckoutsForce is set, you can
still perform onsite checkouts and only those.
- Check the detail page in staff says *currently in local use by*
for an on-site checked out item
- Check the detail page in OPAC with OPACShowCheckoutName active
for the same.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch implements the In-House Use feature for Koha.
It adds:
- 2 new sysprefs:
'In-House Use' to enable/disable this feature
'In-House Use Forced' to enable/disable the feature for *all* users.
- 2 new columns issues.inhouse_use and old_issues.inhouse_use
- Datatable on the circulation history pages (readingrec) at the OPAC
and the intranet.
A new checkbox in the Circulation tab. If checked, the issue become a
in-house use (in the statistics and issues tables).
When you check it, the due date changes to the today date.
The syspref "In-House Use Force" allows to force the in-house use to
permit the checkout even if the borrower is debarred or others problems.
In the issue table, a new string (in red) marks the issue as "in-house use".
The circulation history contains 3 tabs : "all", "checkout" and
"in-house use" (OPAC and intranet).
The cronjob script:
If AutomaticItemReturn if off, a library would like not to do a transit
operation manually. This script (to launch each night) do returns
for a specific branches.
Test plan:
1/ Execute the updatedatabase entry
2/ Enable the 'In-House Use' pref.
3/ Checkout a biblio for a patron and check the 'in-house use' checkbox.
4/ Check that the due date is the today date (with 23:59) and is not modifiable.
5/ Click on the check out button and check that the new check out
appears in the table bellow with the "(In-house use)" string.
6/ Go on the circulation history pages (readingrec and opac-readingrec)
and try the 3 tabs. In the last one, your last checkout should appear.
7/ Check in.
8/ Check readingrec pages.
9/ Choose a debarred patron and check that you cannot checkout a biblio
for him.
10/ Switch on the 'In-House Use Forced' pref
11/ You are now allowed to checkout a biblio for the debarred patron.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This minor followup makes two changes:
- Replaced instances of "Debarment" with "Restriction"
- Moved the override button into the block where the "View restrictions"
button is, making the section slightly more compact.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Some small template changes, no problems found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
To test:
Apply first patch
Apply this patch
Log in as superlibrarian
Go to Home > Patrons > Set permissions for issuing staff member
Disable circulate - force_checkout
Log in as issuing staff member
Try to checkout to a debarred patron
=> should not be possible
Log in again as superlibrarian
Enable circulate - force_checkout for issuing staff member
Log in as issuing staff_member
Try to checkout to a debarred person
=> You should get the button 'Override debarment temporarily'
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Add a button to temporarily override patron debarment.
To test:
1) Go to patron check out page
2) If patron has been debarred (eg. due to having fees),
there is no way to check out to that patron.
3) Apply patch
4) A debarred patron check out page now has a button for
"Override debarment temporarily" - clicking on it
should allow checking out to that patron.
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Rebased because patch did not apply
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested with/without force_checkout and superlibrarian permission.
Also checked crafting a URL is no longer working.
No regressions found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The message in circulation.tt assumed to get days but date is given. Updated comments and message depending on expiration date or no expiration of restriction.
The message shows up on top of Bug 643 Allow override of 'debarred' status if a patron has a restriction.
Replaced date_format with date template (see comment #6)
Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Now that a patron's checkouts are loaded asynchronously, we can further
improve Koha's performance by not loading the checkouts table when it is
not needed. For example, if a librarian is checking out 5 items to a
patron, we really don't need to load the table during the scanning of
items 1 to 4, just for item 5. Another example would be browsing to the
patron details table in order to change a patron's password.
Test Plan:
1) Apply this patch
2) Browse to circulation.pl for a patron
3) Note the table is not loaded automatically
4) Click the "Show checkouts" button
5) Note the checkouts table loads
6) Check the "Always show checkouts immediately" checkbox
7) Reload the page, the checkouts should now load immediately
8) Repeat steps 3-7 for the patron details page ( moremember.pl )
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Amended patch: remove trailing spaces.
Note: I am not sure the checkbox is at the best place, but I don't have
a better suggestion.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch adds a checkbox for "Automatic renewal" to the checkout page.
CanBookBeRenewed is modified to include two new errors:
- auto_renew (renewal shouldn't be done manually)
- auto_too_soon (renewal is premature and shouldn't be done manually)
To test:
1) Add or edit an issuing rule with "Automatic renewal" and another
one without it.
2) Issue at least three items:
- automatic renewal by issuing rule
- automatic renewal by Checkbox on the checkout page
- no automatic renewal
3) Test the following steps for both:
Home > Circulation > Checkouts
Home > Patrons > Patron details
4) Confirm that issues with automatic renewal cannot be renewed manually,
even if there are still renewals left and it's not too soon to renew.
5) Confirm that "Scheduled for automatic renewal" and the remaining
renewals are displayed. If no renewals are left "Not renewable" should
be displayed.
6) Confirm that issues without automatic renewal behave as usual.
Sponsored-by: Hochschule für Gesundheit (hsg), Germany
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The sort order of the "today's checkouts" and "previous checkouts" row
groupings depends on the label, so in English "today's checkouts" comes
first. However, in other languages the reverse alphabetical order is
incorrect resulting in "previous checkouts" coming first.
This patch adds a dummy column with numeric data on which the sorting
can be done. This should make it translation-agnostic.
To test, apply the patch and install or update a translation which will
demostrate the problem (sv-SE for instance).
- Clear your browser cache and switch to the English templates.
- Check out some items to a patron who has checkouts from a previous
day.
- Confirm that the sorting of the "today's checkouts" and "previous
checkouts" row groups is correct.
- Switch to the new/updated translation and reload the circulation page
for that patron. Confirm that the sort remains correct.
- Confirm that the checkouts table looks correct and that other features
(sorting, checkboxes) still work correctly.
Revision: Corrected the table footer include to correct the colspan
error causing column misalignment.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
In case when the staff user doesn't have (circulate) ->
(override_renewals) permission granted, this code part
var AllowRenewalLimitOverride = [%
CAN_user_circulate_override_renewals && AllowRenewalLimitOverride %];
in circ/circulation.tt and members/moremember.tt leads to javascript
error, because TT statement evaluates to empty string.
To reproduce:
- set AllowRenewalLimitOverride syspref to "Don't allow" (this step is
possibly redundant / not quite relevant),
- for testing purposes, log in as some (sample) staff user whitch does
not have permission granted for "(override_renewals) Override blocked
renewals",
- have a look at some patron accounts (preferably, ones with 1+
check-out), observe that page layout is incorrect in "Check Out" and
"Details" tab.
To test:
- apply patch,
- retest and ensure that this issue is no longer reproductible,
- make sure that there are no regressions of any kinds regarding renewal
override permission for staff users (i.e, that it still works like
intended).
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes QA script and tests.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Changes:
- Yes, renew (Y)
- Yes, check out (Y)
- No, don't check out (N)
- No, don't renew (N)
To test:
- Verify changes by reading the code
- Check out an item that requires confirmation
Example: Patron owes fines or test with bug 12776.
- Verify confirmation messages show up correctly.
- Check item out again to trigger renewal
- Verify confirmation message shows up correctly.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch removes the only instance in this file
To test:
1. Apply the patch
2. Search for patrons on staff CheckOut,
use a string that gives multiple results
3. Results are displayed on a select,
that was replaced.
4. Check for regressions: select a patron and press 'Select',
or do double click on a patron name, verify you go
to patron's checkout tab.
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@gmail.com>
* Bold record title, fix table width
* Change output_pref_due to output_pref
* Retain functionality of IssuesDefaultSortOrder system preferences
* Use datatables.inc in circulation.tt
* Fix up holds table details
* Add plugin to about
* fix relatives' checkouts
* add too_many string
* remove dead syspref from db
* Sort relatives' checkouts and holds tables client side
* Provide context for translation of strings
* Fix unterminated string literal, add missing paren
* Add replacement of _AUTHOR_ with title's author for holds
* Format prices correctly
* Format checkout dates correctly
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
When a patron has many checked out items, circulation.pl can take a very
long time to load ( on the order of minutes in some cases ). This is
primarily due to the processing of the previous checkouts list. If we
convert to this table to a datatable that fetches its data via ajax, we
can make circulation.pl far more responsive. The same should be done
with relative's checkouts as well.
Test Plan:
1) Apply this patch
2) Observe that the checkouts and relatives' checkouts tables
are now loaded asynchronously
3) Observe and verify the renew and return actions are now
ajax based and function in a manner equivilent to how they
used to.
This bug had quite a few followups, so I squashed all of them into one
change so that code is easier to follow. Original commit messages are below:
Bug 11703 - Use the ajax datatables on patron details page
Bug 11703 - Convert holds tables to ajax datatables
Bug 11703 [QA Followup 1] - Center bProcessing message over table
Bug 11703 [QA Followup 2] - Remove icons from checkout and clear buttons
Bug 11703 [QA Followup 3] - Remove references to UseTablesortForCirc
Bug 11703 [QA Followup 4] - Add back in Today's checkouts/Previous checkouts rows
Bug 11703 [QA Followup 5]
Bug 11703 [QA Followup 6] - Move strings to an include file for translation purposes
Bug 11703 [QA Followup 7] - Fix issues spotted by koha-qa.pl
Bug 11703 [QA Followup 8] - Speed up api/checkouts.pl as much as possible
Bug 11703 [QA Followup 9] - Move scripts from api directory to svc directory
Bug 11703 [QA Followup 10] - Fix errors caused by rebase
Bug 11703 [QA Followup 11] - Prevent multiple fetchs from ajax source
Bug 11703 [QA Followup 12] - Fix problem detected by koha-qa.pl
Bug 11703 [QA Followup 13] - Removed uneccessary data from renewal box during renewal
Bug 11703 [QA Followup 14] - Fix table column span
Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Test plan on bug report:
http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11703#c98
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Each time the "renew all" or "renew or return" buttons are click, the
renewal process is triggered. If the patron only has one renewal left,
and the button is multi-clicked, the librarian may receive a
"renewal failed" message even though the renewal did occur. In
addition, this can just unwanted multiple consecutive renewals
as well.
Test Plan:
1) Check out an item to a patron that can have 1 renewal
2) Click the "renew all" button multiple times, fast and furiously
3) Note the "renewal failed" messaged
4) Apply this patch
5) Repeat steps 1 and 2
6) Note the item is now renewed without the failure message
Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch removes instances of dt_add_type_uk_date() from there
circulation templates and updates the sorting configuration according to
current guidelines.
To test, enable the UseTablesortForCirc system preference and open a
patron for circulation who has multiple items checked out. Confirm that
sorting by due date, title, and checkout date work correctly.
Locate a patron who is guarantor to another or is guaranteed by another.
One or both patrons should have checkouts. The "relatives checkouts" tab
on the checkout page should sort correctly on due date, title, and
checkout date.
On the transfers to receive report, confirm that sorting by date of
transfer and title work correctly for all tables.
On the holds awaiting pickup report the "available since" and title
columns should sort correctly for tables in both tabs (waiting and
over).
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch moves the checkboxes jQuery plugin to
intranet-tmpl/prog/lib/jquery/plugins so that it will not be duplicated
for each set of translated templates.
To test, apply the patch and confirm that select all/clear all controls
continue to work on the following pages:
- Acquisitions -> Late orders
- Acquisitions -> Add to order from an external source (search targets)
- Acquisitions -> Suggestions
- Administration -> Funds -> Planning (show/hide all columns)
* Some unused code has been removed
- Administration -> Library transfer limits
- Staff client cart
- Authorities -> New from Z39.50 (search targets)
- Cataloging -> New from Z39.50 (search targets)
- Circulation -> Check out to a patron (renew/check in selections)
- Circulation -> Offline circulation -> Pending operations
- Patrons -> Patron detail (renew/check in selections)
- Patrons -> Fines -> Pay fines
- Serials -> Subscription -> Serial collection
- Tools -> Label creator -> Batches -> Search results
- Tools -> Patron card creator -> Batches -> Search results
- Tools -> Tags moderation
- Tools -> Batch item deletion
- Tools -> Batch item modification
- Tools -> Inventory -> Submit a batch of barcodes
- Lists -> List contents view
Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described! I don't think I've ever checked so many boxes
before...
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds a new system preference, AllowMultipleIssuesOnABiblio.
If this system preference is OFF, an alert is raised if a patron
tries to check out an item even when they already have a different
item checked out from that bib.
The librarian can force the checkout anyway.
It doesn't alert the librarian if the biblio is a subscription
Test plan:
1. Create a biblio with at least 2 items
2. Checkout the first item for a borrower
3. Set syspref AllowMultipleIssuesOnABiblio to OFF.
4. Try to checkout the second item with the same borrower. A message
should appear telling you that this borrower already borrowed an item
from this biblio.
If you have the permission 'force_checkout' You should also see two
buttons to confirm (or not) the checkout
5. Click on 'No'. The checkout is not done
6. Repeat step 4 and click 'Yes', the checkout is done.
7. Return the second item.
8. Set syspref AllowMultipleIssuesOnABiblio to ON
9. Try to checkout the second item with the same borrower. This time
the checkout is done without warnings.
Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass, works well. Tested:
* Permission to override
* check out a second item from a record with subscriptions works
* check out a second item from a 'normal' record is warned about,
but can be done
* No permission to override
* subscription item: can be checked out
* normal item: can't be checked out
* Feature turned off
* Check out never warns/blocks
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10649 introduced a new include file for adding DataTables-related
JavaScript assets. This patch adds use of this include file to all
circ-related pages which use DataTables.
Apply the patch and test the following pages to confirm that table
sorting works correctly:
- Circulation
- The UseTablesortForCirc system preference must be enabled.
- Check out to a patron with existing checkouts. Choose a patron who
is a guarantor to another patron with checkouts in order to test the
relatives' checkouts table.
- The checkouts and relatives' checkouts tables have been modified to
exclude articles when sorting of titles.
- Hold ratios - The title column has been configured to exclude articles
from sorting
- Transfer to receive
- Holds queue
- The title column has been configured to exclude articles when
sorting
- The date column has been modified to use the title-string filter for
sorting. An unformatted date is now passed from C4::HoldsQueue.pm to
the template, where the KohaDates filter is used for formatting.
Sorting is based on the unformatted date.
- Holds awaiting pickup
- The "available since" column has been configured for sorting on an
unformatted date. waitingreserves.pl now passes the unformatted
date to the template, and formatting is done using the KohaDates
filter.
- The title column has been configured to exclude articles when
sorting.
Edit: Rebased on current master following commit of Bug 11605
Signed-off-by: A. Sassmannshausen <alex.sassmannshausen@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch modifies CanBookBeRenewed, so that based on
issuingrules.norenewalbefore a new error "too_soon" can be returned.
Also adds a new subroutine GetSoonestRenewDate.
To test:
1) Create an issuing rule with "No renewal before" set to value X
and "Unit" set to days.
2) Test the following steps for both:
Home > Patron > Patron details
Home > Circulation > Checkouts
3) On the checkout page, test for today's issues as well as previous
issues. (Check something out on one day and something else on the
next day, then do the testing.)
4) Confirm that items can't be renewed if current date is more than
X days before due date.
5) Confirm that the date and time of the soonest possible renewal are
displayed in the format specified by global sysprefs "dateformat"
and "TimeFormat".
6) Confirm that items can be renewed if "No renewal before" is
undefined or current date is X or less days before due date.
7) Confirm that if the number of allowed renewals is exceeded
"Not renewable" is displayed, no matter what "No renewal before"
is set to.
8) Test the same things with "Unit" set to hours.
Sponsored-by: Hochschule für Gesundheit (hsg), Germany
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
This patch makes the datepickers for the hold resumption date
(AKA the hold suspend until date) field only permit dates in
the future to be selected in the staff interface checkout page
and hold list pages. This makes these pages consistent with
the OPAC and the patron details page in the staff interface.
To test:
[1] Ensure that AutoResumeSuspendedHolds and SuspendHoldsIntranet
are enabled.
[2] Go to the checkout page for a patron that has at least one hold
request.
[3] Verify that the datepicker for the hold suspend until
date field only permits choosing a date in the future.
[4] Go to the page listing hold requests for a title.
[5] Verify that the datepicker for the hold suspend until
date fields only permit choosing a date in the future.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes all tests and QA script.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
We handle internationalization of the jQuery datepicker by adding
language configuration strings to calendar.inc which can be processed by
the translation script. This patch adds a similar configuration file for
the timepicker.
This patch also upgrades the timepicker plugin to the latest version,
minified, and places it outside the prog template directory for global
use. The path in templates has been updated accordingly.
CSS has been added to more completely hide the controls for seconds,
milliseconds, and microseconds.
To test, apply the patch and clear your cache so that the browser
loads the new version of the jQuery plugin. Confirm that date and time
selection still function correctly on the circulation page, the patron
detail page, and the offline circulation page (circ/offline.pl).
Test at least one datepicker instance which does not use the
timepicker.
Run translate update on a po file and confirm that the timepicker
strings are now present.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Works as expected, no regression found.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds the renewal count to the 'Check out' and "Details' tabs
of the patron record.
This information already exists in the OPAC view of the patron record.
Since librarians might be serving patrons in person who want to know
this information without looking it up online, it makes sense to show
it in the staff client.
There may also be times where librarians want to see how many renewals
a patron has left, how many they've used already, etc. when making other
decisions.
_TEST PLAN_
Before applying:
1) Go to "Check out" with a patron that has some check outs before today
2) Add some check outs for today
*Ensure that all issues are for items that can be renewed*
3) Note that the Renew column just says '0' followed by a check box
4) Check the 'Detail' tab. It should say the same.
Apply the patch.
5) View the "Details" and "Check out" tabs again
6) Note that the renewal count now appears in the form resembling:
5 of 5 renewals remaining
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All tests pass
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch tweaks the checkout form so that if a circ operator
doesn't have the circulate/force_checkout permission, they are
presented with a button to continue on if they ran into a restriction
on the loan. Otherwise, there was no clear way to carry on, as the
item barcode field was disabled.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds 2 circulation permissions: force_checkout and
lift_restriction.
During upgrade, these two permission are added to existing staff
users that already have the base circulate permission.
force_checkout allows a librarian to force a checkout if a limitation
occurred.
lift_restriction allows a librarian to lift a restriction for a patron.
Test plan:
1/ Find a debarred patron and go on the checkout page. The "Lift
restriction" button should be present only if the logged librarian has
the lift_restriction permission.
2/ If the force_checkout permission is set, a librarian should be
allowed to check out in several cases:
- age restriction
- the item is issued to another patron
- the item is not for loan
- the patron has overdue items
- the item is lost
- the item is a high demand item
- the item is reserved
- another case ?
Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Bug 10863: The force checkout permission should not affect high holds
- typo checkout => check out.
- the force checkout permission does not affect high holds.
Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Bug 10863: Follow-up: Adding missing permissions to translated files
This patch adds the 2 new permissions to all remaining sample files.
If the permissions don't get installed, the problem is bigger than
having an English description.
Also adds back the question "Check out anyway?" for high demand items (HIGHHOLDS).
Test xt/permissions.t passes now.
Bug 10863: Rename lift_restriction with manage_restrictions
The pref manage_restrictions now takes into account "Lost card" and
"Gone no address" restrictions.
Test plan:
- log in with a user with manage_restrictions permission
- verify you can set/unset restrictions when editing a patron
- log in with a user without manage_restrictions permission
- verify you cannot set/unset restrictions when editing a patron
Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Note: The AgeRestrictionOverride pref has to be set to "Allow" if you
want to override the age restriction, even if the new permission is set.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch removes the KohaAuthorisedValues TT plugin; uses of it are
replaced by the AuthorisedValues plugin, which does the same thing.
Test Plan:
1) Apply this patch
2) View the pages that this patch has modified, make sure the branch
name is still visible
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Comments on second patch.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
To test:
Make sure
- independentbranches is turned on
- Your user doesn't have superlibrarian permission
Then
- Try to check out an item with home and holding branch !=
logged in branch
Patch works alright.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds a third option to the CircAutoPrintQuickSlip system
preference. The three options are now:
* print quick slip
* print regular slip
* clear the screen
Test plan:
1. Set the System Preference for CircAutoPrintQuickSlip to "clear the
screen".
Enter a borrower barcode for checkout
Press Enter
The screen should be cleared.
2. Set the System Preference for CircCircAutoPrintQuickSlip to "open a
quick slip window"
Enter a borrower barcode for checkout
Press Enter
A Quick slip is printed.
3. Apply the patch
Update the database using UpdateDatabase.pl
4. Set the System Preference for CircAutoPrintQuickSlip to "clear the
screen".
Enter a borrower barcode for checkout
Press Enter
The screen should be cleared.
5. Set the System Preference for CircCircAutoPrintQuickSlip to "open a
quick slip window"
Enter a borrower barcode for checkout
Press Enter
A Quick slip is printed.
6. Set the System Preference for CircCircAutoPrintQuickSlip to "open a
slip window"
Enter a borrower barcode for checkout
Press Enter
A Slip is printed.
7. Reload the database using sysprefs.sql
Set the System Preference for CircAutoPrintQuickSlip to "clear the
screen".
Enter a borrower barcode for checkout
Press Enter
The screen should be cleared.
8. Set the System Preference for CircCircAutoPrintQuickSlip to "open a
quick slip window"
Enter a borrower barcode for checkout
Press Enter
A Quick slip is printed.
9. Set the System Preference for CircCircAutoPrintQuickSlip to "open a
slip window"
Enter a borrower barcode for checkout
Press Enter
A Slip is printed.
10. Verify that the Checkout Help includes information about printing Slips.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds a more extensible and flexible debarments system to Koha. The fields
borrowers.debarred and borrowers.debarredcomment are retained for compatibility and
speed.
This system supports having debarments for multiple reasons. There are currently
three types of debarments:
OVERDUES - Generated by overdue_notices.pl if the notice should debar a patron
SUSPENSION - A punative debarment generated on checkin via an issuing rule
MANUAL - A debarment created manually by a librarian
OVERDUE debarments are cleared automatically when all overdue items have been returned,
if the new system preference AutoRemoveOverduesRestrictions is enabled. It is disabled
by default to retain current default functionality.
Whenever a borrowers debarments are modified, the system updates the borrowers debarment
fields with the highest expiration from all the borrowers debarments, and concatenates
the comments from the debarments together.
Test plan:
1) Apply patch
2) Run updatedatabase.pl
3) Verify the borrower_debarments table has been created and
populated with the pre-existing debarments
4) Run t/db_dependent/Borrower_Debarments.t
5) Manually debar a patron, with an expiration date
6) Verify the patron cannot be issued to
7) Add another manual debarment with a different expiration date
8) Verify the 'restricted' message lists the date farthest into the future
9) Add another manual debarment with no expiration date
10) Verify the borrower is now debarred indefinitely
11) Delete the indefinite debarment
12) Verify the debarment message lists an expiration date dagain
13) Enable the new system preference AutoRemoveOverduesRestrictions
14) Set an overdue notice to debar after 1 day of being overdue
15) Check out an item to a patron and backdate the due date to yesterday
16) Run overdue_notices.pl
17) Verify the OVERDUES debarment was created
18) Return the item
19) Verify the OVERDUES debarment was removed
20) Disable AutoRemoveOverduesRestrictions
21) Repeat steps 15 though 18, verify the OVERDUES debarment was *not* removed
22) Add issuing rules so that an overdue item causes a temporary debarment
23) Check out an item to a patron and backdate the due date by a year
24) Return the item
25) Verify the SUSPENSION debarment was added to the patron
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
To test:
- Choose a patron account
- Add a fine to it
- Switch to the checkout tab of the patron account
- Check for the "Make payment" link. Make is not a link, but payment is.
- Apply patch
- Check again, now both words are linked.
In translation this string is divided into:
. %s Make
payment
Because of this it's difficult to translate it grammatically.
The patch moves 'Make' into the link text, so that both words
will show up together in translation.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Works as described. No koha-qa errors.
Not only improves translatability,
also corrects capitalization.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch creates a new js file, js/pages/circulation.js, and begins
the process of moving JavaScript into it from circulation.tt. I have
started the process by focusing on sections which are least dependent on
template variables.
To test, load a patron for checkout who has something checked out.
There should be no JavaScript errors:
- Tabs should work.
- Showing and hiding the "Add message" form should work.
- The "specify due date" datepicker should work.
- Controls for selecting checkboxes in the checkouts table should work
Signed-off-by: Campbell Reid-Tait <campbellreidtait@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Just found a weird behavior with checkboxes in the checkouts table, but
still exists on master.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
With IndependentBranches turned on, if you try to check out an item
which belongs to another library you will get an error message which is
missing the library name. This patch corrects the problem by passing the
necessary variable to the template and outputting the library name using
the KohaBranchName TT plugin.
To test, turn on IndependentBranches and try to check out an item
belonging to another library (note that you must test with a staff user
who is not a superlibrarian). The error message you see should include
the name of the library to which the item belongs:
"This item belongs to Nelsonville and cannot be checked out from this
location."
Checkouts of items belonging to the library should be unaffected.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>