GUAC-1138: Store formatted start date within session wrapper.

This commit is contained in:
Michael Jumper
2015-03-29 13:27:34 -07:00
parent 182376cc08
commit cb0ef9ca75
3 changed files with 30 additions and 12 deletions

View File

@@ -32,6 +32,7 @@ angular.module('manage').controller('manageSessionsController', ['$scope', '$inj
var SortOrder = $injector.get('SortOrder');
// Required services
var $filter = $injector.get('$filter');
var $translate = $injector.get('$translate');
var activeConnectionService = $injector.get('activeConnectionService');
var authenticationService = $injector.get('authenticationService');
@@ -55,13 +56,6 @@ angular.module('manage').controller('manageSessionsController', ['$scope', '$inj
*/
$scope.wrappers = null;
/**
* The date format for use for session-related dates.
*
* @type String
*/
$scope.sessionDateFormat = null;
/**
* SortOrder instance which maintains the sort order of the visible
* connection wrappers.
@@ -102,6 +96,13 @@ angular.module('manage').controller('manageSessionsController', ['$scope', '$inj
*/
var connections = null;
/**
* The date format for use for session-related dates.
*
* @type String
*/
var sessionDateFormat = null;
/**
* Map of all currently-selected active connection wrappers by identifier.
*
@@ -151,7 +152,7 @@ angular.module('manage').controller('manageSessionsController', ['$scope', '$inj
var wrapActiveConnections = function wrapActiveConnections() {
// Abort if not all required data is available
if (!activeConnections || !connections)
if (!activeConnections || !connections || !sessionDateFormat)
return;
// Wrap all active connections for sake of display
@@ -163,6 +164,7 @@ angular.module('manage').controller('manageSessionsController', ['$scope', '$inj
$scope.wrappers.push(new ActiveConnectionWrapper(
connection.name,
$filter('date')(activeConnection.startDate, sessionDateFormat),
activeConnection
));
@@ -201,8 +203,14 @@ angular.module('manage').controller('manageSessionsController', ['$scope', '$inj
});
// Get session date format
$translate('MANAGE_SESSION.FORMAT_STARTDATE').then(function sessionDateFormatReceived(sessionDateFormat) {
$scope.sessionDateFormat = sessionDateFormat;
$translate('MANAGE_SESSION.FORMAT_STARTDATE').then(function sessionDateFormatReceived(retrievedSessionDateFormat) {
// Store received date format
sessionDateFormat = retrievedSessionDateFormat;
// Attempt to produce wrapped list of active connections
wrapActiveConnections();
});
/**

View File

@@ -66,7 +66,7 @@ THE SOFTWARE.
<input ng-change="wrapperSelectionChange(wrapper)" type="checkbox" ng-model="wrapper.checked" />
</td>
<td>{{wrapper.activeConnection.username}}</td>
<td>{{wrapper.activeConnection.startDate | date:sessionDateFormat}}</td>
<td>{{wrapper.startDate}}</td>
<td>{{wrapper.activeConnection.remoteHost}}</td>
<td>{{wrapper.name}}</td>
</tr>

View File

@@ -33,11 +33,14 @@ angular.module('manage').factory('ActiveConnectionWrapper', [
* @constructor
* @param {String} name
* The display name of the active connection.
*
* @param {String} startDate
* The date and time this session began, pre-formatted for display.
*
* @param {ActiveConnection} activeConnection
* The ActiveConnection to wrap.
*/
var ActiveConnectionWrapper = function ActiveConnectionWrapper(name, activeConnection) {
var ActiveConnectionWrapper = function ActiveConnectionWrapper(name, startDate, activeConnection) {
/**
* The display name of this connection.
@@ -46,6 +49,13 @@ angular.module('manage').factory('ActiveConnectionWrapper', [
*/
this.name = name;
/**
* The date and time this session began, pre-formatted for display.
*
* @type String
*/
this.startDate = startDate;
/**
* The wrapped ActiveConnection.
*