From 44e83dbcd70c71b14dfbe3228816c8582a3191fc Mon Sep 17 00:00:00 2001 From: Ken Hoes Date: Fri, 9 Dec 2016 09:37:16 -0500 Subject: [PATCH] Disabling fields for auditors in CTinT --- .../configuration-auth.controller.js | 3 +++ .../configuration/configuration.controller.js | 6 ++++++ .../configuration-jobs.controller.js | 7 +++++-- .../configuration-system.controller.js | 20 +++++-------------- .../ui-form/configuration-ui.controller.js | 5 ++++- 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/awx/ui/client/src/configuration/auth-form/configuration-auth.controller.js b/awx/ui/client/src/configuration/auth-form/configuration-auth.controller.js index beb295fc98..a060141620 100644 --- a/awx/ui/client/src/configuration/auth-form/configuration-auth.controller.js +++ b/awx/ui/client/src/configuration/auth-form/configuration-auth.controller.js @@ -6,6 +6,7 @@ export default [ '$scope', + '$rootScope', '$state', '$stateParams', '$timeout', @@ -25,6 +26,7 @@ export default [ 'ParseTypeChange', function( $scope, + $rootScope, $state, $stateParams, $timeout, @@ -167,6 +169,7 @@ export default [ placeholder: ConfigurationUtils.formatPlaceholder($scope.$parent.configDataResolve[key].placeholder, key) || null, dataTitle: $scope.$parent.configDataResolve[key].label, required: $scope.$parent.configDataResolve[key].required, + ngDisabled: $rootScope.user_is_system_auditor }); } diff --git a/awx/ui/client/src/configuration/configuration.controller.js b/awx/ui/client/src/configuration/configuration.controller.js index b769ffc8c4..f4ee38e236 100644 --- a/awx/ui/client/src/configuration/configuration.controller.js +++ b/awx/ui/client/src/configuration/configuration.controller.js @@ -362,6 +362,12 @@ export default [ $scope.toggleForm = function(key) { + if($rootScope.user_is_system_auditor) { + // Block system auditors from making changes + event.preventDefault(); + return; + } + $scope[key] = !$scope[key]; Wait('start'); var payload = {}; diff --git a/awx/ui/client/src/configuration/jobs-form/configuration-jobs.controller.js b/awx/ui/client/src/configuration/jobs-form/configuration-jobs.controller.js index 50cecf4832..1ea93ad691 100644 --- a/awx/ui/client/src/configuration/jobs-form/configuration-jobs.controller.js +++ b/awx/ui/client/src/configuration/jobs-form/configuration-jobs.controller.js @@ -6,6 +6,7 @@ export default [ '$scope', + '$rootScope', '$state', '$timeout', 'ConfigurationJobsForm', @@ -15,6 +16,7 @@ export default [ 'GenerateForm', function( $scope, + $rootScope, $state, $timeout, ConfigurationJobsForm, @@ -34,7 +36,7 @@ export default [ value: command }); }); - + // Disable the save button for non-superusers form.buttons.save.disabled = 'vm.updateProhibited'; @@ -51,7 +53,8 @@ export default [ toggleSource: key, dataPlacement: 'top', dataTitle: $scope.$parent.configDataResolve[key].label, - required: $scope.$parent.configDataResolve[key].required + required: $scope.$parent.configDataResolve[key].required, + ngDisabled: $rootScope.user_is_system_auditor }); } diff --git a/awx/ui/client/src/configuration/system-form/configuration-system.controller.js b/awx/ui/client/src/configuration/system-form/configuration-system.controller.js index 90206c9d67..3751e298a5 100644 --- a/awx/ui/client/src/configuration/system-form/configuration-system.controller.js +++ b/awx/ui/client/src/configuration/system-form/configuration-system.controller.js @@ -5,9 +5,10 @@ *************************************************/ export default [ - '$scope', '$state', 'AngularCodeMirror', 'ConfigurationSystemForm', 'ConfigurationService', 'ConfigurationUtils', 'GenerateForm', + '$rootScope', '$scope', '$state', 'AngularCodeMirror', 'Authorization', 'ConfigurationSystemForm', 'ConfigurationService', + 'ConfigurationUtils', 'GenerateForm', function( - $scope, $state, AngularCodeMirror, ConfigurationSystemForm, ConfigurationService, ConfigurationUtils, GenerateForm + $rootScope, $scope, $state, AngularCodeMirror, Authorization, ConfigurationSystemForm, ConfigurationService, ConfigurationUtils, GenerateForm ) { var systemVm = this; var generator = GenerateForm; @@ -29,7 +30,8 @@ export default [ toggleSource: key, dataPlacement: 'top', dataTitle: $scope.$parent.configDataResolve[key].label, - required: $scope.$parent.configDataResolve[key].required + required: $scope.$parent.configDataResolve[key].required, + ngDisabled: $rootScope.user_is_system_auditor }); } @@ -40,18 +42,6 @@ export default [ related: true }); - - $scope.$on('populated', function() { - // $scope.$parent.parseType = 'json'; - // ParseTypeChange({ - // scope: $scope.$parent, - // variable: 'LICENSE', - // parse_variable: 'parseType', - // field_id: 'configuration_system_template_LICENSE', - // readOnly: true - // }); - }); - angular.extend(systemVm, { }); diff --git a/awx/ui/client/src/configuration/ui-form/configuration-ui.controller.js b/awx/ui/client/src/configuration/ui-form/configuration-ui.controller.js index c807b4807a..df5dab907d 100644 --- a/awx/ui/client/src/configuration/ui-form/configuration-ui.controller.js +++ b/awx/ui/client/src/configuration/ui-form/configuration-ui.controller.js @@ -6,6 +6,7 @@ export default [ '$scope', + '$rootScope', '$state', '$timeout', 'ConfigurationUiForm', @@ -14,6 +15,7 @@ 'GenerateForm', function( $scope, + $rootScope, $state, $timeout, ConfigurationUiForm, @@ -54,7 +56,8 @@ toggleSource: key, dataPlacement: 'top', dataTitle: $scope.$parent.configDataResolve[key].label, - required: $scope.$parent.configDataResolve[key].required + required: $scope.$parent.configDataResolve[key].required, + ngDisabled: $rootScope.user_is_system_auditor }); }