GUACAMOLE-36: Migrate guacLogin and guacNotification to TranslatableMessage.

This commit is contained in:
Michael Jumper
2016-08-16 21:47:26 -07:00
parent 0671f18d40
commit 986ea4b206
13 changed files with 70 additions and 35 deletions

View File

@@ -578,7 +578,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams
|| connectionState === ManagedClientState.ConnectionState.WAITING) {
guacNotification.showStatus({
title: "CLIENT.DIALOG_HEADER_CONNECTING",
text: "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase()
text: {
key : "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase()
}
});
}
@@ -595,7 +597,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams
notifyConnectionClosed({
className : "error",
title : "CLIENT.DIALOG_HEADER_CONNECTION_ERROR",
text : "CLIENT.ERROR_CLIENT_" + errorName,
text : {
key : "CLIENT.ERROR_CLIENT_" + errorName
},
countdown : countdown,
actions : actions
});
@@ -615,7 +619,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams
notifyConnectionClosed({
className : "error",
title : "CLIENT.DIALOG_HEADER_CONNECTION_ERROR",
text : "CLIENT.ERROR_TUNNEL_" + errorName,
text : {
key : "CLIENT.ERROR_TUNNEL_" + errorName
},
countdown : countdown,
actions : actions
});
@@ -626,7 +632,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams
else if (connectionState === ManagedClientState.ConnectionState.DISCONNECTED) {
notifyConnectionClosed({
title : "CLIENT.DIALOG_HEADER_DISCONNECTED",
text : "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase(),
text : {
key : "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase()
},
actions : actions
});
}

View File

@@ -38,7 +38,7 @@ angular.module('index').controller('indexController', ['$scope', '$injector',
* The message to display to the user as instructions for the login
* process.
*
* @type String
* @type TranslatableMessage
*/
$scope.loginHelpText = null;
@@ -160,7 +160,7 @@ angular.module('index').controller('indexController', ['$scope', '$injector',
$scope.$on('guacInsufficientCredentials', function loginInsufficient(event, parameters, error) {
$scope.page.title = 'APP.NAME';
$scope.page.bodyClassName = '';
$scope.loginHelpText = error.message;
$scope.loginHelpText = error.translatableMessage;
$scope.acceptedCredentials = parameters;
$scope.expectedCredentials = error.expected;
});

View File

@@ -36,7 +36,7 @@ angular.module('login').directive('guacLogin', [function guacLogin() {
* An optional instructional message to display within the login
* dialog.
*
* @type String
* @type TranslatableMessage
*/
helpText : '=',
@@ -72,7 +72,7 @@ angular.module('login').directive('guacLogin', [function guacLogin() {
/**
* A description of the error that occurred during login, if any.
*
* @type String
* @type TranslatableMessage
*/
$scope.loginError = null;
@@ -160,11 +160,13 @@ angular.module('login').directive('guacLogin', [function guacLogin() {
// Flag generic error for invalid login
if (error.type === Error.Type.INVALID_CREDENTIALS)
$scope.loginError = 'LOGIN.ERROR_INVALID_LOGIN';
$scope.loginError = {
'key' : 'LOGIN.ERROR_INVALID_LOGIN'
};
// Display error if anything else goes wrong
else
$scope.loginError = error.message;
$scope.loginError = error.translatableMessage;
// Clear all visible password fields
angular.forEach($scope.remainingFields, function clearEnteredValueIfPassword(field) {

View File

@@ -1,7 +1,8 @@
<div class="login-ui" ng-class="{error: loginError, continuation: isContinuation(), initial: !isContinuation()}" >
<!-- Login error message -->
<p class="login-error">{{loginError | translate}}</p>
<p class="login-error" translate="{{loginError.key}}"
translate-values="{{loginError.variables}}"></p>
<div class="login-dialog-middle">
@@ -17,7 +18,8 @@
</div>
<!-- Login message/instructions -->
<p ng-show="helpText">{{helpText | translate}}</p>
<p ng-show="helpText" translate="{{helpText.key}}"
translate-values="{{helpText.variables}}"></p>
<!-- Login fields -->
<div class="login-fields">

View File

@@ -380,7 +380,7 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_CONNECTION.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -430,7 +430,7 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_CONNECTION.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -446,7 +446,9 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i
// Confirm deletion request
guacNotification.showStatus({
'title' : 'MANAGE_CONNECTION.DIALOG_HEADER_CONFIRM_DELETE',
'text' : 'MANAGE_CONNECTION.TEXT_CONFIRM_DELETE',
'text' : {
key : 'MANAGE_CONNECTION.TEXT_CONFIRM_DELETE'
},
'actions' : [ DELETE_ACTION, CANCEL_ACTION]
});

View File

@@ -220,7 +220,7 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope'
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_CONNECTION_GROUP.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -270,7 +270,7 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope'
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_CONNECTION_GROUP.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -286,7 +286,9 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope'
// Confirm deletion request
guacNotification.showStatus({
'title' : 'MANAGE_CONNECTION_GROUP.DIALOG_HEADER_CONFIRM_DELETE',
'text' : 'MANAGE_CONNECTION_GROUP.TEXT_CONFIRM_DELETE',
'text' : {
key : 'MANAGE_CONNECTION_GROUP.TEXT_CONFIRM_DELETE'
},
'actions' : [ DELETE_ACTION, CANCEL_ACTION]
});

View File

@@ -341,7 +341,7 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope',
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_SHARING_PROFILE.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -379,7 +379,7 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope',
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_SHARING_PROFILE.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -395,7 +395,9 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope',
// Confirm deletion request
guacNotification.showStatus({
'title' : 'MANAGE_SHARING_PROFILE.DIALOG_HEADER_CONFIRM_DELETE',
'text' : 'MANAGE_SHARING_PROFILE.TEXT_CONFIRM_DELETE',
'text' : {
'key' : 'MANAGE_SHARING_PROFILE.TEXT_CONFIRM_DELETE'
},
'actions' : [ DELETE_ACTION, CANCEL_ACTION]
});

View File

@@ -1012,7 +1012,9 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR',
'text' : 'MANAGE_USER.ERROR_PASSWORD_MISMATCH',
'text' : {
key : 'MANAGE_USER.ERROR_PASSWORD_MISMATCH'
},
'actions' : [ ACKNOWLEDGE_ACTION ]
});
return;
@@ -1055,7 +1057,8 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'values' : error.translationValues,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -1067,7 +1070,7 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -1117,7 +1120,7 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
guacNotification.showStatus({
'className' : 'error',
'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -1133,7 +1136,9 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
// Confirm deletion request
guacNotification.showStatus({
'title' : 'MANAGE_USER.DIALOG_HEADER_CONFIRM_DELETE',
'text' : 'MANAGE_USER.TEXT_CONFIRM_DELETE',
'text' : {
key : 'MANAGE_USER.TEXT_CONFIRM_DELETE'
},
'actions' : [ DELETE_ACTION, CANCEL_ACTION]
});

View File

@@ -60,7 +60,9 @@ angular.module('notification').factory('guacNotification', ['$injector',
* // To show a status message with actions
* guacNotification.showStatus({
* 'title' : 'Disconnected',
* 'text' : 'You have been disconnected!',
* 'text' : {
* 'key' : 'NAMESPACE.SOME_TRANSLATION_KEY'
* },
* 'actions' : {
* 'name' : 'reconnect',
* 'callback' : function () {

View File

@@ -8,7 +8,9 @@
<div class="body">
<!-- Notification text -->
<p ng-show="notification.text" class="text">{{notification.text | translate}}</p>
<p ng-show="notification.text" class="text"
translate="{{notification.text.key}}"
translate-values="{{notification.text.variables}}"></p>
<!-- Current progress -->
<div class="progress" ng-show="notification.progress"><div class="bar" ng-show="progressPercent" ng-style="{'width': progressPercent + '%'}"></div><div

View File

@@ -53,7 +53,7 @@ angular.module('notification').factory('Notification', [function defineNotificat
/**
* The body text of the notification.
*
* @type String
* @type TranslatableMessage
*/
this.text = template.text;

View File

@@ -127,7 +127,9 @@ angular.module('settings').directive('guacSettingsPreferences', [function guacSe
guacNotification.showStatus({
className : 'error',
title : 'SETTINGS_PREFERENCES.DIALOG_HEADER_ERROR',
text : 'SETTINGS_PREFERENCES.ERROR_PASSWORD_MISMATCH',
text : {
key : 'SETTINGS_PREFERENCES.ERROR_PASSWORD_MISMATCH'
},
actions : [ ACKNOWLEDGE_ACTION ]
});
return;
@@ -138,7 +140,9 @@ angular.module('settings').directive('guacSettingsPreferences', [function guacSe
guacNotification.showStatus({
className : 'error',
title : 'SETTINGS_PREFERENCES.DIALOG_HEADER_ERROR',
text : 'SETTINGS_PREFERENCES.ERROR_PASSWORD_BLANK',
text : {
key : 'SETTINGS_PREFERENCES.ERROR_PASSWORD_BLANK'
},
actions : [ ACKNOWLEDGE_ACTION ]
});
return;
@@ -155,7 +159,9 @@ angular.module('settings').directive('guacSettingsPreferences', [function guacSe
// Indicate that the password has been changed
guacNotification.showStatus({
text : 'SETTINGS_PREFERENCES.INFO_PASSWORD_CHANGED',
text : {
key : 'SETTINGS_PREFERENCES.INFO_PASSWORD_CHANGED'
},
actions : [ ACKNOWLEDGE_ACTION ]
});
})
@@ -165,7 +171,7 @@ angular.module('settings').directive('guacSettingsPreferences', [function guacSe
guacNotification.showStatus({
className : 'error',
title : 'SETTINGS_PREFERENCES.DIALOG_HEADER_ERROR',
'text' : error.message,
text : error.translatableMessage,
actions : [ ACKNOWLEDGE_ACTION ]
});
});

View File

@@ -334,7 +334,7 @@ angular.module('settings').directive('guacSettingsSessions', [function guacSetti
guacNotification.showStatus({
'className' : 'error',
'title' : 'SETTINGS_SESSIONS.DIALOG_HEADER_ERROR',
'text' : error.message,
'text' : error.translatableMessage,
'actions' : [ ACKNOWLEDGE_ACTION ]
});
});
@@ -349,7 +349,9 @@ angular.module('settings').directive('guacSettingsSessions', [function guacSetti
// Confirm deletion request
guacNotification.showStatus({
'title' : 'SETTINGS_SESSIONS.DIALOG_HEADER_CONFIRM_DELETE',
'text' : 'SETTINGS_SESSIONS.TEXT_CONFIRM_DELETE',
'text' : {
'key' : 'SETTINGS_SESSIONS.TEXT_CONFIRM_DELETE'
},
'actions' : [ DELETE_ACTION, CANCEL_ACTION]
});
};