ed7543287b
Having to write [% KOHA_VERSION %] for each url is bad because: - It's easily forgettable when adding new <script> or <link> - It prevents grep'ing for the full filename - It violates the DRY principle - If at some point we want to change the "force js and css reload" mechanism, it will be tedious This patch: - adds a Template::Toolkit plugin that generates <script> and <link> tags for JS and CSS files, and inserts automatically the Koha version in the filename - use the new plugin to remove all occurences of [% KOHA_VERSION %] - remove the code that was adding KOHA_VERSION as a template variable Test plan: 1. Apply patch 2. Go to several different pages in Koha (opac and intranet) while checking your browser's dev tools (there should be no 404 for JS and CSS files, and the Koha version should appear in filenames) and the server logs (there should be no "File not found") 3. `git grep KOHA_VERSION` should return nothing 4. prove t/db_dependent/Koha/Template/Plugin/Asset.t Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
120 lines
5.1 KiB
Text
120 lines
5.1 KiB
Text
[% USE Asset %]
|
|
[% SET footerjs = 1 %]
|
|
[% BLOCK pluginlist %]
|
|
<div class="pluginlist">
|
|
[% FOREACH plugin IN plugins %]
|
|
<div class="plugin">
|
|
<div class="pluginname">
|
|
[% IF plugin.enabled %]<input type="checkbox" checked="checked" id="checkbox_[% type %][% plugin.name %]">[% ELSE %]<input type="checkbox" id="checkbox_[% type %][% plugin.name %]">[% END %]
|
|
<label class='pluginlabel' for="checkbox_[% type %][% plugin.name %]">[% plugin.name %]</label></div>
|
|
<div class="plugindesc">
|
|
[% SWITCH plugin.name %]
|
|
[% CASE 'AuthorityFile' %]
|
|
Suggest authorities which are relevant to the term the user searched for.
|
|
[% CASE 'ExplodedTerms' %]
|
|
Suggest that patrons expand their searches to include
|
|
broader/narrower/related terms.
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Administration › Did you mean?</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
</head>
|
|
|
|
<body id="admin_didyoumean" class="admin">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'prefs-admin-search.inc' %]
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › Did you mean?</div>
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
<h3>Did you mean?</h3>
|
|
<noscript><div class="dialog alert"><strong>Please enable Javascript:</strong>
|
|
Configuring 'Did you mean?' plugins requires Javascript. If
|
|
you are unable to use Javascript, you may be able to enter the
|
|
configuration (which is stored in JSON in the OPACdidyoumean and
|
|
INTRAdidyoumean system preferences) in the Local Preferences tab in
|
|
the system preference editor, but this is unsupported, not
|
|
recommended, and likely will not work.</div></noscript>
|
|
<div id="didyoumeanlegend">
|
|
Please put the 'Did you mean?' plugins in order by significance, from
|
|
most significant to least significant, and check the box to enable those
|
|
plugins that you want to use. (NOTE: 'Did you mean?' functionality
|
|
is not yet enabled on the staff client)
|
|
</div>
|
|
<form action="/cgi-bin/koha/admin/didyoumean.pl" method="post">
|
|
<fieldset id="didyoumeanopac">
|
|
<legend>OPAC</legend>
|
|
[% PROCESS pluginlist plugins=OPACpluginlist type='opac' %]
|
|
</fieldset>
|
|
<fieldset id="didyoumeanintranet">
|
|
<legend>Intranet</legend>
|
|
[% PROCESS pluginlist plugins=INTRApluginlist type='intranet' %]
|
|
</fieldset>
|
|
<fieldset class="action"><button class="save-all submit" type="submit">Save configuration</button> <a href="/cgi-bin/koha/admin/didyoumean.pl" class="force_reload cancel">Cancel</a></fieldset>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
[% INCLUDE 'admin-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% Asset.js("js/admin-menu.js") %]
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
$( ".pluginlist" ).sortable();
|
|
$( ".plugin" ).addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" )
|
|
.find( ".pluginname" )
|
|
.addClass( "ui-widget-header ui-corner-all" )
|
|
.end()
|
|
.find( ".plugindesc" );
|
|
$(".save-all").on("click",function(e){
|
|
e.preventDefault();
|
|
yesimeant();
|
|
});
|
|
$(".force_reload").on("click",function(e){
|
|
e.preventDefault();
|
|
window.location.reload(true);
|
|
});
|
|
});
|
|
|
|
function yesimeant() {
|
|
var OPACdidyoumean = serialize_plugins('opac');
|
|
var INTRAdidyoumean = serialize_plugins('intranet');
|
|
|
|
var data = "pref_OPACdidyoumean=" + encodeURIComponent(OPACdidyoumean) + "&pref_INTRAdidyoumean=" + encodeURIComponent(INTRAdidyoumean);
|
|
|
|
$.ajax({
|
|
data: data,
|
|
type: 'POST',
|
|
url: '/cgi-bin/koha/svc/config/systempreferences/',
|
|
success: function () { alert(_("Successfully saved configuration")); },
|
|
});
|
|
return false;
|
|
}
|
|
|
|
function serialize_plugins(interface) {
|
|
var serializedconfig = '[';
|
|
$('#didyoumean' + interface + ' .pluginlist .plugin').each(function(index) {
|
|
var name = $(this).find('.pluginlabel').text();
|
|
var enabled = $(this).find('input:checkbox:checked').length ?
|
|
', "enabled": 1' : '';
|
|
serializedconfig += '{ "name": "' + name + '"' + enabled + '}, ';
|
|
});
|
|
serializedconfig = serializedconfig.substring(0, serializedconfig.length - 2);
|
|
serializedconfig += ']';
|
|
return serializedconfig;
|
|
}
|
|
</script>
|
|
[% END %]
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|