From 0ef9f9d3b468c9a4bf3c37dbb7eb2d2593c8f3ad Mon Sep 17 00:00:00 2001 From: Robert Anderson <randerson@lbsd.net> Date: Thu, 15 Jul 2010 07:48:33 +0000 Subject: [PATCH] Show usage summary only related to current month List current topups and usages --- webgui/ajax.php | 4 + .../include/ajax/functions/AdminUserLogs.php | 100 +++++++++++++++--- .../include/ajax/functions/WiSPUserLogs.php | 100 +++++++++++++++--- webgui/js/app/windows/AdminUserLogs.js | 65 +++++++++--- webgui/js/app/windows/WiSPUserLogs.js | 65 +++++++++--- 5 files changed, 274 insertions(+), 60 deletions(-) diff --git a/webgui/ajax.php b/webgui/ajax.php index 0c626fd4..37a1dc54 100644 --- a/webgui/ajax.php +++ b/webgui/ajax.php @@ -370,6 +370,8 @@ $res->addField('uptimeUsage','int'); $res->addField('trafficTopups','int'); $res->addField('uptimeTopups','int'); + $res->addField('AllTrafficTopups','array'); + $res->addField('AllUptimeTopups','array'); $res->parseHash($rawData); $res->setDatasetSize($numResults); @@ -389,6 +391,8 @@ $res->addField('uptimeUsage','int'); $res->addField('trafficTopups','int'); $res->addField('uptimeTopups','int'); + $res->addField('AllTrafficTopups','array'); + $res->addField('AllUptimeTopups','array'); $res->parseHash($rawData); $res->setDatasetSize($numResults); diff --git a/webgui/include/ajax/functions/AdminUserLogs.php b/webgui/include/ajax/functions/AdminUserLogs.php index 5f6587df..dd3f6b9d 100644 --- a/webgui/include/ajax/functions/AdminUserLogs.php +++ b/webgui/include/ajax/functions/AdminUserLogs.php @@ -82,8 +82,10 @@ function getAdminUserLogsSummary($params) { $res = DBSelect(" SELECT @TP@topups_summary.Balance, + @TP@topups.ID, @TP@topups.Type, - @TP@topups.Value + @TP@topups.Value, + @TP@topups.ValidTo FROM @TP@topups_summary, @TP@topups @@ -107,6 +109,8 @@ function getAdminUserLogsSummary($params) { $i = 0; while ($row = $res->fetchObject()) { $topups[$i] = array(); + $topups[$i]['ID'] = $row->id; + $topups[$i]['ValidTo'] = $row->validto; $topups[$i]['Type'] = $row->type; $topups[$i]['CurrentLimit'] = $row->balance; $topups[$i]['Limit'] = $row->value; @@ -118,7 +122,7 @@ function getAdminUserLogsSummary($params) { $periodKeyEnd->modify("+1 month"); $res = DBSelect(" SELECT - Value, Type + ID, Value, Type, ValidTo FROM @TP@topups WHERE @@ -139,6 +143,8 @@ function getAdminUserLogsSummary($params) { # Store normal topups while ($row = $res->fetchObject()) { $topups[$i] = array(); + $topups[$i]['ID'] = $row->id; + $topups[$i]['ValidTo'] = $row->validto; $topups[$i]['Type'] = $row->type; $topups[$i]['Limit'] = $row->value; $i++; @@ -194,34 +200,69 @@ function getAdminUserLogsSummary($params) { # Loop through topups and add to return array $resultArray['trafficTopups'] = 0; $resultArray['uptimeTopups'] = 0; + # Traffic and uptime topups + $resultArray['AllTrafficTopups'] = array(); + $resultArray['AllUptimeTopups'] = array(); + $t = 0; $u = 0; foreach ($topups as $topupItem) { if ($topupItem['Type'] == 1) { # Topup not currently in use if ($excessTraffic <= 0) { - $resultArray['trafficUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; # Set total available topups - $resultArray['trafficTopups'] += $topupItem['Limit']; + $resultArray['trafficTopups'] += isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; # Topup currently in use } elseif (!isset($topupItem['CurrentLimit']) && $excessTraffic < $topupItem['Limit']) { + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = $excessTraffic; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; + # Set total available topups $resultArray['trafficTopups'] += $topupItem['Limit']; # If we hit this topup then all the rest of them are available $excessTraffic = 0; } elseif (isset($topupItem['CurrentLimit']) && $excessTraffic < $topupItem['CurrentLimit']) { - $resultArray['trafficUsage'] += ($topupItem['Limit'] - $topupItem['CurrentLimit']); + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = ($topupItem['Limit'] - $topupItem['CurrentLimit']) + $excessTraffic; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; # Set total available topups - $resultArray['trafficTopups'] += $topupItem['Limit']; + $resultArray['trafficTopups'] += $topupItem['CurrentLimit']; # If we hit this topup then all the rest of them are available $excessTraffic = 0; # Topup has been used up } else { - $resultArray['trafficUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; - $resultArray['trafficTopups'] += $topupItem['Limit']; + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; + + $resultArray['trafficTopups'] += isset($topupItem['CurrentLimit']) ? $topupITem['CurrentLimit'] : $topupItem['Limit']; # Subtract this topup from excessTraffic usage $excessTraffic -= isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; @@ -230,30 +271,61 @@ function getAdminUserLogsSummary($params) { if ($topupItem['Type'] == 2) { # Topup not currently in use if ($excessUptime <= 0) { - $resultArray['uptimeUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; # Set total available topups - $resultArray['uptimeTopups'] += $topupItem['Limit']; + $resultArray['uptimeTopups'] += isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; # Topup currently in use } elseif (!isset($topupItem['CurrentLimit']) && $excessUptime < $topupItem['Limit']) { + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = $excessTraffic; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; + # Set total available topups $resultArray['uptimeTopups'] += $topupItem['Limit']; # If we hit this topup then all the rest of them are available $excessUptime = 0; } elseif (isset($topupItem['CurrentLimit']) && $excessUptime < $topupItem['CurrentLimit']) { - $resultArray['uptimeUsage'] += ($topupItem['Limit'] - $topupItem['CurrentLimit']); + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = ($topupItem['Limit'] - $topupItem['CurrentLimit']) + $excessTraffic; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; # Set total available topups - $resultArray['uptimeTopups'] += $topupItem['Limit']; + $resultArray['uptimeTopups'] += $topupItem['CurrentLimit']; # If we hit this topup then all the rest of them are available $excessUptime = 0; # Topup has been used up } else { - $resultArray['uptimeUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; - $resultArray['uptimeTopups'] += $topupItem['Limit']; + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; + + $resultArray['uptimeTopups'] += isset($topupItem['CurrentLimit']) ? $topupITem['CurrentLimit'] : $topupItem['Limit']; # Subtract this topup from excessUptime usage $excessUptime -= isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; diff --git a/webgui/include/ajax/functions/WiSPUserLogs.php b/webgui/include/ajax/functions/WiSPUserLogs.php index dfa292b1..1850baa0 100644 --- a/webgui/include/ajax/functions/WiSPUserLogs.php +++ b/webgui/include/ajax/functions/WiSPUserLogs.php @@ -82,8 +82,10 @@ function getWiSPUserLogsSummary($params) { $res = DBSelect(" SELECT @TP@topups_summary.Balance, + @TP@topups.ID, @TP@topups.Type, - @TP@topups.Value + @TP@topups.Value, + @TP@topups.ValidTo FROM @TP@topups_summary, @TP@topups @@ -107,6 +109,8 @@ function getWiSPUserLogsSummary($params) { $i = 0; while ($row = $res->fetchObject()) { $topups[$i] = array(); + $topups[$i]['ID'] = $row->id; + $topups[$i]['ValidTo'] = $row->validto; $topups[$i]['Type'] = $row->type; $topups[$i]['CurrentLimit'] = $row->balance; $topups[$i]['Limit'] = $row->value; @@ -118,7 +122,7 @@ function getWiSPUserLogsSummary($params) { $periodKeyEnd->modify("+1 month"); $res = DBSelect(" SELECT - Value, Type + ID, Value, Type, ValidTo FROM @TP@topups WHERE @@ -139,6 +143,8 @@ function getWiSPUserLogsSummary($params) { # Store normal topups while ($row = $res->fetchObject()) { $topups[$i] = array(); + $topups[$i]['ID'] = $row->id; + $topups[$i]['ValidTo'] = $row->validto; $topups[$i]['Type'] = $row->type; $topups[$i]['Limit'] = $row->value; $i++; @@ -194,34 +200,69 @@ function getWiSPUserLogsSummary($params) { # Loop through topups and add to return array $resultArray['trafficTopups'] = 0; $resultArray['uptimeTopups'] = 0; + # Traffic and uptime topups + $resultArray['AllTrafficTopups'] = array(); + $resultArray['AllUptimeTopups'] = array(); + $t = 0; $u = 0; foreach ($topups as $topupItem) { if ($topupItem['Type'] == 1) { # Topup not currently in use if ($excessTraffic <= 0) { - $resultArray['trafficUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; # Set total available topups - $resultArray['trafficTopups'] += $topupItem['Limit']; + $resultArray['trafficTopups'] += isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; # Topup currently in use } elseif (!isset($topupItem['CurrentLimit']) && $excessTraffic < $topupItem['Limit']) { + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = $excessTraffic; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; + # Set total available topups $resultArray['trafficTopups'] += $topupItem['Limit']; # If we hit this topup then all the rest of them are available $excessTraffic = 0; } elseif (isset($topupItem['CurrentLimit']) && $excessTraffic < $topupItem['CurrentLimit']) { - $resultArray['trafficUsage'] += ($topupItem['Limit'] - $topupItem['CurrentLimit']); + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = ($topupItem['Limit'] - $topupItem['CurrentLimit']) + $excessTraffic; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; # Set total available topups - $resultArray['trafficTopups'] += $topupItem['Limit']; + $resultArray['trafficTopups'] += $topupItem['CurrentLimit']; # If we hit this topup then all the rest of them are available $excessTraffic = 0; # Topup has been used up } else { - $resultArray['trafficUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; - $resultArray['trafficTopups'] += $topupItem['Limit']; + + # Add stats to topup array + $resultArray['AllTrafficTopups'][$t] = array(); + $resultArray['AllTrafficTopups'][$t]['Used'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllTrafficTopups'][$t]['ID'] = $topupItem['ID']; + $resultArray['AllTrafficTopups'][$t]['ValidTo'] = $topupItem['ValidTo']; + $t++; + + $resultArray['trafficTopups'] += isset($topupItem['CurrentLimit']) ? $topupITem['CurrentLimit'] : $topupItem['Limit']; # Subtract this topup from excessTraffic usage $excessTraffic -= isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; @@ -230,30 +271,61 @@ function getWiSPUserLogsSummary($params) { if ($topupItem['Type'] == 2) { # Topup not currently in use if ($excessUptime <= 0) { - $resultArray['uptimeUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; # Set total available topups - $resultArray['uptimeTopups'] += $topupItem['Limit']; + $resultArray['uptimeTopups'] += isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; # Topup currently in use } elseif (!isset($topupItem['CurrentLimit']) && $excessUptime < $topupItem['Limit']) { + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = $excessTraffic; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; + # Set total available topups $resultArray['uptimeTopups'] += $topupItem['Limit']; # If we hit this topup then all the rest of them are available $excessUptime = 0; } elseif (isset($topupItem['CurrentLimit']) && $excessUptime < $topupItem['CurrentLimit']) { - $resultArray['uptimeUsage'] += ($topupItem['Limit'] - $topupItem['CurrentLimit']); + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = ($topupItem['Limit'] - $topupItem['CurrentLimit']) + $excessTraffic; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; # Set total available topups - $resultArray['uptimeTopups'] += $topupItem['Limit']; + $resultArray['uptimeTopups'] += $topupItem['CurrentLimit']; # If we hit this topup then all the rest of them are available $excessUptime = 0; # Topup has been used up } else { - $resultArray['uptimeUsage'] += isset($topupItem['CurrentLimit']) ? ($topupItem['Limit'] - $topupItem['CurrentLimit']) : 0; - $resultArray['uptimeTopups'] += $topupItem['Limit']; + + # Add stats to topup array + $resultArray['AllUptimeTopups'][$u] = array(); + $resultArray['AllUptimeTopups'][$u]['Used'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['Cap'] = (int)$topupItem['Limit']; + $resultArray['AllUptimeTopups'][$u]['ID'] = $topupItem['ID']; + $resultArray['AllUptimeTopups'][$u]['ValidTo'] = $topupItem['ValidTo']; + $u++; + + $resultArray['uptimeTopups'] += isset($topupItem['CurrentLimit']) ? $topupITem['CurrentLimit'] : $topupItem['Limit']; # Subtract this topup from excessUptime usage $excessUptime -= isset($topupItem['CurrentLimit']) ? $topupItem['CurrentLimit'] : $topupItem['Limit']; diff --git a/webgui/js/app/windows/AdminUserLogs.js b/webgui/js/app/windows/AdminUserLogs.js index abd675f8..5bf650d7 100644 --- a/webgui/js/app/windows/AdminUserLogs.js +++ b/webgui/js/app/windows/AdminUserLogs.js @@ -112,20 +112,21 @@ function showAdminUserLogsWindow(id) { id: summaryFormID, region: 'center', split: true, - border: true, + border: false, autoScroll: true, defaultType: 'textarea', - height: 180, + height: 300, width: 400, - labelWidth: 80, + labelWidth: 0, items: [ { id: summaryTotalID, name: 'summaryTotal', readOnly: true, - height: 139, - width: 275, + height: 300, + width: 400, fieldLabel: 'Summary', + hideLabel: true, fieldClass: 'font-family: monospace; font-size: 10px;', value: '' } @@ -297,19 +298,21 @@ function showAdminUserLogsWindow(id) { // Prepaid traffic if (trafficCap == -1) { trafficCap = 'Prepaid'; - trafficString += sprintf(' Traffic\nCap: %s MB Topup: %d MB\n'+ - 'Usage: %d/%d MB\n=====================================\n', + trafficString += sprintf('Traffic:\nCap: %s \nTopup: %d MB\nUsage: %d/%d MB\n', trafficCap,trafficTopups,trafficUsage,trafficTopups); + trafficString += '---\n'; // Uncapped traffic } else if (trafficCap == 0) { - trafficString += sprintf(' Traffic\nCap: Uncapped Used: %d MB\n=====================================\n', + trafficString += sprintf('Traffic:\nCap: Uncapped\nUsage: %d MB\n', trafficUsage); + trafficString += '---\n'; // Capped traffic } else { var combinedTrafficCap = trafficCap + trafficTopups; - trafficString += sprintf(' Traffic\nCap: %d MB Topup: %d MB\n'+ - 'Usage: %d/%d MB\n=====================================\n', + trafficString += sprintf('Traffic:\nCap: %d MB\nTopup: %d MB\n'+ + 'Usage: %d/%d MB\n', trafficCap,trafficTopups,trafficUsage,combinedTrafficCap); + trafficString += '---\n'; } // Format string before printing @@ -317,25 +320,55 @@ function showAdminUserLogsWindow(id) { // Prepaid uptime if (uptimeCap == -1) { uptimeCap = 'Prepaid'; - uptimeString += sprintf(' Uptime\nCap: %s Min Topup: %d Min\n'+ - 'Usage: %d/%d Min', + uptimeString += sprintf('Uptime:\nCap: %s \nTopup: %d Min\n'+ + 'Usage: %d/%d Min\n', uptimeCap,uptimeTopups,uptimeUsage,uptimeTopups); + uptimeString += '---\n'; // Uncapped uptime } else if (uptimeCap == 0) { - uptimeString += sprintf(' Uptime\nCap: Uncapped Used: %d Min', + uptimeString += sprintf('Uptime:\nCap: Uncapped\nUsage: %d Min\n', uptimeUsage); + uptimeString += '---\n'; // Capped uptime } else { var combinedUptimeCap = uptimeCap + uptimeTopups; - uptimeString += sprintf(' Uptime\nCap: %d Min Topup: %d Min\n'+ - 'Usage: %d/%d Min', + uptimeString += sprintf('Uptime:\nCap: %d Min\nTopup: %d Min\n'+ + 'Usage: %d/%d Min\n', uptimeCap,uptimeTopups,uptimeUsage,combinedUptimeCap); + uptimeString += '---\n'; + } + + // Topup breakdown + var tTopups = response.data.AllTrafficTopups; + var uTopups = response.data.AllUptimeTopups; + + // Format topups string + var topupString = ''; + if (tTopups.length > 0) { + topupString += 'Valid Traffic Topups:'; + } + for (var i = 0; i < tTopups.length; i++) { + var id = tTopups[i].ID; + var used = tTopups[i].Used; + var cap = tTopups[i].Cap; + var validTo = tTopups[i].ValidTo; + topupString += sprintf('\nID: %s\nUsage: %d/%d MB\nValid Until: %s\n--',id,used,cap,validTo); + } + if (uTopups.length > 0) { + topupString += 'Valid Uptime Topups:'; + } + for (var i = 0; i < uTopups.length; i++) { + var id = uTopups[i].ID; + var used = uTopups[i].Used; + var cap = uTopups[i].Cap; + var validTo = uTopups[i].ValidTo; + topupString += sprintf('\nID: %s\nUsage: %d/%d MB\nValid Until: %s\n--',id,used,cap,validTo); } // Get summary field var form = Ext.getCmp(summaryFormID); var summaryField = Ext.getCmp(summaryTotalID); - summaryField.setValue(trafficString+uptimeString); + summaryField.setValue(trafficString+uptimeString+topupString); }, failure: function (result) { Ext.MessageBox.alert('Failed', 'Couldn\'t fetch data: '+result.date); diff --git a/webgui/js/app/windows/WiSPUserLogs.js b/webgui/js/app/windows/WiSPUserLogs.js index 55758fd4..619b35a2 100644 --- a/webgui/js/app/windows/WiSPUserLogs.js +++ b/webgui/js/app/windows/WiSPUserLogs.js @@ -112,20 +112,21 @@ function showWiSPUserLogsWindow(id) { id: summaryFormID, region: 'center', split: true, - border: true, + border: false, autoScroll: true, defaultType: 'textarea', - height: 180, + height: 300, width: 400, - labelWidth: 80, + labelWidth: 0, items: [ { id: summaryTotalID, name: 'summaryTotal', readOnly: true, - height: 139, - width: 275, + height: 300, + width: 400, fieldLabel: 'Summary', + hideLabel: true, fieldClass: 'font-family: monospace; font-size: 10px;', value: '' } @@ -297,19 +298,21 @@ function showWiSPUserLogsWindow(id) { // Prepaid traffic if (trafficCap == -1) { trafficCap = 'Prepaid'; - trafficString += sprintf(' Traffic\nCap: %s MB Topup: %d MB\n'+ - 'Usage: %d/%d MB\n=====================================\n', + trafficString += sprintf('Traffic:\nCap: %s \nTopup: %d MB\nUsage: %d/%d MB\n', trafficCap,trafficTopups,trafficUsage,trafficTopups); + trafficString += '---\n'; // Uncapped traffic } else if (trafficCap == 0) { - trafficString += sprintf(' Traffic\nCap: Uncapped Used: %d MB\n=====================================\n', + trafficString += sprintf('Traffic:\nCap: Uncapped\nUsage: %d MB\n', trafficUsage); + trafficString += '---\n'; // Capped traffic } else { var combinedTrafficCap = trafficCap + trafficTopups; - trafficString += sprintf(' Traffic\nCap: %d MB Topup: %d MB\n'+ - 'Usage: %d/%d MB\n=====================================\n', + trafficString += sprintf('Traffic:\nCap: %d MB\nTopup: %d MB\n'+ + 'Usage: %d/%d MB\n', trafficCap,trafficTopups,trafficUsage,combinedTrafficCap); + trafficString += '---\n'; } // Format string before printing @@ -317,25 +320,55 @@ function showWiSPUserLogsWindow(id) { // Prepaid uptime if (uptimeCap == -1) { uptimeCap = 'Prepaid'; - uptimeString += sprintf(' Uptime\nCap: %s Min Topup: %d Min\n'+ - 'Usage: %d/%d Min', + uptimeString += sprintf('Uptime:\nCap: %s \nTopup: %d Min\n'+ + 'Usage: %d/%d Min\n', uptimeCap,uptimeTopups,uptimeUsage,uptimeTopups); + uptimeString += '---\n'; // Uncapped uptime } else if (uptimeCap == 0) { - uptimeString += sprintf(' Uptime\nCap: Uncapped Used: %d Min', + uptimeString += sprintf('Uptime:\nCap: Uncapped\nUsage: %d Min\n', uptimeUsage); + uptimeString += '---\n'; // Capped uptime } else { var combinedUptimeCap = uptimeCap + uptimeTopups; - uptimeString += sprintf(' Uptime\nCap: %d Min Topup: %d Min\n'+ - 'Usage: %d/%d Min', + uptimeString += sprintf('Uptime:\nCap: %d Min\nTopup: %d Min\n'+ + 'Usage: %d/%d Min\n', uptimeCap,uptimeTopups,uptimeUsage,combinedUptimeCap); + uptimeString += '---\n'; + } + + // Topup breakdown + var tTopups = response.data.AllTrafficTopups; + var uTopups = response.data.AllUptimeTopups; + + // Format topups string + var topupString = ''; + if (tTopups.length > 0) { + topupString += 'Valid Traffic Topups:'; + } + for (var i = 0; i < tTopups.length; i++) { + var id = tTopups[i].ID; + var used = tTopups[i].Used; + var cap = tTopups[i].Cap; + var validTo = tTopups[i].ValidTo; + topupString += sprintf('\nID: %s\nUsage: %d/%d MB\nValid Until: %s\n--',id,used,cap,validTo); + } + if (uTopups.length > 0) { + topupString += 'Valid Uptime Topups:'; + } + for (var i = 0; i < uTopups.length; i++) { + var id = uTopups[i].ID; + var used = uTopups[i].Used; + var cap = uTopups[i].Cap; + var validTo = uTopups[i].ValidTo; + topupString += sprintf('\nID: %s\nUsage: %d/%d MB\nValid Until: %s\n--',id,used,cap,validTo); } // Get summary field var form = Ext.getCmp(summaryFormID); var summaryField = Ext.getCmp(summaryTotalID); - summaryField.setValue(trafficString+uptimeString); + summaryField.setValue(trafficString+uptimeString+topupString); }, failure: function (result) { Ext.MessageBox.alert('Failed', 'Couldn\'t fetch data: '+result.date); -- GitLab