Commit graph

289 commits

Author SHA1 Message Date
Gus
9510a1f3e1 15617 - Be able to close "Click to edit" text boxes after opening them
To test:

1. Go to admin preferences, Acquisitions, Policy.
2. Find MarcFieldsToOrder and click "Click to Edit"
3. Notice that a "Click to collapse" button appears, click it.
4. Notice that the box has collapsed

This fix should be applicable to all "Click to Edit" textboxes

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Works well, and a nice improvement.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
2016-01-27 05:33:12 +00:00
Chloe
d7879843b1 Bug 14613: Send cart window is too small in staff and hides 'send' button
To Test: Add an item to cart click "cart" click "send"
confirm that the send window is larger and the send button is
visible

NOTE: Remember to clear cache to refresh javascripts.
      This is much more visible if you zoom in 10% or more.
      This is larger, but more of a stop gap if you've got a large zoom.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
2016-01-19 15:58:26 -07:00
Marc Véron
1acc6094be Bug 14948 - Display amounts right aligned in tables on patron pages
This patch set display amounts for charge, fine, price etc. right aligned in tables
on patron pages.

To test, apply patch and verify that amounts appear right aligned on following pages:

- Go to Home > Patrons, perform a search (Column 'Fines')
- Go to a patron with fines and credits
  - Checkout tab (circulation.pl): Columns 'Charge', 'Fine', 'Price'
    (maybe you have to show column with 'Show / hide colums')
  - Fines Tab > Pay fines (pay.pl): Columns 'Amount', 'Amount Outstanding'
  - Fines Tab > Account (boraccount.pl): Columns 'Amount', 'Outstanding'
    Note: Test here 'Filter paid transactions' as well

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
2015-12-30 04:25:51 +00:00
Alex Arnaud
eb5fca30aa Bug 15289 - borrowers permission allows to see patron's loans
Test plan:

 - log with a user that have "borrowers" permission but not "Remaining circulation permissions"
 - go to a borrower's detail page (who has at least a loan) and click on "show checkouts"
 - check that you see loan(s) and that you can't renew and checkin

 - Do the same with a borrower that have "Remaining circulation permissions"
 - check that you see loan(s) and that you can renew and checkin

Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
2015-12-30 02:51:50 +00:00
fc05098469 Bug 13024 [QA Followup] - Add nonpublic note to relatives' checkouts
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2015-12-04 14:47:57 +00:00
717878982f Bug 13024 - Nonpublic note not appearing in the staff client
The nonpublic note for items is not displayed in the staff client. It
should be displayed in the following areas:
1) Checkouts (circulation.pl)
2) Checkins (returns.pl)
3) Record details ( moredetail.pl )

Test Plan:
1) Ensure your non-public note field is mapped to the
   items.itemnotes_nonpublic database column
2) Edit an item, add a test nonpublic note
3) Check out the item, verify the note is visible in the checkouts table
4) Check in the item, verify the note is visible in the checkins table
5) View the item details, verify the note is visible and editable
   if your account has the rights to edit items

Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2015-12-04 14:47:57 +00:00
Julian Maurice
f483414637 Bug 8064: Fix issues with control fields and non-repeatable check
Fields < 010 were systematically unchecked during target rebuild because
they have no subfields (unchecking manually all subfields of a field
automatically uncheck the field)
When user check a field or a subfield, we have to uncheck it before
calling (sub)field_can_be_added. Otherwise, field is treated as if it
was already in target record, and this is a problem for non-repeatable
fields.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-09 15:08:57 -03:00
Julian Maurice
44c4b9310d Bug 8064: Change the way target record is built.
Instead of copying/removing a piece of DOM in target record each time a
checkbox is checked/unchecked, the target record is *entirely* rebuilt
each time a checkbox is checked/unchecked.
This is slower but allow for a more consistent and less error-prone
behaviour.

This patch also fix the mandatory check for subfields

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-09 15:08:57 -03:00
f73fdc9ebb Bug 11431: (QA followup) Fix js error
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
2015-11-04 12:32:58 -03:00
b8dd899738 Bug 11431: (QA followup) Allow https in sound URLs
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
2015-11-04 12:32:58 -03:00
220ff161e9 Bug 11431: Add additional sound options
This patch set replaces and extends Koha's current sound options.
This is implemented be removing the existing sound system, and
re-engineering using a table of selector/sound combinations such that
the highest precedence selector that is found in the DOM will trigger
and audio alert. The existing audio behaviors are implemented as a set
of default audio alerts.

Test Plan:
1) Apply this patch set
2) Run updatedatabase.pl
3) Enable the AudioAlerts system preference
4) Test existing sounds
5) Enter the new alerts editor in the admin section
6) Add a new audo alert with the following selector:
    "body:contains('Check in message')",
   choose any sound alert you wish, make sure it's not one of the 3
   sounds already used! Make this selector precedence 1
4) Browse to the checkins page, you should hear the default sound
5) Attempt to return an invalid barcode, you should hear your custom sound!

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
2015-11-04 12:32:57 -03:00
Lyon3 Team
64b0984a51 Bug 8236: Renewing policy in overdue or restriction case
This patch introduces 2 sysprefs :
    RestrictionBlockRenewing to allow/block renewal of items when patron is restricted.
    OverduesBlockRenewing to allow, block only the late ones or block all checked out items
    Default is "allow" in both case.

Signed-off-by: Matthias Meusburger <matthias.meusburger@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-10-19 14:36:55 -03:00
Lari Taskula
d8c0b836d6 Bug 14880: Keyboard shortcuts don't work after setting CircAutocompl to "Don't try"
The issue is that CircAutocompl loads a script element under #header_search
element. When this element is missing, it also messes up the indexing,
because we were calculating the indexing of the found element by subtracting
one from the found element's index (to eliminate the <script> element).

Thats why the shortcut key problem in this bug takes you one too to the left,
because we are still subtracting one from the index even though there is no
<script> element anymore.

This patches selects only the div elements and gets the index from them.
No subtractions needed.

To test keys:
1. Set CircAutocompl system preference to Don't try.
2. Try the shortcut keys. They will work incorrectly like this:
   Alt+U = Search catalogue
   Alt+R = Check out
   Alt+Q = Check in
3. Set CircAutocompl system preference to Try.
4. Try the shortcut keys. They will work correctly like this:
   Alt+U = Check out
   Alt+R = Check in
   ALt+Q = Search catalogue
5. Apply patch
6. Repeat step 1 and 4.
7. Repeat step 3 and 4.
8. Observe that regardless of CircAutocompl, shortcut keys worked correctly.

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@theke.io>
2015-10-02 15:07:30 -03:00
1b8f3194e9 Bug 14509: Reject invalid passwords
Bug 10177 rejects password with leading or trailing whitespaces, but
only on the member-password page.
It's not consistent to only do this check on 1 place.
This patch adds the check for the 2 other places: memberentry and at the
OPAC.

Test plan:
1/ Edit a patron and set a password with leading and/or trailing
whitespaces. You should not be allowed to do it (no server side check).
2/ Same at the OPAC ("Change you password" tab). Here there is a server
side check.

Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
2015-09-28 11:51:08 -03:00
0a95ba06f3 Bug 14710: Make the export checkout list export only the checked out item infos
This has been introduced by bug 11703.

Bug 13190 should have been fixed it.

If the pref ExportWithCsvProfile is defined with a MARC CSV profile and
it contains item infos to display, only info from the checked out item
should be displayed.

Test plan:
0/ Don't apply this patch
1/ Create a biblio with 1+ items
2/ Check one of the item out to a patron
3/ Define a CSV profile which contains item fields ("245$a|952$p" for instance)
4/ Export the item (from circ/circulation/pl) using the CSV option
Note that the csv contains the barcode from all items
5/ Apply this patch and repeat 4.
6/ Note that the csv contains only the barcode from the checked out
item.

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-09-25 15:36:00 -03:00
83ea49a009 Bug 14321: Integrate Upload.pm into Koha
This patch makes the following changes to achieve that:
[1] Use Upload.pm in stage-marc-import.pl, upload-cover-image.pl,
    offline_circ/process_koc.pl and enqueue_koc.pl.
[2] A new file-upload.js replaces file-upload.inc in the associated template.
    We now use ajax to get progress figures instead of launching perl script
    upload-file-progress.
    The js changes now also allow for aborting a file upload.
[3] Adds a tools/upload script and template. It allows to upload multiple
    files at once.
[4] Makes upload-file return error messages in JSON. For a multiple upload,
    we could have some files with errors and others without errors.
    The upload is now marked as Failed only if there was no upload at all.
[5] The upload plugin is converted to use tools/upload with plugin param.
    Deleting an upload is now presented via the search results form.

NOTE: In editing the process_koc.tt I noticed that the form enqueuefile was
hidden and no longer used (with associated code in process_koc.pl). When a
file has been uploaded, I display the form again (with the Apply directly
button). The code still works.

NOTE: We fix an error in upload-file from one of the patches of bug 6874.
The userid of the Koha admin user is passed to haspermission, but we
should pick the userid from the session.

NOTE: Bug 14686 will add a specific permission for tools/upload.pl, and
will add the tools/upload script to the Tools menu.
For now, you need edit_catalogue to start upload.pl and you will
additionally need a permission like upload_local_cover_images
to successfully upload a new file.

Test plan:
[1] Upload a marc file in stage-marc-import. (This is temp storage.)
[2] Check new entry in table uploaded_files. Look for the file in your
    temporary directory (/tmp ?), subfolder koha_upload.
    Bonus: Remove permissions on this subfolder. Retry, check error and
    restore permissions again.
[3] Upload another (larger) file and abort the upload. Check table and
    directory again. You should have a partial file, but no record.
[4] Verify that Stage for import still works as expected.
[5] Test Upload local cover image. (Enable OPACLocalCoverImages.) You can
    test an individual image or a zip file including images and a file
    called datalink.txt (with lines biblionumber,filename).
[6] Test uploading a offline circulation file:
    Enable AllowOfflineCirculation, and create a koc file (plain text):
    Line1: Version=1.0\tA=1\tB=2
    Line2: 2015-08-06 08:00:00 345\treturn\t[barcode]
    Note: Replace tabs and barcode. The number of tabs is essential!
    Checkout the item with your barcode.
    Go to Offline circulation file upload. Upload and click Apply directly.
    Checkout again. Upload again, click Add to offline circulation queue.
[7] Upload three files via tools/upload.pl with a category and marked as
    public. Check the results in the table.
    Verify that you can download the file in OPAC without being logged in.
[8] Pick one new file and one of the files of step 7. Upload them in the
    same category. One upload should succeed. Check for reported error.
[9] Connect upload.pl to field 856$u.
    Goto Cataloguing editor.
    In an empty 856$u, click the tag editor. Upload a file and click Choose.
    Save the record. Open the record in the OPAC and click the link.
    Copy this link to your clipboard for next step.
[A] Go back to editor. Click the tag editor on the same 856 field.
    Choose for Delete.
    Open the link in your clipboard again. Error message?
[B] Check the process of upload, search, download and delete of an upload
    with some diacritical characters in the filename. (Bonus points for
    adding special chars in the category code.)
    Note: You can add categories via authorized values, UPLOAD key.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Bug 14321: [QA Follow-up] Perltidy upload.pl

Run perltidy -pro=xt/perltidyrc on tools/upload.pl.
No other changes.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-09-25 12:02:52 -03:00
ea92a92f53 Bug 14470: Do not allow renew for on-site checkouts
At the opac, the renew checkbox should not be displayed if it's an
on-site checkout (same on the intranet).

On the way, this patch adds a specific message to the intranet if the
librarian try to renew an on-site checkout.
Indeed before this patch a renew was allowed if the barcode was scanned.

Test plan:
1/ Create an on-site checkout for a patron
2/ Confirm that the checkbox 'renew' is not displayed on the checkout
list tables
3/ At the OPAC, the renew should not be allowed (no checkbox)
4/ Try to check the item out to the same patron, confirm that you get a
specifig message to inform you the renew is not allowed for on-site
checkouts.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Changed 'issue' to 'item' in the error message.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-09-07 12:07:37 -03:00
b1eb5f2e44 Bug 14661: space needed in added to staff side cart message, if items added are already in cart
There is a missing space in the "added to cart" message on the staff side, when you are adding 2 or more items to the cart, where 1+ is already in the cart and 1+ is not in the cart. I verified that this is not an issue in the OPAC cart function.

Test:

1. Search for records in your system.
2. In search results, select the first two records and choose Add to Cart.
3. Message returned, "2 item(s) added to your cart", as expected.
4. Keep those 2 records selected, and select 2 additional records (so 4 total records selected), and choose Add to Cart again.
5. Message returned, "2 item(s) added to your cart2 already in your cart".
6. Apply this patch
7. Repeat steps 1 through 4
8. Note the two phrases are on separate lines

Signed-off-by: Heather Braum <hbraum@nekls.org>
Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
2015-08-21 09:56:37 -03:00
Liz Rea
c95e794bd4 Bug 14389: Editing a syspref in a textarea does not enable the Save button
Test plan:
  1. Navigate to the "opaccredits" syspref (or any other textarea, i.e.,
     "Click to Edit", syspref) in the system preferences editor.
  2. Change its contents, by either pasting or typing. The field may not
     be marked as modified, even after you click outside the box.
  3. Apply the patch.
  4. Reload the page and try again; either pasting or typing should mark
     the field as changed and allow you to save.

Signed-off-by: Jesse Weaver <pianohacker@gmail.com>
Confirmed working for normal input, paste and middle-click paste in
Chrome and Firefox in Linux.

Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
2015-07-07 12:34:41 -03:00
5132d5f991 Bug 14327: Fix js error "TypeError: events is null" in additem.js
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>
2015-06-07 18:40:12 -03:00
Jonathan Druart
0fa0297d7d Bug 12320: Remove deprecated construct to delete cookie showColumns
$.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>
2015-06-04 10:07:26 -03:00
Jonathan Druart
04f5e7d4e7 Bug 12320: Remove deprecated construct to delete cookie holdfor
$.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>
2015-06-04 10:07:26 -03:00
Jonathan Druart
2efbd3794e Bug 10299: authority plugin - authority field are reversed
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>
2015-05-19 11:46:24 -03:00
eb0583d51d Bug 14213: Cataloging plugin in cloned field does not work
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>
2015-05-19 09:19:26 -03:00
Jonathan Druart
ee478c3605 Bug 11464: Prevent wrong "nothing to save" message on saving syspref
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>
2015-05-07 11:01:16 -03:00
35acace47f Bug 13982: Checkouts table not sorting on correct column
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>
2015-05-06 13:48:02 -03:00
93c875f603 Bug 9528: Add delivery branch to the place hold display
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>
2015-04-30 16:45:26 -03:00
Jonathan Druart
d7cfdb45e5 Bug 13492: Add the location column to the checkouts tables
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>
2015-04-24 09:41:23 -03:00
Jonathan Druart
8c324dd2a0 Bug 13492: Add the column configuration for the checkouts table - circulation.pl
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>
2015-04-24 09:41:11 -03:00
Jonathan Druart
fead2a72b0 Bug 13419: Add filters on the list table
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>
2015-04-22 14:59:05 -03:00
ff5996d65e Bug 10480: Use the framework plugin object in cataloguing
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>
2015-04-16 14:48:36 -03:00
Jonathan Druart
18c6b4e237 Bug 13069 - (follow-up) Enable sort by title to ignore articles
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>
2015-04-13 09:54:47 -03:00
9b44647509 Bug 13069 - Enable sort by title to ignore articles on circulation and patron detail pages
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>
2015-04-13 09:54:22 -03:00
c76fbbe191 Bug 13908 - Checkouts table sorting is not honoring default sort preferences
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>
2015-04-08 10:09:04 -03:00
Rafal Kopaczka
901be3db53 Bug 9481 - charge not showing fines On 'Check out' and 'Details'.
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>
2015-03-31 14:13:53 -03:00
mbeaulieu
2a4a91aef3 Bug 11982 - Images now display properly in the details section.
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>
2015-03-30 13:45:38 -03:00
mbeaulieu
2668cbdc41 Bug 11982 - Fixed the amazon no image icon.
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>
2015-03-30 13:45:34 -03:00
Frédérick
bbb6cf94de Bug 11982 - Show local cover image in the intranet biblio details page
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>
2015-03-30 13:45:20 -03:00
d501637861 Bug 13804 - Returns via the checkouts tables uses the phrase "Returned" rather than "Checked in"
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>
2015-03-11 14:23:42 -03:00
ce2ea3e809 Bug 13605 - _AUTHOR_ not replaced in relatives checkouts
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>
2015-03-05 14:52:59 +01:00
87bcc8b303 Bug 13670 - Patron holds table not loading when holds tab anchor is used
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>
2015-02-10 11:25:03 -03:00
91f67dde13 Bug 13537 - Focus should move to barcode after renewing via checkouts table
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>
2015-01-14 21:30:02 -03:00
9fcdb01082 Bug 13290 - Add better feedback for returns to the checkouts table
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>
2015-01-14 21:28:37 -03:00
Jonathan Druart
28513edb94 Bug 13408: Tell librarians they may continue scanning while checkouts table is loading
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>
2015-01-14 12:40:18 -03:00
Jonathan Druart
d311722445 Bug 12839: aqbooksellers.gstreg is never used
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>
2014-12-03 11:34:48 -03:00
24a749d7ed Bug 13293 - Regression: Override renewal limit option broken with AJAX circ
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>
2014-11-22 11:15:33 -03:00
6e20fdf4e7 Bug 13286 - Checkouts table due date not updated when an item is renewed.
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>
2014-11-21 20:30:25 -03:00
13fda83783 Bug 13195 - Regression: Circulation checkouts table no longer shows item type description
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>
2014-11-16 21:35:09 -03:00
48db11d68b Bug 13236 - Regression: Table of checkouts no longer preselects overdue items for rewewal
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>
2014-11-16 21:25:43 -03:00
fdc60b0d10 Bug 13196 - "Always show checkouts immediately" cookie should persist across sessions
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>
2014-11-16 21:24:54 -03:00