Commit graph

37 commits

Author SHA1 Message Date
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
1a914b7202 Fixing some menu formatting
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-04 15:06:20 -06:00
5a7ed8a476 After seeing Paul's commits re: gettext javascript, correcting detail.tmpl. Also moving the function from doc-head-close.inc to staff-global.js.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-09 19:13:26 -05:00
a37daca905 More efforts with toolbars, nothing solved. Also corrections, and modifications to resident search to place focus on displayed form field.
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-25 14:46:56 -05:00
2666466407 Corrections, and first test of Circ toolbar
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-25 14:46:54 -05:00
d5584e1030 Trying new jquery tabs system. Appearance may not be quite right
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-11 16:41:31 -05:00
bccf46fade More work on resident search, adding breadcrumbs and resident search to member pages.
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-10 15:58:35 -05:00
e817f5d203 New basic page structure implemented for circ pages: global main menu in the header, resident search box and logo, followed by breadcrumb navigation. Added circ-menu.inc for left-hand sidebar menu (needs revision), circ-search.inc which defines the resident search box for circ pages, additions to staff-global.js to handle tab-switching in search box.
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-07 15:44:57 -05:00
d3d5fadb43 Adding jquery as default js library and staff-global.js for global js functions. Converting form field focus scripts to jquery syntax (use class="focus" for auto-focusing form fields)
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-04 16:35:54 -05:00