diff options
author | Udo Walter | 2016-12-23 17:24:05 +0100 |
---|---|---|
committer | Udo Walter | 2016-12-23 17:24:05 +0100 |
commit | 8c9c28df0401f0bc89ab1cfc05332e6e1727d0d3 (patch) | |
tree | e8150dc5aa84fadecc05190a2ab0017ae7c3b569 /modules-available/statistics_reporting | |
parent | [statistics_reporting] replaced empty location string (diff) | |
download | slx-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')
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(); |