Commit graph

58 commits

Author SHA1 Message Date
3d2646938c Bug 15910 - Move header search keep text JavaScript into staff-global.js
Bug 14189 added some global JavaScript to a new include file which is
included in doc-head-close.inc. Since it's included globally, there is
no reason not to move it to staff-global.js. This patch does so.

To test, apply the patch and clear your browser cache if necessary.

- Navigate to any page in the staff client which has multiple header
  search tabs.
- Type something in one of the tabs.
- Switch tabs. Verify that your text was copied to the newly-displayed
  form field.

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>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
2016-03-02 03:50:00 +00:00
9a7c6f695c Bug 15844 - Correct JSHint errors in staff-global.js
This patch corrects minor errors in staff-global.js according to
warnings raised by JSHint.

To test, apply the patch and run JSHint on staff-global.js. No warnings
should be raised.

To confirm that the behavior of the JS is not changed, clear your
browser cache if necessary and:

- Confirm that the "Help" link opens the help window.
- Confirm that audio alerts work with local and remote sound files
- Confirm that the format() method is still working correctly by, for
  instance, opening the detail page for a bibliographic record with
  multiple items and choosing 'Edit -> Delete record' from the menu. The
  error message should read like "2 item(s) are attached to this
  record..."

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described. No errors with JSHint CLI (6 errors fixed)

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

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
2016-02-24 01:21:26 +00:00
Aleisha
e93ffac3f1 Bug 12051: Adds a Renew tab to the staff client
UPDATE: Added to checkin-search.inc to show up on returns.pl

To test:

1) Apply patch
2) Confirm that there is now a Renew tab on the pages where there is also a Check-in tab only
3) Attempt to renew a book using this, confirm it works as expected
4) Check if I have missed any pages

Signed-off-by: Marc Véron <veron@veron.ch>

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

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
2016-02-23 21:35:19 +00: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
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
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
f9e3891050 Bug 13089 - Tab key triggers JavaScript error in the checkEnter function
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>
2014-11-07 15:09:20 -03:00
7f8c59edaa Bug 12708 - Unexpected behaviour in IE 9 and lower when using openWindow
This patch removes the whitespace from arguments to the "name" parameter
in "window.open". It also adds a trap for the "openWindow" helper
function, which will use a "null" instead of a "name" if window.open
isn't able to handle a name with whitespace (i.e. if it's IE <= 9).

_TEST PLAN_

1) Switch to an emulated or authentic Internet Explorer version E 9
or lower
2) Click "Help"
3) Note that it opens the page in the current window rather than as a popup

4) Apply the patch

5) Shift refresh your page
6) Click "Help"
7) Note that it now opens (correctly) as a pop-up

(If you want to be more thorough, you can test in other browsers as well
to make sure that it still works.)

Tested with IE 10 developer tools: IE7, IE 8, IE 9
Window pops up as expected. No regression found with IE 10 / FF31.0
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested for regressions in Firefox and Chromium.
I checked the help and the duplicate authorities windows
still work correctly.
Passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-08-19 09:31:25 -03:00
Pasi Kallinen
9e9088049c Bug 12138 - Use placeholders in translatable Javascript strings
Currently translating Javascript strings with variables in them is hard,
because the strings are created from separate parts. For example:

 _("Are you sure you want to delete the") + " " + count + " " +
_("attached items?")

This is translated in two different parts, and the translator cannot
affect the place where the count-variable is.

Now, if the javascript strings allowed placeholders, similar to how the
template strings do, the above could be written as:

_("Are you sure you want to delete the %s attached
items?").format(count)

This would make translation much easier.

Attached patch adds a Javascript string formatter, and changes all the
concatenated translatable JS strings used in intranet to use that.

To test:
1) cd misc/translator
2) perl translate update xx-YY
3) grep ^msgid po/xx-YY-i-staff-t-prog-v-3006000.po | sort | uniq >
xx-YY-pre
4) apply patch
5) perl translate update xx-YY
6) grep ^msgid po/xx-YY-i-staff-t-prog-v-3006000.po | sort | uniq >
xx-YY-post
7) compare the files: diff -Nurd xx-YY-pre xx-yy-post | less
   should show the javascript strings that changed.
8) Test the UIs where the formatted js strings are used.

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

I tested *most* of the changed files. There were some instances where it
wasn't clear to me how to trigger the warnings which were modified,
especially tags/review.tt, admin/manage-marc-import.tt, and holidays.tt.
Everything I was able to test worked correctly.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

Works nicely, no regressions found. Thx!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-27 21:24:04 +00:00
dcca71f0be Bug 12075: fix keyboard shortcuts broken by jQueryUI upgrade
The recent jQueryUI upgrade broke keyboard shortcuts in the staff client
because of changes to the jQueryUI API. This patch fixes the problem.

To test, apply the patch and clear your browser cache if necessary.

- View any page in the staff which includes header search tabs for check
  out, check in, or catalog search (staff client home page or
  circulation page for instance).
- Test the keyboard shortcuts: Alt-q for catalog search, Alt-u for check
  out, Alt-r for check in.
- Each keyboard shortcut should select the correct tab.

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

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Confirmed that the shortcuts were broken before the patch
and now work again after applying it.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-14 23:57:04 +00:00
Galen Charlton
c16cadf216 Bug 11563: (follow-up) remove some tabs
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-11 18:04:36 +00:00
1226f901ce Bug 11563: (follow-up) change .live() to .on()
The jquery event handler .live() has been deprecated. It is recommended
that .on() be used instead.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-11 18:04:35 +00:00
e5ab220374 Bug 11563: restore preventing the enter key from submitting several forms
Several forms that take patron or item barcodes as input stopped
preventing the enter key (which is often sent by barcode scanners)
from submitting the form.

The code binding the CSS class noEnterSubmit to the handler preventing
submission when hitting the enter key was no longer triggered.  This is
because this class is added using JavaScript in $(document).ready() and
the keypress event listerning is also set using $(document).ready().

This patch corrects by using JQuery live() with will set event handlers
for HTML generated with JavaScript.

Also sets noEnterSubmit to use the checkEnter(e) function, as that has
broader browser compatibility.  Also corrects a small bug, for IE,
window.event must be used, not event alone.

Test plan :
- Flush browser cache (Crtl+F5) to update js files
- Go to patron creation : members/memberentrygen.tt
- Type a text in all mandatory inputs
- Type some caracters in a non mandatory input
- Press Enter key
=> Without patch : the form is submitted
=> With patch : the form is not submitted
- Try to set several lines in a textarea
=> It works (checks that in this case enter key is allowed)
- Test other pages usign noEnterSubmit class :
cataloguing/additem.tt
course_reserves/course.tt
members/mancredit.tt
members/maninvoice.tt
patron_lists/list.tt

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, tested in Firefox and Chromium.
Passes tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-11 18:04:06 +00:00
aa722ab694 Bug 11570 - Upgrade jQueryUI to latest version in the staff client
This patch upgrades the version of jQueryUI included in the Koha staff
client from v1.8.23 to v.1.10.4. The upgrade introduces a few minor API
changes which require the updates in this patch:

- In CSS, the term "active" is used instead of "selected"
- Autocomplete functions use slightly changed parameters

Changes to the default jQueryUI CSS allows us to remove some instances
of "!important" from jQueryUI-related CSS in the staff client's main CSS
file.

To test:

Testing changes to autocomplete:

- Enable the CircAutocompl system preference. Try searching in the
  header's "Check out" tab. Autocomplete should look correct and
  function correctly.

- In Circulation -> Overdues: The patron attribute authorized value
  filter (must have patron attributes enabled, and a patron attribute
  defined which uses authorized values.

- Course reserves -> Course -> Edit: Searching for an instructor

- In the unimarc_field_210c_bis.pl plugin:
  1. Link the publisher name field in your MARC structure to
     the unimarc_field_210c_bis.pl plugin.
  2. Open a MARC record for editing and click the "tag editor" link to
     launch the plugin.
  3. Type the first few letters of a publisher which exists in your
     database. You should get an autocomplete menu of publishers
     which match your search.
  4. Select one and click the "choose" button to fill the field in the
     MARC editor.

- Tools -> Patron lists: Add a list or choose an existing list and add
  patrons. Perform a search for a patron.

- Placing a hold: After choose a title and clicking "Place hold,"
  search for a patron.

- Tags management: The sidebar filter for "reviewer" should let you
  search by patron name.

Other jQueryUI widget changes:

- Check tabs appearance in header search, biblio detail, cataloging, and
  circulation patron fines pages.

To confirm other jQueryUI widgets still function correctly:

- Check accordion (collapsing sections) in Patrons -> Patrons requesting
  modifications and the MARC subfield structure edit screen.

- Check datepickers, especially in Circulation with the added timepicker.
  Test a linked datepicker, for example in Reports -> Stats wizards ->
  Circulation where the value in one date field affects what dates are
  available in the matching field.

- Check the calendar interface in Tools -> Calendar

To confirm that the new jQueryUI default CSS is more flexible (fixing
Bug 11042), add the following CSS to your IntranetUserCSS system
preference and confirm that the header search active tab border color
changes (hash mark escaped so that it will appear in commit msg):

\#header_search ul.ui-tabs-nav li.ui-tabs-active {
  background-color: #FFFFF1;
  border: 1px solid #800000;
  border-top: 0 !important;
  top: -2px;
}

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

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-07 15:37:27 +00:00
Bernardo Gonzalez Kriegel
5da480b61b Bug 11993: fix untranslatable confirm popup in request.tt
This patch makes confirm popup text translatable. It implements a
similar function as used on OPAC deleteConfirm() and a JS var message.

This function, or variants, can also be found on other files on intranet,
I think that the only valid places are staff-global.js and help-top.inc

Redefinitions of this function:
prog/en/modules/serials/subscription-frequencies.tt:6
prog/en/modules/tools/marc_modification_templates.tt:158
prog/en/modules/virtualshelves/shelves.tt:92

Last case is a little different

To test:

1) Confirm that the "cancel hold" link correctly prompts for
   confirmation:
   a) Place an item-level hold on a title.
   b) Check in the item and confirm the hold.
   c) Return to the place hold screen for that title and submit another
      patron to place a hold for.
   d) On the place hold screen for that patron, look at the table of
      items. There should be a "cancel hold" link next to the item for
      which the hold was confirmed in step (b).
   e) Click "cancel hold."  You should see a confirmation message.
      Cancelling this dialog should cancel the operation. Confirming it
      should cancel the hold.

2) Check the string is not present on staff PO file
3) Apply the patch
4) Update translation files (cd misc/translator; perl translate update
   xx-YY)
5) Verify the string is now present

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>
2014-04-03 15:27:18 +00:00
3c7edd1cbe Bug 11764 - Move repeatedly redefined function toUC() into staff-global.js
toUC() is repeatedly declared on many administration templates. This
function, used to transform user input to uppercase, can be added to
staff-global.js to prevent repetition.

To test, confirm that transformation to uppercase is working on the
following Administration pages when text is entered in a form field and
focus is moved to the next field:

- Authority types -> New: Test the "Authority type" field.
- MARC bibliographic framework -> New framework: Test the "Framework
  code" field.
- Patron types and categories -> New category: Test the "Category code"
  field.
- Currencies and exchange rates -> New currency: Test the "Currency"
  field.
- Item types -> New item type: Test the "Item type" field.
- Z39.50 client targets -> New Z39.50 server: Test the "Z39.50 server"
  field.

The following pages do not call the toUC function despite the fact that
they included it:

auth_tag_structure.tt
printers.tt
roadtype.tt
stopwords.tt
systempreferences.tt

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
tools/letter.tt declares this js function and don't use it.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-02-18 20:49:30 +00:00
Galen Charlton
31a3fe1537 Bug 11333: use jQuery validator plugin for CSV profiles forms
This patch adds the use of the jQuery validator plugin for
the two forms (new and edit) on the CSV profiles page.  Doing
this standardizes messages that gets displayed on validation
errors.

This patch, in the process, fixes a bug where if a page has
more than one validated form, only the first such form would
get the validator plugin applied to it -- it looks like $.validate()
does not do implicit iteration.

To test:

[1] Apply the patch, then go to Tools | CSV profiles.
[2] Create a new profile, but leave the name and the MARC/SQL
    fields blank.  When you click the submit button, the form
    should not be submitted; instead, text will be displayed
    to the right of each input that lacks required input.
[3] As above, but change the profile type and verify that the form
    is not submitted unless all of the required fields are filled in.
[4] Edit an existing form, then empty the MARC/SQL field.  Try
    submitting the form; it should refuse to submit the form
    and display text saying that the field is required.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed some tabs, works nicely and as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-12-06 15:12:20 +00:00
Blou
39830ac023 Bug 11035: Replace shortcut plugin jquery.hotkeys.min.js
To old plugin prevents the upgrade to the latest jquery. By replacing
with openjs' shortcut.js, we have now one less hurdle in upgrading
Koha to latest.

Changes:
- removed jquery.hotkeys.min.js
- added shortcut.js
- modified the related includes (doc-head-close.inc and help-top.inc)
- modified the calls in staff-global.js

Regression test:
1) apply the patch
2) in the intranet, test the shortcuts alt-q, alt-r, alt-u.

These are the only affected functionalities.  There is no new functionality.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script. Tested existing
shortcuts for the search bar tabs on various circulation
related pages.

This uses a Javascript under BSD license, I wonder if it
should be listed in the About>licenses section that we
are using it. As Yui is also BSD I assume the license is
compatible.

+/**
+ * http://www.openjs.com/scripts/events/keyboard_shortcuts/
+ * Version : 2.01.B
+ * By Binny V A
+ * License : BSD
+ */

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-12-03 15:23:37 +00:00
a5161d8fce Bug 10493: (follow-up) fix various QA issues
Adds a new Template Toolkit filter EncodeUTF8 to encode strings
to utf8 for correct display of diactritics.

Adds the new JavaScript function removeFocus() to staff-global.js
Use this function to remove the focus from any element for
repeated scanning actions on errors so the librarian doesn't
continue scanning and miss the error.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This works as described - you have to actually look at the
error and pick what you want to do or confirm it. I think
maybe tying the action to a shortcut (c = confirm or similar)
would be nice, so you can get away with only using the keyboard.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-22 17:05:53 +00:00
25e6c2885d Bug 9424: Move JavaScript out of header include
This patch removes JavaScript "onlick" attributes from header.inc and
moves the functionality to staff-global.js. This is in keeping with the
idea of progressive enhancement.

To test, be sure to clear your browser cache after applying the patch.

- Test the help link.
- Test the logout link with the intranetbookbag preference on and off.
- Open a patron's account and click "search to hold." Log out, and log
  in again. Koha should not remember the patron you chose before
  logging out (as seen from a search results page).

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>
2013-05-28 07:46:19 -07:00
1940d4871c Bug 8215 - Add Course Reserves - QA Followup
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
2013-05-21 15:50:58 -07:00
be869ab279 Bug 8215 - Course Reserves
Adds a course reserves system for academic libraries.

The course reserves system allows libraries to create courses
and put items on reserves for those courses.

Each item with at least one reserve can have some of its attributes
modified while it is on reserve for at least one active course.
These attributes include item type, collection code, shelving location,
and holding library. If there are no active courses with this item
on reserve, it's attributes will revert to the original attributes
it had before going on reserve.

Test Plan:
  1) Create new authorised value categories DEPARTMENT and TERM
  2) Create a new course, add instructors to that course.
  3) Reserve items for that course, verify item attributes have changed.
  4) Disable course, verify item attributes have reverted.
  5) Enable course again, verify item attributes again.
  6) Delete course, verify item attributes again.
  7) Create two new courses, add the same item(s) to both courses.
  8) Disable one course, verify item attributes have not reverted.
  9) Disable both courses, verify item attributes have reverted.
 10) Enable one course, verify item attributes are again set to the
     new values.
 11) Edit reserve item attributes, verify.
 12) Disable all courses, edit reserve item attributes, verify
     the item itself still has its original attributes, verify
     the reserve item attributes have been updated.
 13) Verify the ability to remove instructors from a course.
 14) Verify new permissions, top level coursereserves, with
     subpermissions add_reserves and delete_reserves.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Corinne Bulac <corinne.hayet@bulac.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

http://bugs.koha-community.org/show_bug.cgi?id=8125
2013-05-21 15:50:55 -07:00
c061790f97 Bug 9783 - can hit submit twice when adding patrons
Currently, clicking twice or more on the Save button will generate
duplicate patrons when adding patrons in the Patron module. Of course,
there is handling that detects this, so you can choose to either edit
the original record (i.e. throw away the duplicate) or create a
duplicate record.

However, it shouldn't get to that point by clicking on the Save button.
That handling seems to be there to handle cases where you go through the
whole process of trying to add a new patron only to find out that they
already exist in the system (or at least their username/password do).

--

This patch uses the "preventDoubleFormSubmit" function (which is also
used in holds and fines to prevent double form submits). It was also
necessary to edit members.js, since "check_form_borrowers" was forcing
form submits despite the "preventDoubleFormSubmit" function. I've
changed it from forcing a document.form.submit to return true, which the
browser will still submit the form if it's a unique borrower, but the
"preventDoubleFormSubmit" function will still prevent multiple submits.

I've also added a "waiting" class to staff-global.js which changes the
cursor to "wait" (i.e. loading circle graphic). I've included an
"AddClass" call in "preventDoubleFormSubmit", so that the cursor graphic
will change to show users that the page is loading so that they don't
click Save again. Of course, even if they do click save again, there
will only be one submit. However, this way - as Chris Cormack mentioned
- the user knows that "something" is happening and that the form isn't
broken.

-------
Test Plan

Before applying patch...

1) Fill out the form for a new patron in the Patron module
2) Click "Save" several times
3) Once the page loads, you'll be shown a prompt that says that this
   borrower already exists. You will have the option to view the
   original record, edit the original record, or create a new patron
   anyway
4) Click on edit the existing record, and delete the patron

Apply the patch

5) Repeat steps 1 and 2
6) Notice that your cursor has changed into a little "loading" circle
   graphic when you hover over the "body" of the page, as well as any
   links or any inputs/buttons of the type "submit" within that form
7) Notice that no matter how many times you press the button, the form
   is not re-submitted. Eventually you will be taken to the new patron's
   record (no mention of duplication will occur)

Ta da! Multiple form submits are prevented and the loading graphic
signals to users that the form was submitted and that Koha is processing
their data

--

I understand that some people might want to change which elements are
given the "waiting" class. I'm happy to renegotiate this as necessary.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Looks good and works nicely.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-27 22:58:17 -04:00
c28f7d7de5 Bug 6209 [Revised] Standardize on one plugin for client-side form validation
This patch adds the jQuery "Validation" plugin
(http://docs.jquery.com/Plugins/Validation) and includes it by
default in the staff client along with an include file containing
translatable strings for all of the plugin's possible messages.

The staff client's main JavaScript file has been modified to perform
automatic validation of any form with the class "validated."

For a simple example I have modified the library entry form
to mark required fields as required (something which had not
been done before). Each required field has been given a class,
"required" and the HTML5 attribute "required." The former adds
the hook for the plugin, the latter adds browser-based validation
in recent browsers (and which will be superceded by the plugin
if JavaScript is enabled).

This will check for inputs classed "required" without any
additional configuration. More complex forms (with specific
data types, for instance) will require more inline JavaScript
configuration.

$("#FormID").validate({ /* configuration details */ });

Also added to the library entry form are checks on the email and URL
fields via classes ("email" and "url", respectively). This demonstrates
validation of content without forcing the field to be required.

To test, go to Administration -> Libraries and Groups and choose
"New library." Submit the form without entering a library code
or name. You should be prevented from submitting the form and be
shown an error message by each field. Perform the same check with an
existing entry.

To test browser-based validation, disable JavaScript and follow
the same procedure.

Revision rebases the patch against current master and adds missing
"//<![CDATA["

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

Comment: Work as described with new or existing library.
No errors.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-23 00:12:36 -04:00
ecf42ffbd0 Bug 9420 [Revised] Work on Bootstrap for Koha
YUI JS is deprecated as far as Koha is concerned, and jQueryUI menus
don't seem to be as robust as they should be. This makes Twitter
Bootstrap very attrative for its menus features as well as other
aspects.

This patch revises the staff client header menu to include features from
Bootstrap, including replacement of the YUI-driven "More..." menu with a
Bootstrap version, and a new user menu taken from Corey Fuimaono's
similar patch.

To test, be sure to clear your cache after applying the patch. Load any
page in the staff client and confirm that the menu at the top of the
screen looks correct and works as normal, including functionality of the
"more" menu. Confirm that the username/logged-in branch triggers a menu
with "set library" and "log out" options. Confirm that Cart operations
trigger the correct confirmation popup.

Revision moves the Bootstrap assets out of the prog template into
koha-tmpl/intranet-tmpl/lib.

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

Works great. No errors.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-02-15 09:04:17 -05:00
2b74492d7d Bug 8181 [REVISED] Replace DynArch calendar widget with jQueryUI version
All instances of the old DynArch calendar have been replaced with
jQueryUI versions and the old library files have been removed.

calendar.inc has been modified to include jQueryUI localization
strings and global configuration options. Just add a "datepicker"
class to an input field to trigger a datepicker prompt.

If you would like two fields in one from to limit each other (one
is date from, one is date to), add these classes to each:
"datepickerfrom" and "datepickerto." This will prevent an invalid
entry, e.g. a date in the latter which falls before the former.

jQueryUI is now upgraded to the latest verision, 1.8.21.

Edit: Now with proper translatability, date formatting, first day
of the week handling, and RTL support.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA Comment:  rebased on current master; minor merge conflicts with other patches pushed

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-25 18:26:26 +02:00
68b30468c3 Bug 8143 [REVISED] Upgrade jQuery tabs to current jQueryUI version
Current jQuery-driven tabs are done using a very old
version of the tabs plugin. This patch upgrades jQueryUI
to the latest version and adds the tabs widget dependency
to the jqueryui js file and updates the syntax for existing
tabs:

- $("#foo > ul").tabs(); changes to $("#foo").tabs();
- Remove full URL from tab links (use #anchor only).

Pages with "static" tabs (tabs which are built in the
markup rather than generated by the plugin) have been
modified to use their own style. Examples: pay.tt in
the staff client and opac-readingrecord.tt in the OPAC.

Edit: Minor revision to some uncorrected markup

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-10 15:22:58 +02:00
723734513b Bug 7889 [Authorities duplicates] Use standard style for errors and messages
The warning shown in the authorities editor when there is
a possible duplicate is styled incorrectly. In addition the
design of the warning is inconsistent with that shown in the
bibliographic record editor.

This patch revises the style and layout of the duplicate error
box. It also corrects a problem which appears in the biblio
and authority editors where a non-existent JS window function
was called. I have added the function to the default JS include
and revised the editor pages to use it.

To test:

- Create a record in both the cataloging and authorities
  editors which will trigger a duplicate warning.
- Click the link to the existing record. A separate window
  should pop up.
- In both editors try each option:
   - Confirm the duplicate and go to the existing record.
   - Deny that the record is duplicate and continue to save.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-05-24 18:11:55 +02:00
a64ca0a8cf Bug 4054 - Double-clicking the 'place hold' button can result in duplicate holds
This commit adds a new jquery function to staff-global.js, preventDoubleFormSubmit().
When used thusly: $('#form-id').preventDoubleFormSubmit();
It will prevent a submitted form from being submitted a second time.
It is currently only added to the Place Hold form in reserve/request.pl

http://bugs.koha-community.org/show_bug.cgi?id=4045
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested:
Double clicking no longer causes identical double holds to be placed.
passes prove t xt t/db_dependent in line with current master.

Reminder: this will need to be added to the OPAC as well.
2012-02-17 19:22:49 +01:00
7f6656aff8 Fix for Bug 5898 - search to hold feature not clearing
Search to hold cookie is now cleared when the user loads a blank
circulation page and when the user logs out.

The user also now has the option to "forget" the current
search to hold patron by choosing an option from the
search to hold menu on the search results page.

Signed-off-by: Liz Rea <lrea@nekls.org>
Tested:
Forget <patron> from search to hold results clears cookie
Logging out clears the cookie - testing note: i had to clear my cookies and test fresh before this would work
Loading a blank circulation page (Check Out from the circulation-home) clears the cookie.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-13 11:11:56 +13:00
Ian Walls
34155975fc Fixes bug 5125: Default focus on circulation-home page
Fix created by Owen Leonard, related over IRC chat (rather than a patch file).

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-14 20:00:14 +13:00
1024eceec7 Fix for Bug 5048, Error in menu/submenu for select language in intranet
Patch for HEAD. This issue was apparently solved quite a while
ago in the OPAC. This patch copies that solution over to the staff client.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-02 09:24:34 +13:00
8ad2c7d7ac Merge commit 'pianohacker-koha/prefs-submit' into master
Merge in Jesse Weaver's system preference editor changes.

Conflicts:
	C4/Bookfund.pm
	koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
	koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
	koha-tmpl/intranet-tmpl/prog/en/modules/intranet-main.tmpl

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-01-26 20:26:17 -05:00
e63ac283eb Fix for Bug 3951, Menu a mess in WebKit browsers
- removing inline image in favor of CSS background (inline image
  is used in the OPAC to better work with cart button css
- adding "display:none" to "more" menu. "visibility:hidden" by
  itself creates unwanted whitespace in WebKit browsers
- adding explicit width to toplevelmenu to correct display
  problem in WebKit browsers
2010-01-19 21:50:43 +01:00
Jesse Weaver
5211ec9863 Add basic client-side AJAX wrappers 2009-09-06 23:01:32 -06:00
5a93f0b806 More changes to implement jQuery upgrade.
- Upgrading jquery checkboxes plugin
- Correcting references to checkboxes plugin
- Upgrading jquery hotkeys plugin
- Upgrading syntax for calls to hotkeys plugin
- Removing jquery dimensions plugin (functionality rolled into jQuery)

Signed-off-by: John Beppu <john.beppu@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-07-14 07:08:18 -04:00
b0deccd971 Changes to improve keyboard access to global search box tabs.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-12 16:32:01 -06:00
df13aeee3b Adding javascript to prevent premature submission of forms when using a barcode scanner (or by hitting the enter key). Addresses Bug 2591
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-05 21:05:07 -05:00
4ed113b230 Refining keyboard shortcuts javascript.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-09-16 22:08:06 -05:00
395a3499a6 Two jquery changes: update to tabs plugin, with related modifications to templates; Addition of jquery hotkeys plugin for selecting tabs from global search form.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-11 06:18:44 -05:00
7548a42059 Experimenting with keyboard shortcuts
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-11 06:18:43 -05:00
da3c10bae5 Patron image javascript check is no longer necessary now that alternate patron image is served up automatically by new patron image script.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-28 07:58:58 -06:00
bfbae81162 Some changes related to recent commits to patron images: Markup and javascript changes for upload form; Enabling passing of cardnumber and filetype variable to picture upload form; changes to picture display to handle missing image; Adding link to picture upload form from missing image display in circ and moremember; Removal of English text from 'no patron image' file.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-27 09:02:37 -06:00
80c3d32dde Fix for Bug 1735, hopefully. jquery selector wasn't targeting the right combination.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-27 09:02:31 -06:00
68ddaa54aa Overhaul to Koha's js-menu systems. New language-picker in the footer required more flexibility than jquery's clickmenu plugin offered, so both the language picker and the main navigation menu now use YUI's menu plugin. The necessary dependencies have been added, and ClickMenu-related files removed.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-14 16:48:27 -06:00
Joshua Ferraro
802b13e5f5 fix for 1754; fixing I18N BiDi, improvements to handling of language
TODO: clean up the OPAC similarly

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-10 08:32:48 -06:00
897c3a4eee Visual improvements to facets and search results; better js handling of Amazon book covers in results and detail.tmpl.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-13 17:28:40 -06:00
b72a0d0653 Changes to image-load check (used for patron images and amazon book covers) to tweak when the script checked for loaded images (now window.load() instead of document.ready())
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-04 15:06:26 -06:00