If you have no item plugins, the events variable in BindPluginEvents
of additem.js will be null. So testing events.length will generate
the described error.
This patch adds a check to prevent that from happening again.
Test plan:
[1] Do not yet apply this patch !
[2] Temporarily remove framework plugins from your items (in ACQ or default
framework). Probably you have to clear dateaccessioned.pl and
barcode.pl.
[3] Open js console in your browser.
[4] Go to Acquisition. Open a basket and add an order from a new empty
record.
[5] You should see js error: "TypeError: events is null" (additem.js:176)
[6] Apply this patch and reload the page (make sure that you refresh so
that the new javascript code is read).
[7] The TypeError should be gone.
[8] Restore the framework plugins from step 2. Refresh the page again and
verify that they still work as expected.
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
$.cookie('foo', null);
is deprecated and should be replaced with
$.removeCookie('foo');
This patch replaces the occurrences for the "showColumns" cookie.
Before this patch, there was a bug on the batchmod tools.
To reproduce the issue:
1/ Go on the Batch item modification tool
2/ Fill the textarea with barcodes and submit
3/ Click on some column names (to create the cookie)
4/ Click on 'Show all columns" (to set the cookie to null)
5/ Don't submit and repeat steps 1 & 2
6/ You should see a js error:
Error: Syntax error, unrecognized expression: :nth-child
...break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecogni...
Test plan:
Confirm the issue has gone away and there is no regression on the column
selection
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No js error, no regressions, no errors
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
$.cookie('foo', null);
is deprecated and should be replaced with
$.removeCookie('foo');
This patch replaces the occurrences for the "holdfor" cookie.
Test plan:
1/ Search for a patron
2/ On the patron detail page, click on "search to hold"
3/ Search for records
4/ On the results page, click on "Place hold" > "Forget PATRON"
5/ Reload the page.
6/ The "Place hold" button should not contain the patron anymore
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works as described, no errors
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
If you click the plugin next to an authority field that is already
populated it takes the values from the field and puts them in the search
in the reverse order.
Test plan:
1/ Edit a biblio
2/ Fill the subfield for an authority field (for instance 650$v, 650$x,
650$y, etc.)
3/ Click on the authority plugin
Before this patch, the values were concatenated in the reverse order.
With this patch, it should not.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described, no koha-qa errors
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
A code change for report 10480 in cataloging.js does not work well in case
you clone a field with a plugin on a subfield.
The events (click, focus, etc.) do not work on the subfield of the clone.
This patch corrects the situation by finding the right html element for
adding event binding.
NOTE: The test plan uses EXAMPLE.pl since many old plugins do not operate
on the correct field value when cloning. This is corrected in bug 13437.
Test plan:
[1] Attach EXAMPLE.pl to field 007, 246h and 260c.
In sql for 007: update marc_subfield_structure set
value_builder='EXAMPLE.pl' where tagfield='007' and tagsubfield='@';
[2] Clone field 007. Verify that focus and click operate on both fields.
Check also that the plugin works on the value corresponding with
the button you clicked.
[3] Clone field 246. Do the same checks on both subfields $h.
[4] Clone subfield 260c. Do the same checks again.
Test Remarks:
============
1/ Setup a new framework (B213) based off 'Default' and fired off
an SQL statement to update value_builder values for 007, 246$h
and 269$c (UPDATE `marc_subfield_structure` SET value_builder
= 'EXAMPLE.pl' WHERE frameworkcode = 'B213' AND ( (tagfield =
'007' AND tagsubfield = '@') OR ( tagfield LIKE '246' AND
tagsubfield = 'h') OR (tagfield = '260' AND tagsubfield = 'c'))
2/ Tested step 2, 3 and 4 of the given test plan above. The missing
plugin support in the cloned fields were noted.
3/ Applied patch
4/ Re-tested steps 2, 3 and 4 as before. The defined plugins were
correctly cloned and found to be functional.
Signed-off-by: Indranil Das Gupta (L2C2 Technologies) <indradg@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Sometime you get the "Nothing to save" message when clicking on the "save
all preferences" button, even if something has changed.
On irritating behavior is the middle click: if you use the middle click
to paste some text in the input, the "keyup" event won't be trigger.
This patch replaces the "keyup" event with the "change", which works
as we want here.
The issues:
1/ Search for "wanted" (admin/preferences.pl?op=search&searchfield=wanted)
Empty the input, click save
Type something and remove it
You are able to save, but nothing has changed
2/ Put something in your selection buffer and use the middle click to
paste it in the input.
No change detected.
Test plan:
Confirm the issues are fixed and you don't find any regression
Note that now the "(modified)" string is displayed when the input loses
the focus.
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>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The "Date Due" column for checkouts is using the column index 1 to sort by.
This column is the one that is used for grouping items into today's checkouts
and previous checkouts. This is definitely not the column that should be used.
Instead, we should be using column index 2, which contains the raw unformatted
due date.
Revised Test Plan:
1) Find a patron with no checkouts
2) Check out something as due the beginning on the month.
3) Check out something as due the end of the month.
4) Check out something due tomorrow (hopefully not end of month)
-- so you should have 2015-04-01, 2015-04-30, and 2015-04-14
(for example)
5) Attempt to sort by due date
-- Note the sorting is incorrect
6) Apply this patch
7) Clear your browser cache
8) Reload the page
9) Attempt to sort by due date again
-- Note the sorting works correctly this time
10) Verify there are no regressions with bug 13908
-- this will require finding a patron with many checkouts,
playing with the Circulation system preferences
previousIssuesDefaultSortOrder and todaysIssuesDefaultSortOrder,
and understanding what the four different cases mean with
respect to actually manually sorting the 'Due Date' column.
NOTE: I did not do step 10,
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
When viewing the list of a patron's holds from the circulation or patron
detail page the pickup library is not listed. This patch adds a column
to the table of holds which shows the pickup branch.
This patch also removes some unnecessary markup from the generation of
the table and corrects an instance where the term "reserve" was used
instead of "hold."
This patch also modifies the language describing an item which is marked
waiting at the current library: "Item is waiting here" instead of "Item
waiting."
To test, add several holds to a patron's account with various pickup
locations.
- Confirm that those pickup locations are correctly displayed
under the Holds tab in Circulation.
- Check in and confirm a hold which is to be picked up at the current
branch. Confirm that the revised language appears.
- Confirm that table sorting works correctly.
Signed-off-by: Nick <Nick@quechelibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Test plan:
1/ Verify that the location column is correctly displayed on the
checkouts tables (circ/circulation.pl and members/moremember.pl).
2/ Verify that you can hide/show this column (using the admin page
and/or the ColVis DT plugin).
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Test plan:
1/ Verify that you can show/hide columns on the checkouts table (circulation.pl).
2/ Play with the column configuration admin page (admin/columns_settings.pl),
and confirm the behavior is correct (depends on what you have selected).
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Tested together with patch #1, works as expected
Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch implements the use of Koha::FrameworkPlugin in Cataloguing,
Authorities, Acquisition, Serials and Tools.
The main change is architectural: see the commit message of the previous
patch. No changes in behavior are expected, but the support of new events
may provide additional functionality in the future. Some small bugs are
resolved along the way.
The change primarily focuses on the MARC and items editor in Cataloguing.
But the MARC editor for Authorities and the item editor in Acquisition,
Serials and Tools are touched too. This commit message gives some comments
per module.
NOTE FOR CATALOGUING:
A new plugin without popup (or other click event code) now shows the title
No popup when hovering over the tag editor image. The image alerts the
user on a plugin, the title tells about its status. The noclick property
allows for further style modifications in the template. Note that a
follow-up patch will clean up the old style plugins too with the same
effect.
Some additional code in cataloging.js makes it possible to clone subfields
with plugins (although only theoretically useful). The clones use the
same javascript functions but event.data contains an updated id.
This effectively resolves bug 13306. Note that if old plugins do not use
the javascript parameter for the id but the perl variable, cloning does
still operate on the wrong field (with and without this patch set).
In the absence of report 12176 in master, it is not yet necessary to modify
additem.tt. When it gets pushed, it should be an easy rebase.
New style item plugins will no longer need an extra parameter. (The code in
the FrameworkPlugin object actually takes care of that.)
NOTE FOR AUTHORITIES:
This patch also adds class name tag_editor to the buttonDot anchors. This
effectively makes the same tag editor image appear as in Cataloguing.
Futhermore it removes the button from the tab sequence if there is no click
event (really effective after conversion to the new style, since the old
style plugins contain empty onclicks and launchers).
Both small adjustments increase consistency between auth and bib edits.
NOTE FOR ACQUISITION:
In Acquisition two scripts use an item editor, but in a different way.
The scripts addorderiso2709 and neworderempty both rely on the routine
PrepareItemrecordDisplay in C4::Items, but neworderempty creates item
blocks dynamically via an ajax call to services/itemrecorddisplay.pl.
In order to make the dynamic item blocks work with plugins, some code
changes were needed in additem.js. (Normally the event binding is done
at document ready time; now it must be done later.)
At this moment the routine in Items.pm contains the html tags, and this
makes changes to the following templates not necessary for now:
* acqui/addorderiso2709.tt
* services/itemrecorddisplay.tt
Report 13397 has been opened to address moving the html to the templates.
NOTE FOR SERIALS:
Script serial-edit relies also on C4::Items (just as in Acquisition).
This makes changes to serials/serials-edit.tt not necessary for now.
NOTE FOR TOOLS:
The current code in tools/batchMod.pl allows the use of plugins for batch
modification of items. This patch just converts that code to use the new
object. Most item plugins however may not be very useful for operating on
multiple items at once.
PERFORMANCE:
I have benchmarked build_tabs in addbiblio to see how especially the
additional processing of the javascript in the FrameworkPlugin object
would impact performance. Testing default MARC21 framework with 8 plugins
gave the following figures:
- Old situation: 851 ms
- New situation: 942 ms (+10,7%)
- New situation after plugin cleanup: 881 ms (+3,4%)
Note also that adding lines for event binding is compensated by removing
lines for unused events. Page load should essentially be the same.
TEST PLAN:
Suggestion: If you also apply the next patch with the EXAMPLE plugin, you
can test with a rather harmless plugin (with popup) on various places :)
But your test should also include old style plugins, with[out] popups.
If you want to test a new plugin without popup, rename/remove Click$id
in the javascript code of the $builder definition (temporarily).
[1] Test Cataloguing:
- Add/Edit biblio. Try plugins with and without popup.
- Add/Edit items. (EXAMPLE can be used as an item plugin with popup.)
- Clone a subfield with plugin (use EXAMPLE): Verify that the plugin
works on both original and clone with the respective field values.
Is the value put back in the right field too?
[2] Test Authorities:
Edit an authority record. Try plugins with an without popup.
[3] Test Acquisition:
Set system preference AcqCreateItem to "placing an order".
Check the item editor in the following two places:
a- addorderiso2709: Open a basket, add an order from a staged file.
Select a file, click Add orders, and go to tab Item information.
b- neworderempty: Open a basket, add an order from a new empty record.
[4] Test Serials:
Check the item editor on serials-edit. Go to subscription detail.
Click Receive. Choose "Click to add item". (Note that this subscription
should create an item record when receiving this serial.)
[5] Test Tools:
Check the item editor for batch item modification. Enter a few valid
barcodes and press Continue to reach the item editor.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This should affect the relatives' checkouts table too.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
NOTE: This is the one later in the javascript file.
Checkout tab on the patron details page.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
With the conversion of the circulation and patron detail checkout
summary tables to AJAX recently we lost the ability to sort by title
while ignoring articles.
This patch corrects the problem by adding the "anti-the" configuration
to the relevant column in the DataTables initializtion script.
To test, apply the patch and clear your cache if necessary. Check out to
a patron who has multiple checkouts, some of which have titles beginning
with "a," "an," and "the." Sorting those checkouts by title should
ignore articles.
Test the patron detail page for that patron as well.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
NOTE: This is the one early in the javascript file.
This is the one visible by having multiple checkouts
where the title excluding the articles is a different
order than titles including the articles.
Patrons -> Details (scroll down to check out area, view
checkouts and toggle the title sort)
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The checkouts table no longer honors the system preferences
todaysIssuesDefaultSortOrder and previousIssuesDefaultSortOrder.
This causes much frustration for librarians who prefer a different sort
order. In particular, many librarians prefer to see the oldest previous
issues at the top of the list so those overdue items are visible "above
the fold".
Test Plan:
1) Apply this patch
2) Find a patron with many previous checkouts due on different days
3) Try all 4 combinations of todaysIssuesDefaultSortOrder and previousIssuesDefaultSortOrder
4) Note they all sort correctly
Signed-off-by: Sean McGarvey <seanm@pascolibraries.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
When looking at the patron record or the checkout screen the checkout
summary is now showing 0 for all the Charges even if the item was
overdue and has accrued fines.
Removed unused(?) footer values in checkouts-table-footer.inc
To test:
1/ Check out items with past due date
2/ Run fines.pl script (ensure finesMode is set to Calculate and Charge)
3/ Verify on Fines->Pay Fines screen that fines where calculated
correct.
4/ Go to Patron record, charge column on Details and Check out
screen
should be 0 or rental charge amount only. But total amount row
display right
number, same as in pay fines screen.
4/ Apply patch.
5/ Now charges on display and check out screen shows all outstanding
fees for each item.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
If the a cover image exists, it will be displayed on the details page.
Nothing is displayed of there is no cover available.
modified: koha-tmpl/intranet-tmpl/prog/en/js/localcovers.js
modified: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Works as described, passes tests and QA script.
Checked Amazon covers and local covers display correctly
in staff on results and detail pages.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
A no image icon will only be displayed if both the amazon and local images are missing.
Added hyperlink to details on the local image in the search result page.
modified: koha-tmpl/intranet-tmpl/prog/en/js/localcovers.js
modified: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
modified: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Also, fix useless "No cover image" block when using Amazon and local
cover images at the same time.
http://bugs.koha-community.org/show_bug.cgi?id=11982
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Test plan:
1) Apply this patch
2) Return an item via the checkouts table
3) Note the left most column now reads "Checked in" rather than "Returned"
Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
In members/moremember.pl, in relatives checkouts tab, "by _AUTHOR_" appears before author.
This code sould be replaced in JS.
Test plan :
- Go to a borrower with relative's checkouts
=> without patch : you see "by _AUTHOR_" string before author name
=> with patch : you see "by" string before author name
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, fixes the problem.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
If a link to a patron record ends with #reserves, the holds tab is selected
on page load, but the holds table does not load.
Test Plan:
1) Build your holds queue
2) From the holds queue report, open any patron link
3) Note the patron's reserves do not load
4) Apply this patch
5) Clear your browser cache
6) Repeat step 2
7) Note the holds table now loads
Signed-off-by: Sean McGarvey <seanm@pascolibraries.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Koha's checkout screen automatically focuses on the barcode field each
time it is loaded. Since we've moved the checkouts table functions for
renewing and returning items to ajax methods, this page is no longer
refreshed, and thus does not refocus to the barcode after performing
those actions. This should be fixed so that renewing/returning items via
the checkouts page moves the focus to the barcode field.
Test Plan:
1) Find a patron with checkouts.
2) Renew or return a checkout, note the focus does not move to the
barcode.
3) Apply this patch.
4) Renew or return a checkout, note the focus *does* move to the
barcode.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Thomas <tomsStudy@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The feedback given when returning an item is only to update the "Check
in" column. It would be nice if the entire column was highlighted in
some way so librarians have an easier time spotting which items were
checked in and which ones failed to be checked in.
Test Plan:
1) Apply this patch
2) Browse to a patron with checkouts
3) Return an item using the checkouts table
4) Note if the return was successful, the row is highlighted in
yellow, if the return was not allowed, the row is highlighted
in red.
Signed-off-by: Christopher Brannon <cbrannon@cdalibary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Some librarians do not realize they can continue scanning items even if
the checkouts table has not loaded. We should have Koha tell them
explicitly that they may continue scanning barcodes.
Test Plan:
1) Apply this patch
2) Load the checkouts table on circulation.pl, note the loading message is now
Loading... you may continue scanning.
3) Load the checkouts table on moremember.pl, note the loading message is still
Loading...
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
This one works too!
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The aqbooksellers.gstreg is never used in the code.
This patch does not remove the DB field but 3 useless occurrences in the
neworderempty page.
The both variable applygst and gstreg have never been took into account for prices calculation.
Test plan:
Verify there is no difference before and after the patch in the prices
calculation.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The "Override renewal limit" checkbox no longer works to un-hide the
renewal checkboxes in the table of checkouts. I assume this is because
the script works in such a way that it is looking for the checkboxes
before they are part of the document.
Test Plan:
1) Apply this patch
2) Check the "Override renewal limit" checkbox
3) Note the checkbox now appears
Note, this change allows the "X of Y renewals remaining" to be displayed
for non-renewable items. I left this as it is for two reasons: 1) it
gives the librarian more information that may be useful, and 2) it looks
nicer and more uniform.
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
I confirm the bug and the solution.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script, works as described.
Exception: on-site checkouts can't be renewed.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
When an item is renewed from the checkouts table, the new due date is
displayed in the renewal column, but the old date due is still displayed
in the due date column. This should be updated as well.
Test Plan:
1) Apply this patch
2) Renew an item from the checkouts table
3) Note the date due is updated in the "Due date" column
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
This works well in my test. My librarians will be grateful for the fix
-- they were complaining about this bug.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes tests and QA script.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Another regression caused by Bug 11703: The list of checkouts on the
circulation and patron detail page shows item type codes instead of the
full description.
Test Plan:
1) View a patron's checkouts, note the Item type column displays the
code rather than the description.
2) Apply this patch
3) Refresh the page, note the description is now displayed
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
Works as described.
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>
Before Bug 11703, overdue items in the list of a patrons checkouts had
the renewal checkbox preselected so that librarians could quickly renew
only those items which required it. This is not longer the case.
This patch corrects it. To test, apply the patch and clear your browser
cache. Check out to a patron who has overdues and confirm that the
overdue items have the "renew" checkbox preselected. Check that items
which are not overdue are not preselected.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch modifies the way the checkouts script sets the "Always show
checkouts" cookie so that it is set with an explicit expiration date
(+365 days). This will allow the cookie to persist across browser
sesssions.
To test, apply the patch and clear your browser cookies to start with a
clean slate.
- Check out to a patron who has existing checkouts. Their checkouts
should not load by default.
- Check the "Always show checkouts immediately" checkbox.
- Close your browser.
- Reopen your browser and check out to that patron again. Checkouts
should now be displayed by default.
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
Works as described. I confirm that without this patch, the un-persistance of
"show checkouts" choice is very perturbing for librarians coming from previous
version of Koha.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script, no problems found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch udpates the checkouts JavaScript so that clicking the "show
checkouts" button or the "always show checkouts" checkbox returns focus
to the barcode field. This improves the checkout workflow by eliminating
a mouse click.
To test, apply the patch and clear your browser cache. Check out to a
patron and confirm that focus is returned to the barcode field after
clicking the "show checkouts" button and the "always show checkouts"
checkbox.
Patch behaves as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
When using the longoverdue script it's possible that items marked lost
remain on the patron account. I think it's important for staff to see
that some items are marked lost - currently the list of checkouts
doesn't show any sign of the lost status.
Test Plan:
1) Find a patron with a checked out lost item
2) Note the lost status is not displayed in the checkouts table
3) Apply this patch
4) Refresh the page, note the lost status now displays
5) Repeat this test plan for a damaged item
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Tested successfully with damaged and multiple lost values.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
In Koha 3.14 and earlier, an item on hold and in transit would display
the date the item was transferred. This is missing from the new ajax
holds table.
Test Plan:
1) Place an item on hold for delivery at a different library
2) Check the item in, confirm the hold and transfer
3) View the patron's holds tab on circulation.pl and/or moremember.pl
4) Note the item is show as in transit, but does not give the "since"
date
5) Apply this patch
6) Note the in transit status now has a "since <date>"
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Small change, works as described.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
On the new checkouts page there is some padding above the checkouts,
relatives' checkouts, and holds tables caused by extra markup in the
table's sDom configuration (http://legacy.datatables.net/ref#sDom):
<'row-fluid'<'span6'><'span6'>r>t<'row-fluid'>t
This creates several empty <div>s which don't serve any purpose. This
patch simplifies it to:
rt
To test, apply the patch, clear your browser cache, and check out to a
patron who has items checked out, holds on their account, and child
records attached which also have checkouts.
The padding above the table of checkouts, the table of relatives'
checkouts, and the table of holds should match that on the sides.
Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Checked per plan on both Check Out and Details pages, spacing appears correct.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch is the preparation step for others.
On acqui/acqui-home.pl and admin/aqbudgets.pl, it will be possible to
see the totals in the footer updated with the filtered rows.
Test plan:
This cannot be tested alone, you have to apply it with others (see the
"Blocked" bug reports).
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch adds a new type "multiple" for syspref.
This new type allows to select several values for one syspref.
Signed-off-by: Koha Team Lyon 3 <koha@univ-lyon3.fr>
Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Tabbing through fields in the patron add form or MARC editor triggers a
JavaScript error for each tab. The cause seems to be some JS which was
designed to accommodate differences between Mozilla browsers and
Internet Explorer. A slight modification seems to work just as well in
Firefox and IE.
To test, apply the patch and clear your browser cache if necessary. To
look for JavaScript errors, open the Developer Tools console in Firefox,
Chrome, or Internet Explorer (or in Firefox's Firebug console).
Create a new patron and use the tab key to move between inputs. No error
should be reported in the console. Test typing in fields and pressing
enter. The form should not be submitted.
Test in all available browsers, including at least IE11, IE10, and IE9.
Reproduced with FF 32
Tested with FF 32, Chrome 38, IE 11 and IE Emulations 8,9,10
No JavaScript errors found. Enter does not submit.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested in Chromium, confirmed the problem and that the patch fixes it.
Passes tests and QA script.
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>
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>
The application of the "noEnterSubmit" class to textareas in the
cataloging editor prevents the user from being able to use the Enter key
to create line breaks. This is not intentional and should be corrected.
This patch adds more specific scoping to the relevant JavaScript.
To test, apply the patch and clear your browser cache if necessary. Open
up the MARC editor and locate a tag which uses a textarea for entry. Try
typing lines of text separated by line breaks. The enter key should work
correctly.
Signed-off-by: bondiurbano costalc@gmail.com
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and fixes the problem.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The checkouts table is no longer keeping "today's checkouts" in the
order they were scanned.
Test Plan:
1) Create 3 records "Test 1", "Test 2" and "Test 3" each with one item
2) Check out the items to a patron in the order "Test 2", "Test 1", "Test 3".
3) Note the order is incorrect.
4) Apply this patch
5) Refresh the page
6) Note the order is now correct
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Note that the bug already exists before bug 12550. I checked on a 3.14.x
branch (without the ajax circ stuff), and the order is the same as with
this patch.
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>
It seems that Firefox date parser doesn't like our dates which are
formatted in ISO format like "2014-08-06 00:00:00". This results in
missing red color in overdue dates.
So intead of munching different date formats and JavaScript (and having
to support different browers) this patch moves check for overdue dates
back to mysql and just transfers boolean value to JavaScript so it can
show correct class for date_due.
Test scenario:
1. find borrower with overdue checkouts
2. verify that all dates are black (and are in ISO format)
3. apply this patch
4. reload page and verify that overdue dates turned red
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested with different due dates (hourly and not) and different date formats.
Passes tests and QA script.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This development introduces ColVis into Koha and provides a configuration
page for columns visibility.
ColVis is a plugin for DataTables. It allows to change the visibility of
the columns in the table.
* This development adds:
- the js and css file for ColVis
- a new DB table 'columns_settings'
- a new template plugin 'ColumnsSettings'
- a new package C4::Utils::DataTables::ColumnsSettings
- a new admin page admin/columns_settings.pl
* How it works:
A yaml file is created (admin/columns_settings.yml) in order to take an
inventory of all tables where ColVis is implemented. This file is read
to create the list of modules, pages and tables in the configuration
page.
There are 3 possible keys in the yml:
- is_hidden: default is 0
The column will be hidden.
- cannot_be_toggled: default is 0.
ColVis will allow to hide/show the column.
- cannot_be_modified: default is 0
Default values (in the yml) won't be modifiable.
When a user changes (or saves) the configuration for one module, all
columns are added to the DB table. The values in the DB get the upper hand
on the yaml values.
* Humm, strange?
It seems weird to have 2 storages for the same values. But I
think it will be easy to add an entry and maintain the yaml rather than
adding a new row (and new entry in updatedatabase script) in the DB.
* To go further: We can imagine that the configuration is saved for each
user (and not globally like it is made with this patch).
This patch cannot be tested as it, you need to apply the "POC" patch.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, more comments on last patch.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>