From 0398ce0530f4b3aa7aba805053579b369959d8a5 Mon Sep 17 00:00:00 2001 From: Keith Grant Date: Mon, 1 Jul 2019 14:38:51 -0700 Subject: [PATCH] get default template messages from OPTIONS --- .../src/notifications/add/add.controller.js | 6 +----- .../src/notifications/edit/edit.controller.js | 13 ++++++++---- .../shared/message-utils.service.js | 21 +++++++++++-------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/awx/ui/client/src/notifications/add/add.controller.js b/awx/ui/client/src/notifications/add/add.controller.js index 431dce585c..4716eb8a0c 100644 --- a/awx/ui/client/src/notifications/add/add.controller.js +++ b/awx/ui/client/src/notifications/add/add.controller.js @@ -31,11 +31,7 @@ export default ['Rest', 'Wait', 'NotificationsFormObject', $state.go("^"); Alert('Permission Error', 'You do not have permission to add a notification template.', 'alert-info'); } - // TODO: get default messages off data - console.log('OPTIONS:', data); - defaultMessages.start_message = 'It started'; - defaultMessages.success_message = 'It succeeded'; - defaultMessages.error_message = 'It failed'; + defaultMessages = data.actions.POST.messages.default; MessageUtils.setMessagesOnScope($scope, null, defaultMessages); }); // apply form definition's default field values diff --git a/awx/ui/client/src/notifications/edit/edit.controller.js b/awx/ui/client/src/notifications/edit/edit.controller.js index 3273606a00..49c2c6a953 100644 --- a/awx/ui/client/src/notifications/edit/edit.controller.js +++ b/awx/ui/client/src/notifications/edit/edit.controller.js @@ -38,10 +38,15 @@ export default ['Rest', 'Wait', } }); - // TODO: get OPTIONS for defaultMessages - defaultMessages.start_message = 'It started'; - defaultMessages.success_message = 'It succeeded'; - defaultMessages.error_message = 'It failed'; + Rest.setUrl(GetBasePath('notification_templates')); + Rest.options() + .then(({data}) => { + if (!data.actions.POST) { + $state.go("^"); + Alert('Permission Error', 'You do not have permission to add a notification template.', 'alert-info'); + } + defaultMessages = data.actions.POST.messages.default; + }); GetChoices({ scope: $scope, diff --git a/awx/ui/client/src/notifications/shared/message-utils.service.js b/awx/ui/client/src/notifications/shared/message-utils.service.js index 65b1c3722d..16a7f7e5d4 100644 --- a/awx/ui/client/src/notifications/shared/message-utils.service.js +++ b/awx/ui/client/src/notifications/shared/message-utils.service.js @@ -6,29 +6,32 @@ export default [function () { } return { start: { - message: $scope.start_message === defaultMessages.start_message + message: $scope.start_message === defaultMessages.start.message ? null : $scope.start_message, - body: $scope.start_body === defaultMessages.start_body + body: $scope.start_body === defaultMessages.start.body ? null : $scope.start_body, }, success: { - message: $scope.success_message === defaultMessages.success_message + message: $scope.success_message === defaultMessages.success.message ? null : $scope.success_message, - body: $scope.success_body === defaultMessages.success_body + body: $scope.success_body === defaultMessages.success.body ? null : $scope.success_body, }, error: { - message: $scope.error_message === defaultMessages.error_message + message: $scope.error_message === defaultMessages.error.message ? null : $scope.error_message, - body: $scope.error_body === defaultMessages.error_body + body: $scope.error_body === defaultMessages.error.body ? null : $scope.error_body, } }; }, setMessagesOnScope: function ($scope, messages, defaultMessages) { - $scope.start_message = defaultMessages.start_message; - $scope.success_message = defaultMessages.success_message; - $scope.error_message = defaultMessages.error_message; + $scope.start_message = defaultMessages.start.message; + $scope.start_body = defaultMessages.start.body; + $scope.success_message = defaultMessages.success.message; + $scope.success_body = defaultMessages.success.body; + $scope.error_message = defaultMessages.error.message; + $scope.error_body = defaultMessages.error.body; if (!messages) { return; }