55 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Jared Camins-Esakov
|
44d0ad451f |
Bug 10240: Offline circulation using HTML5 and IndexedDB
This patch adds an HTML5-based offline mode to Koha's existing circulation module, allowing librarians to check out items using a basically familiar interface. The feature will be implemented using the Application Cache and IndexedDB features of the HTML5 specification, both of which are fully supported on Firefox 10+ and Chrome 23+, with limited support going back to Firefox 4 and Chrome 11. The basic workflow enabled by this patch is as follows: Part 1: While connected to the Internet 1. Enable offline functionality by turning on the "AllowOfflineCirculation" system preference. 2. Sync the offline circulation database on the computer that will be used for offline circulation by following the "Offline circulation interface" link on the Circulation home page, choosing "Synchronize (must be online)", and clicking the "Download records" button. This process may take a while. 3. Bookmark /cgi-bin/koha/circ/offline.pl (the page you are currently on) for easy access when offline. Part 2: While disconnected from the Internet 4. Navigate to /cgi-bin/koha/circ/offline.pl using the bookmark you created while online. 5. Start checking books in by scanning the barcode of an item that has been returned into the box in the "Check in" tab. 6. Scan the barcodes of any additional items that have been returned. 7. Start checking out books to a patron by scanning the patron's barcode in the box in the "Check out" tab. 8. Set a due date (the "Remember for session" box will be checked by default, since circulation rules are not computed during offline transactions and therefore a due date must be specified by the librarian). 9. Scan an item barcode (if you did not set a due date, it will prompt you) to check the item out to the patron. 10. If a patron has a fine you can see the total amount (current to when the offline module was synced), and record a payment. Unlike when in online mode, there will be no breakdown of what item(s) fines are for, and you will only be able to record the payment amount and not associate it with a particular item. Part 3: While connected to the Internet 11. Click the "Synchronize" link and choose "Upload transactions" to upload the transactions recorded during the offline circulation session. 12. Navigate to /cgi-bin/koha/offline_circ/list.pl (there will be a link from the Offline circulation page) and review the transactions, as described in the documentation for the Firefox Offline circulation plugin: http://wiki.koha-community.org/wiki/Offline_circulation_firefox_plugin RM note: the IndexedDB jQuery plugin bundled with this patch is copyright 2012 by Parashuram Narasimhan and other contributors and is licensed under the MIT license. The home page for the plugin is http://nparashuram.com/jquery-indexeddb/. Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Comment: Works very well, no koha-qa errors Test with Firefox 24.0 1) did some checkouts pre sync 2) synchronize database (Download) 3) go offline 4) Proceed to checkin some items from patron 5) Proceed to checkout items to patrons, setting date 6) Proceed to checkout to expired patron, warning appears 7) go online 8) Upload records 9) go to review transacctions and proceed 10) verified on patrons that checkin/out are done Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
||
e86a951617 |
Bug 10649 - Upgrade DataTables and move scripts out of theme directory
This patch adds an upgraded copy of the DataTables plugin to the jQuery plugin directory outside the theme directories. Copies of the old DataTables plugin scripts have been left in the old location while templates are incrementally updated. To test, visit each affected page in Acquisitions and confirm that table sorting still words correctly: - Acquisitions home - Acquisitions -> Late orders - Acquisitions -> Order search - Acquisitions -> Ordered (from table of available funds) - Acquisitions -> Spent (from table of available funds) - Acquisitions -> Vendor search - Acquisitions -> Vendor detail - Acquisitions -> Vendor -> Basket - Acquisitions -> Vendor -> Basket -> Add order from existing record -> Add order from suggestion -> Add order from subscription -> Add order from external source -> Add order from staged file - Acquisitions -> Vendor -> Basket groups - Acquisitions -> Vendor -> Uncertain prices - Acquisitions -> Vendor -> Invoices - Acquisitions -> Vendor -> Invoices -> Invoice - Acquisitions -> Vendor -> Receive shipments - Acquisitions -> Vendor -> Receive shipments -> Receipt summary (click invoice number) Also test one or more pages which have not been modified to confirm that old DataTables assets are still in place and working (ex: Circulation, Quotes editor, Saved reports, etc.) Signed-off-by: Srdjan <srdjan@catalyst.net.nz> Edit: Rebased on current master Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> All tests und QA script pass. I found some smaller bugs, that also appeared on master without the patch applied. For some datatables I struggled with a result set of over 5.000 lines - there is room for improvement where a lot of data can be shown. testing notes: - Acquisitions home - Amounts don't sort correctly before and after the patch, see bug 10792. - Acquisitions -> Late orders - OK. - Acquisitions -> Order search - OK. - Acquisitions -> Ordered (from table of available funds) - OK. - Acquisitions -> Spent (from table of available funds) - OK. - Acquisitions -> Vendor detail - OK. - Acquisitions -> Vendor -> Basket - OK. - Acquisitions -> Vendor -> Basket -> Add order from existing record - Datatables seems not to be in use here? -> Add order from suggestion - OK. -> Add order from subscription - OK. -> Add order from external source - OK. -> Add order from staged file Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
|||
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> |
|||
a88b2b2670 |
Bug 9521: Move common jQuery assets to koha-tmpl/intranet-tmpl/lib
Assets which are not theme-specific can now be placed in koha-tmpl/intranet-tmpl/lib. This patch moves jQuery assets referenced by doc-head-close.inc to this location and corrects the path in the include. To test, load any page in the staff client which uses jQuery and confirm that there are no JavaScript errors. Test keyboard shortcuts (Alt-r, Alt-u, Alt-q), Search to hold functionality, and search term highlighting to confirm that jQuery plugins are working correctly. Revision corrects some additional instances in help-top.inc and removes a redundant call to the highlight script in preferences.tt Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> |
|||
Jared Camins-Esakov
|
83370c519c |
Bug 8523: Display auth hierarchies w/all marcflavours
This commit adds support for displaying authority hierarchies for all flavours of MARC, not just UNIMARC. Display now uses the jQuery jstree plugin, selected with the help of Owen Leonard, resulting in a much faster experience for users. Be aware that the jstree file uses tabs rather than 4-space indentation, which I left as-is so as to make it easier to integrate upstream releases in the future. To test: 1) Enable the AuthDisplayHierarchy syspref 2) Create authority records with a hierarchy of see also fields (in MARC21/NORMARC, you'll be using 5xx fields for this, with a subfield $w=g for broader terms and subfield $w=h for narrower terms) 3) View the authorities in the OPAC, noting the hierarchical view at the top of the page. This initial patch does not create bidirection linkages from unidirectional links in MARC21 authorities. This means that when moving up the authority hierarchy, lower levels will disappear. This is intentional, as the first patch is intended merely to ensure that AuthDisplayHierarchy functions the same for all marcflavours. A future patch will add a cron job to generate the bidirectional linkages, once we are sure that the hierarchy functionality for UNIMARC and MARC21/NORMARC coexists peaceably. Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Resolved conflicts in updatedatabase.pl, sysprefs.sql and in one of the CSS files. Test plan: 1) Run t/AuthoritiesMarc.t New tests complete without any errors. 2) Make sure updatedatabase works correctly. Update works nicely, new system preference is also added to syspref.sql 3) Make sure new terms are translatable. Created new po files for de-DE and checked for new terms. All translations appear correctly. 4) Make sure everything works with AuthDisplayHieararchy OFF - Add authority - Edit authority - Delete authority 5) Test feature with AuthDisplayHieararchy ON - Add authority - Edit authority - Delete authority 6) Add a couple of hierarchically linked authorities Note: links have to be created in both directions Example: 151 $aGermany 551 $a Baden-Württemberg $w h 151 $aBaden-Württemberg 551 $a Konstanz $w h 551 $a Germany $w g 151 $aKonstanz 551 $a Baden-Württemberg $w g 551 $a Fürstenberg $w h 551 $a Paradies $w h 151 $a Fürstenberg 551 $a Konstanz $w g 151 $a Paradies 551 $a Konstanz $w g Tree shows up nicely above the authority record - in staff - in OPAC - on the normal view tab - on the MARC view tab 7) Checking the logs for warnings - no Javascript errors or warnings - no warnings or errors in log files |