From 50970f2c3130abaeba19d2721c09ba472833bb0d Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Fri, 27 Jan 2017 16:31:30 -0500 Subject: [PATCH] disable playbook when permission denied to list --- awx/ui/client/src/forms/JobTemplates.js | 2 +- .../edit-job-template/job-template-edit.controller.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/awx/ui/client/src/forms/JobTemplates.js b/awx/ui/client/src/forms/JobTemplates.js index 28462577ae..ce0af8ff83 100644 --- a/awx/ui/client/src/forms/JobTemplates.js +++ b/awx/ui/client/src/forms/JobTemplates.js @@ -121,7 +121,7 @@ export default label: i18n._('Playbook'), type:'select', ngOptions: 'book for book in playbook_options track by book', - ngDisabled: "(job_type.value === 'scan' && project_name === 'Default') || !(job_template_obj.summary_fields.user_capabilities.edit || canAddJobTemplate)", + ngDisabled: "(job_type.value === 'scan' && project_name === 'Default') || !(job_template_obj.summary_fields.user_capabilities.edit || canAddJobTemplate) || disablePlaybookBecausePermissionDenied", id: 'playbook-select', awRequiredWhen: { reqExpression: "playbookrequired", diff --git a/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js b/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js index 16904cdaf1..8da8a4c034 100644 --- a/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js +++ b/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js @@ -98,6 +98,7 @@ export default Rest.setUrl(url); Rest.get() .success(function (data) { + $scope.disablePlaybookBecausePermissionDenied = false; $scope.playbook_options = []; var playbookNotFound = true; for (var i = 0; i < data.length; i++) { @@ -118,6 +119,7 @@ export default .error(function (ret,status_code) { if (status_code === 403) { /* user doesn't have access to see the project, no big deal. */ + $scope.disablePlaybookBecausePermissionDenied = true; } else { Alert('Missing Playbooks', 'Unable to retrieve the list of playbooks for this project. Choose a different ' + ' project or make the playbooks available on the file system.', 'alert-info');