From 1192eaa5f6695244b45a08aa31e7f9a0fc0e673f Mon Sep 17 00:00:00 2001 From: Kyle M Hall <kyle@bywatersolutions.com> Date: Mon, 5 Nov 2012 12:22:24 -0500 Subject: [PATCH] [SIGNED-OFF] Bug 9009 - Add separate user js and css for SCO module Content-Type: text/plain; charset="utf-8" Add system preferences SCOUserCSS and SCOUserJS to define separate CSS and JavaScript for the Self Checkout Module. Test plan: 1) Apply patch 2) Run updatedatabase.pl 3) Add something arbitrary to the new sysprefs SCOUserCSS and SCOUserJS ( such as TestCSS and TestJS ). 4) Load the SCO module in a browser, and view the HTML, verify the CSS and JS values in the system preferences have been included. Signed-off-by: Marc Veron <veron@veron.ch> I tested with an alert('hello') as JavaScript and some background-color for the CSS. Worked as expected. --- installer/data/mysql/sysprefs.sql | 2 ++ installer/data/mysql/updatedatabase.pl | 8 ++++++++ .../en/modules/admin/preferences/circulation.pref | 10 ++++++++++ koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tt | 3 +++ koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tt | 2 ++ .../opac-tmpl/prog/en/modules/sco/sco-main.tt | 3 ++- opac/sco/help.pl | 5 +++++ opac/sco/sco-main.pl | 5 +++++ 8 files changed, 37 insertions(+), 1 deletions(-) diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 0cc5a54..e63dc0b 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -388,3 +388,5 @@ INSERT INTO systempreferences (variable, value, options, explanation, type) VALU INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('alphabet','A B C D E F G H I J K L M N O P Q R S T U V W X Y Z','Alphabet than can be expanded into browse links, e.g. on Home > Patrons',NULL,'free'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('RefundLostItemFeeOnReturn', '1', 'If enabled, the lost item fee charged to a borrower will be refunded when the lost item is returned.', NULL, 'YesNo'); +INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('SCOUserCSS', '', NULL, 'Add CSS to be included in the SCO module in an embedded <style> tag.', 'free'); +INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('SCOUserJS', '', NULL, 'Define custom javascript for inclusion in the SCO module', 'free'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index a6af263..9812653 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -6114,6 +6114,14 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.09.00.XXX"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do("INSERT INTO systempreferences ( variable, value, explanation, type ) VALUES ( 'SCOUserCSS', '', 'Add CSS to be included in the SCO module in an embedded <style> tag.', 'free' )"); + $dbh->do("INSERT INTO systempreferences ( variable, value, explanation, type ) VALUES ( 'SCOUserJS', '', 'Define custom javascript for inclusion in the SCO module', 'free' )"); + print "Upgrade to $DBversion done (Add SCOUserCSS and SCOUserJS sysprefs)\n"; + SetVersion ($DBversion); +} + =head1 FUNCTIONS =head2 TableExists($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref index c188d80..8a166af 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -460,6 +460,16 @@ Circulation: - lost item fees charged to a borrower when the lost item is returned. Self Checkout: - + - "Include the following JavaScript on all pages in the web-based self checkout:" + - pref: SCOUserJS + type: textarea + class: code + - + - "Include the following CSS on all pages in the web-based self checkout:" + - pref: SCOUserCSS + type: textarea + class: code + - - pref: ShowPatronImageInWebBasedSelfCheck choices: yes: Show diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tt b/koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tt index 32b4f56..f2fa3a9 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tt @@ -6,6 +6,9 @@ <link rel="stylesheet" type="text/css" href="[% yuipath %]/reset-fonts-grids.css" /> <link rel="stylesheet" type="text/css" href="[% yuipath %]/skin.css" /> <link rel="stylesheet" type="text/css" href="[% themelang %]/css/sco.css" /> +[% IF ( SCOUserCSS ) %]<style type="text/css">[% SCOUserCSS %]</style>[% END %] + +[% IF ( SCOUserJS ) %]<script type="text/javascript">[% SCOUserJS %]</script>[% END %] </head> <body> <div id="doc" class="yui-t7"> diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tt b/koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tt index 8178412..7e363d2 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tt @@ -26,6 +26,8 @@ function closeNow() } </script> +[% IF ( SCOUserCSS ) %]<style type="text/css">[% SCOUserCSS %]</style>[% END %] +[% IF ( SCOUserJS ) %]<script type="text/javascript">[% SCOUserJS %]</script>[% END %] </head> diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt index 66cace5..0366df9 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt @@ -95,12 +95,13 @@ $(document).ready(function() { </script> [% IF ( opacuserjs ) %]<script type="text/javascript">[% opacuserjs %]</script>[% END %] - +[% IF ( SCOUserJS ) %]<script type="text/javascript">[% SCOUserJS %]</script>[% END %] <link rel="stylesheet" type="text/css" href="[% yuipath %]/reset-fonts-grids.css" /> <link rel="stylesheet" type="text/css" href="[% yuipath %]/skin.css" /> <link rel="stylesheet" type="text/css" href="[% themelang %]/css/sco.css" /> [% IF ( OPACUserCSS ) %]<style type="text/css">[% OPACUserCSS %]</style>[% END %] +[% IF ( SCOUserCSS ) %]<style type="text/css">[% SCOUserCSS %]</style>[% END %] </head> <body onload="dofocus();"> diff --git a/opac/sco/help.pl b/opac/sco/help.pl index b3f4398..abcb396 100755 --- a/opac/sco/help.pl +++ b/opac/sco/help.pl @@ -52,5 +52,10 @@ if (C4::Context->preference('SelfCheckHelpMessage')) { $template->param(SelfCheckHelpMessage => C4::Context->preference('SelfCheckHelpMessage')); } +$template->param( + SCOUserJS => C4::Context->preference('SCOUserJS'), + SCOUserCSS => C4::Context->preference('SCOUserCSS'), +); + output_html_with_http_headers $query, $cookie, $template->output; diff --git a/opac/sco/sco-main.pl b/opac/sco/sco-main.pl index 26a8774..58ac2c6 100755 --- a/opac/sco/sco-main.pl +++ b/opac/sco/sco-main.pl @@ -263,4 +263,9 @@ if ($borrower->{cardnumber}) { ); } +$template->param( + SCOUserJS => C4::Context->preference('SCOUserJS'), + SCOUserCSS => C4::Context->preference('SCOUserCSS'), +); + output_html_with_http_headers $query, $cookie, $template->output; -- 1.7.2.5