summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics_reporting
diff options
context:
space:
mode:
authorUdo Walter2016-12-23 17:24:05 +0100
committerUdo Walter2016-12-23 17:24:05 +0100
commit8c9c28df0401f0bc89ab1cfc05332e6e1727d0d3 (patch)
treee8150dc5aa84fadecc05190a2ab0017ae7c3b569 /modules-available/statistics_reporting
parent[statistics_reporting] replaced empty location string (diff)
downloadslx-admin-8c9c28df0401f0bc89ab1cfc05332e6e1727d0d3.tar.gz
slx-admin-8c9c28df0401f0bc89ab1cfc05332e6e1727d0d3.tar.xz
slx-admin-8c9c28df0401f0bc89ab1cfc05332e6e1727d0d3.zip
[statistics_reporting] added location column in client table
Diffstat (limited to 'modules-available/statistics_reporting')
-rw-r--r--modules-available/statistics_reporting/inc/statisticreporting.inc.php8
-rw-r--r--modules-available/statistics_reporting/lang/de/template-tags.json3
-rw-r--r--modules-available/statistics_reporting/lang/en/template-tags.json3
-rw-r--r--modules-available/statistics_reporting/templates/_page.html4
-rw-r--r--modules-available/statistics_reporting/templates/columnChooser.html12
5 files changed, 24 insertions, 6 deletions
diff --git a/modules-available/statistics_reporting/inc/statisticreporting.inc.php b/modules-available/statistics_reporting/inc/statisticreporting.inc.php
index 9941b078..b75c6eaa 100644
--- a/modules-available/statistics_reporting/inc/statisticreporting.inc.php
+++ b/modules-available/statistics_reporting/inc/statisticreporting.inc.php
@@ -5,8 +5,9 @@ class StatisticReporting
{
public static function getClientStatistics($cutOff, $lowerTimeBound = 0, $upperTimeBound = 24) {
+ $notassigned = Dictionary::translateFile('template-tags', 'lang_notassigned');
$res = Database::simpleQuery("SELECT t1.name, timeSum, medianTime, offlineSum, longSessions, lastLogout, lastStart, shortSessions, locName FROM (
- SELECT machine.hostname AS 'name', machine.machineuuid AS 'uuid', SUM(CAST(sessionTable.length AS UNSIGNED)) AS 'timeSum', GROUP_CONCAT(sessionTable.length) AS 'medianTime', SUM(sessionTable.length >= 60) AS 'longSessions', SUM(sessionTable.length < 60) AS 'shortSessions',MAX(sessionTable.dateline + sessionTable.data) AS 'lastLogout', IFNULL(location.locationname, 'NOT ASSIGNED') AS 'locName'
+ SELECT machine.hostname AS 'name', machine.machineuuid AS 'uuid', SUM(CAST(sessionTable.length AS UNSIGNED)) AS 'timeSum', GROUP_CONCAT(sessionTable.length) AS 'medianTime', SUM(sessionTable.length >= 60) AS 'longSessions', SUM(sessionTable.length < 60) AS 'shortSessions',MAX(sessionTable.dateline + sessionTable.data) AS 'lastLogout', IFNULL(location.locationname, '$notassigned') AS 'locName'
FROM ".self::getBoundedTableQueryString('~session-length', $lowerTimeBound, $upperTimeBound, $cutOff)." sessionTable
INNER JOIN machine ON sessionTable.machineuuid = machine.machineuuid
LEFT JOIN location ON machine.locationid = location.locationid
@@ -24,15 +25,16 @@ class StatisticReporting
// IFNULL(location.locationname, 'NOT ASSIGNED') - NOT ASSIGNED string can be replaced with anything (name of the null-ids in the table)
public static function getLocationStatistics($cutOff, $lowerTimeBound = 0, $upperTimeBound = 24) {
+ $notassigned = Dictionary::translateFile('template-tags', 'lang_notassigned');
$res = Database::simpleQuery("SELECT t1.locName, timeSum, medianTime, offlineSum, longSessions, shortSessions FROM (
- SELECT IFNULL(location.locationname, 'NOT ASSIGNED') AS 'locName', SUM(CAST(sessionTable.length AS UNSIGNED)) AS 'timeSum', GROUP_CONCAT(sessionTable.length) AS 'medianTime', SUM(sessionTable.length >= 60) AS 'longSessions', SUM(sessionTable.length < 60) AS 'shortSessions'
+ SELECT IFNULL(location.locationname, '$notassigned') AS 'locName', SUM(CAST(sessionTable.length AS UNSIGNED)) AS 'timeSum', GROUP_CONCAT(sessionTable.length) AS 'medianTime', SUM(sessionTable.length >= 60) AS 'longSessions', SUM(sessionTable.length < 60) AS 'shortSessions'
FROM ".self::getBoundedTableQueryString('~session-length', $lowerTimeBound, $upperTimeBound, $cutOff)." sessionTable
INNER JOIN machine ON sessionTable.machineuuid = machine.machineuuid
LEFT JOIN location ON machine.locationid = location.locationid
GROUP BY location.locationname
) t1
INNER JOIN (
- SELECT IFNULL(location.locationname, 'NOT ASSIGNED') AS 'locName', SUM(CAST(offlineTable.length AS UNSIGNED)) AS 'offlineSum'
+ SELECT IFNULL(location.locationname, '$notassigned') AS 'locName', SUM(CAST(offlineTable.length AS UNSIGNED)) AS 'offlineSum'
FROM ".self::getBoundedTableQueryString('~offline-length', $lowerTimeBound, $upperTimeBound, $cutOff)." offlineTable
INNER JOIN machine ON offlineTable.machineuuid = machine.machineuuid
LEFT JOIN location ON machine.locationid = location.locationid
diff --git a/modules-available/statistics_reporting/lang/de/template-tags.json b/modules-available/statistics_reporting/lang/de/template-tags.json
index 207949a9..841e87bd 100644
--- a/modules-available/statistics_reporting/lang/de/template-tags.json
+++ b/modules-available/statistics_reporting/lang/de/template-tags.json
@@ -26,5 +26,6 @@
"lang_last14": "Letzten 14 Tage",
"lang_last30": "Letzten 30 Tage",
"lang_last90": "Letzten 90 Tage",
- "lang_apply": "Anwenden"
+ "lang_apply": "Anwenden",
+ "lang_notassigned": "NICHT ZUGEWIESEN"
} \ No newline at end of file
diff --git a/modules-available/statistics_reporting/lang/en/template-tags.json b/modules-available/statistics_reporting/lang/en/template-tags.json
index e9430960..73b3c2fc 100644
--- a/modules-available/statistics_reporting/lang/en/template-tags.json
+++ b/modules-available/statistics_reporting/lang/en/template-tags.json
@@ -26,5 +26,6 @@
"lang_last14": "Last 14 days",
"lang_last30": "Last 30 days",
"lang_last90": "Last 90 days",
- "lang_apply": "Apply"
+ "lang_apply": "Apply",
+ "lang_notassigned": "NOT ASSIGNED"
} \ No newline at end of file
diff --git a/modules-available/statistics_reporting/templates/_page.html b/modules-available/statistics_reporting/templates/_page.html
index d2aaecde..fbdde6d5 100644
--- a/modules-available/statistics_reporting/templates/_page.html
+++ b/modules-available/statistics_reporting/templates/_page.html
@@ -41,7 +41,7 @@
<tbody>
{{#perLocation}}
<tr>
- <td class="text-left">{{location}}</td>
+ <td class="locationName text-left">{{location}}</td>
<td data-sort-value="{{timeInSeconds}}" class="text-left column-totaltime">{{time}}</td>
<td data-sort-value="{{medianTimeInSeconds}}" class="text-left column-mediantime">{{medianTime}}</td>
<td class="text-left column-sessions">{{sessions}}</td>
@@ -59,6 +59,7 @@
<thead>
<tr>
<th data-sort="string" class="text-left col-md-4">{{lang_hostname}}</th>
+ <th data-sort="string" class="text-left column-location">{{lang_location}}</th>
<th data-sort="int" data-sort-default="desc" class="text-left column-totaltime">{{lang_totalTime}}</th>
<th data-sort="int" data-sort-default="desc" class="text-left column-mediantime">{{lang_medianSessionLength}}</th>
<th data-sort="int" data-sort-default="desc" class="text-left column-sessions">{{lang_sessions}}</th>
@@ -72,6 +73,7 @@
{{#perClient}}
<tr>
<td class="text-left">{{hostname}}</td>
+ <td class="text-left column-location"><a class="locationLink" href="#">{{locationName}}</a></td>
<td data-sort-value="{{timeInSeconds}}" class="text-left column-totaltime">{{time}}</td>
<td data-sort-value="{{medianTimeInSeconds}}" class="text-left column-mediantime">{{medianTime}}</td>
<td class="text-left column-sessions">{{sessions}}</td>
diff --git a/modules-available/statistics_reporting/templates/columnChooser.html b/modules-available/statistics_reporting/templates/columnChooser.html
index 49c9a75d..06cd6770 100644
--- a/modules-available/statistics_reporting/templates/columnChooser.html
+++ b/modules-available/statistics_reporting/templates/columnChooser.html
@@ -24,6 +24,7 @@
<button id="applybound" type="button" class="btn btn-sm btn-primary" onclick="reloadPage()">{{lang_apply}}</button>
</div>
<div class="col-md-12 buttonbar">
+ <button id="button-location" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('location')">{{lang_location}}</button>
<button id="button-totaltime" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('totaltime')">{{lang_totalTime}}</button>
<button id="button-mediantime" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('mediantime')">{{lang_medianSessionLength}}</button>
<button id="button-sessions" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('sessions')">{{lang_sessions}}</button>
@@ -69,9 +70,20 @@
var arrow = data.direction === dir.ASC ? "down" : "up";
th.eq(data.column).append(' <span class="arrow glyphicon glyphicon-chevron-'+arrow+'"></span>');
});
+
+ $(".locationLink").click(function(e) {
+ e.preventDefault();
+ $('#select-table').val('perlocation');
+ chooseTable('perlocation');
+ var target = $(".locationName:contains('"+$(this).text()+"'):first");
+ $(window).scrollTop(target.offset().top - $(window).height()/2);
+ target.parent().css( "background-color", "#f8ff99" );
+ return false;
+ });
});
function chooseTable(v) {
+ $("tr").removeAttr('style');
$("[id^=table-]").hide();
$('#table-'+v).show();
$("[id^=button-]").hide();