Owen Leonard
1e40274411
This patch modifies the staff client "additional parameters" administration templates so that JavaScript is included in the footer instead of the header. To test, apply the patch and test the JavaScript-driven features of each page: All button controls, DataTables functionality, tabs, etc. Signed-off-by: Simon Pouchol <simon.pouchol@biblibre.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
338 lines
16 KiB
Text
338 lines
16 KiB
Text
[% SET footerjs = 1 %]
|
|
[% USE Koha %]
|
|
[% USE KohaDates %]
|
|
[% USE Price %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Administration › Koha usage statistics</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<link rel="stylesheet" href="[% interface %]/lib/leaflet/leaflet.css" />
|
|
</head>
|
|
|
|
<body id="admin_usage_statistics" class="admin">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'cat-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> › Usage statistics</div>
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
|
|
[% FOR m IN messages %]
|
|
<div class="dialog [% m.type %]">
|
|
[% SWITCH m.code %]
|
|
[% CASE 'error_on_update' %]
|
|
An error occurred when updating this patron category. Perhaps it already exists.
|
|
[% CASE 'error_on_insert' %]
|
|
An error occurred when inserting this patron category. The patron category might already exist.
|
|
[% CASE 'error_on_delete' %]
|
|
An error occurred when deleting this patron category. Check the logs.
|
|
[% CASE 'success_on_update' %]
|
|
Patron category updated successfully.
|
|
[% CASE 'success_on_insert' %]
|
|
Patron category inserted successfully.
|
|
[% CASE 'success_on_delete' %]
|
|
Patron category deleted successfully.
|
|
[% CASE 'already_exists' %]
|
|
This patron category already exists.
|
|
[% CASE %]
|
|
[% m.code %]
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
|
|
[% IF NOT Koha.Preference('UsageStats') %]
|
|
<div class="dialog message">You are not sharing any data with the Koha community</div>
|
|
[% END %]
|
|
|
|
<form id="category_form" action="/cgi-bin/koha/admin/usage_statistics.pl" method="post">
|
|
<h1>Modify the statistics you share with the Koha community</h1>
|
|
<fieldset class="rows">
|
|
<ol style="float:left;">
|
|
<li>
|
|
<label for="UsageStats">Share my Koha usage statistics: </label>
|
|
<select name="UsageStats" id="UsageStats">
|
|
[% IF Koha.Preference('UsageStats') %]
|
|
<option value="1" selected="selected">Yes</option>
|
|
<option value="0">No</option>
|
|
[% ELSE %]
|
|
<option value="1">Yes</option>
|
|
<option value="0" selected="selected">No</option>
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="UsageStatsCountry">Your country: </label>
|
|
[% SET UsageStatsCountry = Koha.Preference('UsageStatsCountry') %]
|
|
[% SET IsUsageStatsCountryValid = 0 %]
|
|
[% IF NOT UsageStatsCountry %]
|
|
[% SET IsUsageStatsCountryValid = 1 %]
|
|
[% END %]
|
|
[% PROCESS 'country-list.inc' %]
|
|
<select name="UsageStatsCountry" id="UsageStatsCountry">
|
|
<option value=""> </option>
|
|
[% FOR country IN countries %]
|
|
[% IF country == UsageStatsCountry %]
|
|
<option value="[% country %]" selected="selected">[% country %]</option>
|
|
[% SET IsUsageStatsCountryValid = 1 %]
|
|
[% ELSE %]
|
|
<option value="[% country %]">[% country %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
[% UNLESS IsUsageStatsCountryValid %]
|
|
Note: The value of your system preference 'UsageStatsCountry' is not valid ([% UsageStatsCountry %]).
|
|
Please select a valid one.
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="UsageStatsLibraryName">Library name: </label>
|
|
<input type="text" value="[% Koha.Preference('UsageStatsLibraryName') | html %]" name="UsageStatsLibraryName" id="UsageStatsLibraryName" />
|
|
</li>
|
|
<li>
|
|
<label for="UsageStatsLibraryType">Library type: </label>
|
|
[% SET UsageStatsLibraryType = Koha.Preference('UsageStatsLibraryType') %]
|
|
<select name="UsageStatsLibraryType" id="UsageStatsLibraryType">
|
|
<option value=""> </option>
|
|
[% IF UsageStatsLibraryType == 'public' %]
|
|
<option value="public" selected="selected">Public</option>
|
|
[% ELSE %]
|
|
<option value="public">Public</option>
|
|
[% END %]
|
|
|
|
[% IF UsageStatsLibraryType == 'school' %]
|
|
<option value="school" selected="selected">School</option>
|
|
[% ELSE %]
|
|
<option value="school">School</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'academic' %]
|
|
<option value="academic" selected="selected">Academic</option>
|
|
[% ELSE %]
|
|
<option value="academic">Academic</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'research' %]
|
|
<option value="research" selected="selected">Research</option>
|
|
[% ELSE %]
|
|
<option value="research">Research</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'private' %]
|
|
<option value="private" selected="selected">Private</option>
|
|
[% ELSE %]
|
|
<option value="private">Private</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'societyAssociation' %]
|
|
<option value="societyAssociation" selected="selected">Society or association</option>
|
|
[% ELSE %]
|
|
<option value="societyAssociation">Society or association</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'corporate' %]
|
|
<option value="corporate" selected="selected">Corporate</option>
|
|
[% ELSE %]
|
|
<option value="corporate">Corporate</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'government' %]
|
|
<option value="government" selected="selected">Government</option>
|
|
[% ELSE %]
|
|
<option value="government">Government</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'religiousOrg' %]
|
|
<option value="religiousOrg" selected="selected">Religious organization</option>
|
|
[% ELSE %]
|
|
<option value="religiousOrg">Religious organization</option>
|
|
[% END %]
|
|
[% IF UsageStatsLibraryType == 'subscription' %]
|
|
<option value="subscription" selected="selected">Subscription</option>
|
|
[% ELSE %]
|
|
<option value="subscription">Subscription</option>
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="UsageStatsLibraryUrl">Library URL: </label>
|
|
<input type="text" name="UsageStatsLibraryUrl" value="[% Koha.Preference('UsageStatsLibraryUrl') %]" id="UsageStatsLibraryUrl" />
|
|
</li>
|
|
<li>
|
|
<span class="label">Last update: </span>
|
|
[% IF UsageStatsLastUpdateTime %]
|
|
[% UsageStatsLastUpdateTime %]
|
|
[% ELSE %]
|
|
Your data have never been shared
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="UsageStatsGeolocation">Geolocation: </label>
|
|
<input id="UsageStatsGeolocation" name="UsageStatsGeolocation" value="[% Koha.Preference('UsageStatsGeolocation') %]" type="text" value="[% Koha.Preference('UsageStatsLibrariesInfo') %]" size="35" readonly="readonly" />
|
|
<a href="#" class="change_geolocation" data-branchname="" data-id="UsageStatsGeolocation"><img src="[% interface %]/lib/leaflet/images/marker-icon.png" title="Set geolocation" style="max-height: 2em;" /></a>
|
|
</li>
|
|
<li>
|
|
<label for="UsageStatsLibrariesInfo">Libraries informations: </label>
|
|
<select name="UsageStatsLibrariesInfo" id="UsageStatsLibrariesInfo">
|
|
[% IF Koha.Preference('UsageStatsLibrariesInfo') %]
|
|
<option value="1" selected="selected">Yes</option>
|
|
<option value="0">No</option>
|
|
[% ELSE %]
|
|
<option value="1">Yes</option>
|
|
<option value="0" selected="selected">No</option>
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
|
|
<li id="libraries_info">
|
|
<fieldset class="rows">
|
|
<legend>Libraries</legend>
|
|
<ol>
|
|
[% FOR l IN libraries %]
|
|
<li>
|
|
<label for="[% l.branchcode %]">[% l.branchname %]: </label>
|
|
<div style="float:left;">
|
|
<div>Country: [% l.branchcountry %]</div>
|
|
<div>Url: [% l.branchurl %]</div>
|
|
<div>
|
|
Geolocation: <input type="text" id="geolocation_[% l.branchcode %]" name="geolocation_[% l.branchcode %]" value="[% l.geolocation %]" size="35" readonly="readonly" />
|
|
<a href="#" class="change_geolocation" data-branchname="[% l.branchname %]" data-id="geolocation_[% l.branchcode %]"><img src="[% interface %]/lib/leaflet/images/marker-icon.png" title="Set geolocation for [% l.branchname %]" style="max-height: 2em;" /></a>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
</li>
|
|
<li>
|
|
<label for="MyPublicLink">See your public page: </label>
|
|
[% IF Koha.Preference('UsageStatsPublicID') %]
|
|
[% SET my_url = 'https://hea.koha-community.org/libraries/' _ Koha.Preference('UsageStatsPublicID') %]
|
|
<a href="[% my_url %]">[% my_url %]</a>
|
|
[% ELSE %]
|
|
You do not have anything public yet.
|
|
[% END %]
|
|
</li>
|
|
|
|
</ol>
|
|
<div style="clear:right"></div>
|
|
<div id="mapid" style="width: 600px; height: 400px; margin-left: 40%:"></div>
|
|
</fieldset>
|
|
|
|
<fieldset class="action">
|
|
<input type="hidden" name="op" value="update" />
|
|
<input type="submit" value="Update your statistics usage" />
|
|
<a class="cancel" href="/cgi-bin/koha/admin/usage_statistics.pl">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
[% INCLUDE 'admin-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
<script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
|
|
<script src="[% interface %]/lib/leaflet/leaflet.js"></script>
|
|
<script type="text/javascript">
|
|
function positionMap() {
|
|
var tbh = $("#mapid");
|
|
var mapContainer = tbh.parent();
|
|
mapContainer.css('position', 'relative');
|
|
mapContainer.css('min-height', tbh.outerHeight(true));
|
|
tbh.css('position', 'absolute');
|
|
tbh.css('right', 0);
|
|
|
|
var offsetTop = mapContainer.offset().top;
|
|
var s = parseInt($(window).scrollTop(), 10);
|
|
tbh.css('top', '').css('bottom', '');
|
|
if (s > offsetTop) {
|
|
var mapContainerOffsetBottom = offsetTop + mapContainer.innerHeight();
|
|
if (s + tbh.outerHeight(true) > mapContainerOffsetBottom) {
|
|
tbh.css('bottom', 0);
|
|
} else {
|
|
tbh.css('top', s - offsetTop);
|
|
}
|
|
} else {
|
|
tbh.css('top', 0);
|
|
}
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
$(window).scroll(positionMap);
|
|
positionMap();
|
|
});
|
|
|
|
var map = L.map('mapid').setView([0,0], 1);
|
|
|
|
L.tileLayer('https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
maxZoom: 18,
|
|
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
|
|
'<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
|
|
}).addTo(map);
|
|
|
|
var default_elt = { 'text': _("Main library"), 'id': 'UsageStatsGeolocation' };
|
|
var current_elt = default_elt;
|
|
|
|
// Add the title
|
|
var title = L.control({position: 'topright'});
|
|
title.onAdd = function (map) {
|
|
this._div = L.DomUtil.create('div', 'title');
|
|
this.update();
|
|
return this._div;
|
|
};
|
|
title.update = function (props) {
|
|
this._div.innerHTML = '<h4>' + _("Click on the map to set the geolocation for %s").format(current_elt.text) + '</h4>';
|
|
};
|
|
title.addTo(map);
|
|
|
|
var markers = {};
|
|
function add_to_map(elt, latlng) {
|
|
var marker = markers[elt.id];
|
|
if (marker) map.removeLayer(marker);
|
|
marker = L.marker(latlng).addTo(map);
|
|
marker.bindPopup(elt.text);
|
|
marker.on('mouseover', function (e) {this.openPopup(); });
|
|
marker.on('mouseout', function (e) {this.closePopup();});
|
|
markers[elt.id] = marker;
|
|
}
|
|
|
|
// Init the map
|
|
[% IF Koha.Preference('UsageStatsGeolocation') %]
|
|
var latlng = [ [% Koha.Preference('UsageStatsGeolocation') %] ];
|
|
add_to_map( current_elt, latlng );
|
|
[% END %]
|
|
[% FOR l IN libraries %]
|
|
[% NEXT UNLESS l.geolocation %]
|
|
add_to_map( { 'text': "[% l.branchname %]", 'id': "geolocation_[% l.branchcode %]" }, [ [% l.geolocation %] ] );
|
|
[% END %]
|
|
|
|
// On click, update the geolocation and the marker
|
|
map.on('click', function(e){
|
|
add_to_map( current_elt, e.latlng );
|
|
$("#" + current_elt.id).val(e.latlng.lat + ',' + e.latlng.lng);
|
|
});
|
|
|
|
// Auto zoom
|
|
var group = new L.featureGroup(Object.keys(markers).map(function(key){return markers[key]}));
|
|
if ( group.getBounds().isValid() ) map.fitBounds(group.getBounds());
|
|
|
|
// On click on the marker icons, update the title of the map
|
|
$(document).ready(function(){
|
|
$(".change_geolocation").on('click', function(e){
|
|
e.preventDefault();
|
|
if ( $(this).data('branchname') ) {
|
|
current_elt = { 'text': $(this).data('branchname'), 'id': $(this).data('id') };
|
|
} else {
|
|
current_elt = default_elt;
|
|
}
|
|
title.update();
|
|
});
|
|
$("#UsageStatsLibrariesInfo").change();
|
|
});
|
|
|
|
$("#UsageStatsLibrariesInfo").on('change', function(){
|
|
if ( $(this).val() == 1 ) $("#libraries_info").show()
|
|
else $("#libraries_info").hide();
|
|
positionMap();
|
|
});
|
|
|
|
</script>
|
|
[% END %]
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|