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>
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
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
- 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