From ea1a7b1cc8785de29c3ae1b366d645dead60aad3 Mon Sep 17 00:00:00 2001 From: Martin Stenberg Date: Wed, 26 Aug 2015 20:22:30 +0200 Subject: [PATCH] Bug 14242: Use ISBN-field to automaticly fill out purchase suggestions Add new jQuery plugin "autofill" which transforms selected element(s) into search fields for Google Books API and automaticly fills requested fields with search result. Use in OPAC purchase suggestions to automaticly fill out fields when entering ISBN-number. Test plan: 1. Run updatedatabase.pl 2. Enable system precference "OPACAutoFill" 3. Log into OPAC and go to purchase suggetions page 4. Write a valid ISBN into the ISBN field and press the edit icon next to the field, or unfocus the field. 5. Title, Author, Publisher and Item Type fields should now be filled automaticly. 6. Press "undo" to undo - should restore all changed fields to original values Tested all patches together, works as expected. Signed-off-by: Marc --- .../atomicupdate/bug_14242-autofill_syspref.sql | 1 + installer/data/mysql/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/opac.pref | 7 + .../bootstrap/en/includes/opac-bottom.inc | 4 + .../bootstrap/en/modules/opac-suggestions.tt | 24 ++- koha-tmpl/opac-tmpl/bootstrap/js/autofill.js | 202 +++++++++++++++++++++ 6 files changed, 237 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_14242-autofill_syspref.sql create mode 100644 koha-tmpl/opac-tmpl/bootstrap/js/autofill.js diff --git a/installer/data/mysql/atomicupdate/bug_14242-autofill_syspref.sql b/installer/data/mysql/atomicupdate/bug_14242-autofill_syspref.sql new file mode 100644 index 0000000..3cb4ffb --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_14242-autofill_syspref.sql @@ -0,0 +1 @@ +INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`,`type`) VALUES ('OPACAutoFill', '0', NULL, 'Automaticly fill forms with data from Google Books API','YesNo'); diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index d142b14..adf5cab 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -329,6 +329,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OAI-PMH:DeletedRecord','persistent','Koha\'s deletedbiblio table will never be deleted (persistent), might be deleted (transient), or will never have any data in it (no)','transient|persistent|no','Choice'), ('OAI-PMH:MaxCount','50',NULL,'OAI-PMH maximum number of records by answer to ListRecords and ListIdentifiers queries','Integer'), ('OPACAcquisitionDetails','0','','Show the acquisition details at the OPAC','YesNo'), +('OPACAutoFill','0',NULL,'Automaticly fill forms with data from Google Books API','YesNo'), ('OpacAddMastheadLibraryPulldown','0','','Adds a pulldown menu to select the library to search on the opac masthead.','YesNo'), ('OpacAdvSearchMoreOptions','pubdate,itemtype,language,subtype,sorting,location','Show search options for the expanded view (More options)','pubdate|itemtype|language|subtype|sorting|location','multiple'), ('OpacAdvSearchOptions','pubdate,itemtype,language,sorting,location','Show search options','pubdate|itemtype|language|subtype|sorting|location','multiple'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index da1d865..db1bf07 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -513,6 +513,13 @@ OPAC: no: Don't display - a branch selection list for news items in the OPAC. - + - pref: OPACAutoFill + default: 0 + choices: + yes: Enable + no: Disable + - automatic form filling with data from Google Books API. + - - "Use the following as the OPAC ISBD template:" - pref: OPACISBD type: textarea diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc index fa7459d..168c3e6 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc @@ -250,6 +250,10 @@ $.widget.bridge('uitooltip', $.ui.tooltip); [% END %] +[% IF ( Koha.Preference('OPACAutoFill') ) %] + +[% END %] + [% IF ( BakerTaylorEnabled ) %] [% Asset.js("js/bakertaylorimages.js") | $raw %]