From 16411227375aea181af9006a90d73a9ea0113ef2 Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Wed, 10 Dec 2014 11:51:47 -0500 Subject: [PATCH] Disable survey if 'can_edit' is false The user should not be able to edit a survey if they do not have permission to edit the job template. I've added a check if the mode is 'edit' to see if the can_edit flag is false. --- awx/ui/static/js/helpers/Survey.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/awx/ui/static/js/helpers/Survey.js b/awx/ui/static/js/helpers/Survey.js index b95b90f220..71c8cf5554 100644 --- a/awx/ui/static/js/helpers/Survey.js +++ b/awx/ui/static/js/helpers/Survey.js @@ -70,7 +70,10 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', // if(scope.mode === 'add'){ // $('#survey-save-button').attr('disabled' , true); // } else - $('#survey-save-button').attr('ng-disabled', "survey_questions.length<1 "); + if(scope.can_edit === false){ + $('#survey-save-button').attr('disabled', "disabled"); + } + else $('#survey-save-button').attr('ng-disabled', "survey_questions.length<1 "); element = angular.element(document.getElementById('survey-save-button')); $compile(element)(scope); @@ -552,7 +555,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', if(scope.mode === 'add' && questions.length>0){ $('#survey-save-button').removeAttr('disabled'); } - if(scope.mode === 'edit' && scope.survey_questions.length>0){ + if(scope.mode === 'edit' && scope.survey_questions.length>0 && scope.can_edit===true){ $('#survey-save-button').removeAttr('disabled'); } @@ -567,7 +570,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', scope.finalizeQuestion(questions[key], key); } else if(scope.mode=== 'edit' ){ - if(scope.survey_questions.length>0){ + if(scope.survey_questions.length>0 && scope.can_edit === true){ $('#survey-save-button').removeAttr('disabled'); } scope.finalizeQuestion(scope.survey_questions[key] , key); @@ -744,7 +747,10 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', } } Wait('stop'); - $('#survey-save-button').removeAttr('disabled'); + if(scope.mode === 'add' || scope.mode==="edit" && scope.can_edit === true){ + $('#survey-save-button').removeAttr('disabled'); + } + if(GenerateForm.mode === 'add'){ if(scope.mode === 'add'){ questions.push(data);