From 6888aa6d2acf59d3e44436a711120ced330ce21b Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Tue, 28 Jun 2016 17:06:53 -0400 Subject: [PATCH] fix playbook not found by showing specific error in ui --- awx/ui/client/src/forms/JobTemplates.js | 1 + .../src/job-templates/edit/job-templates-edit.controller.js | 3 +++ awx/ui/client/src/shared/form-generator.js | 6 +++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/awx/ui/client/src/forms/JobTemplates.js b/awx/ui/client/src/forms/JobTemplates.js index 8e287c5500..90c92f9f57 100644 --- a/awx/ui/client/src/forms/JobTemplates.js +++ b/awx/ui/client/src/forms/JobTemplates.js @@ -116,6 +116,7 @@ export default dataTitle: 'Playbook', dataPlacement: 'right', dataContainer: "body", + includePlaybookNotFoundError: true }, credential: { label: 'Machine Credential', diff --git a/awx/ui/client/src/job-templates/edit/job-templates-edit.controller.js b/awx/ui/client/src/job-templates/edit/job-templates-edit.controller.js index 1319afe3eb..b9a195a921 100644 --- a/awx/ui/client/src/job-templates/edit/job-templates-edit.controller.js +++ b/awx/ui/client/src/job-templates/edit/job-templates-edit.controller.js @@ -109,12 +109,15 @@ export default Rest.get() .success(function (data) { $scope.playbook_options = []; + var playbookNotFound = true; for (var i = 0; i < data.length; i++) { $scope.playbook_options.push(data[i]); if (data[i] === $scope.playbook) { $scope.job_templates_form.playbook.$setValidity('required', true); + playbookNotFound = false; } } + $scope.playbookNotFound = playbookNotFound; sync_playbook_select2(); if ($scope.playbook) { $scope.$emit('jobTemplateLoadFinished'); diff --git a/awx/ui/client/src/shared/form-generator.js b/awx/ui/client/src/shared/form-generator.js index 5ad4e1061f..5417829724 100644 --- a/awx/ui/client/src/shared/form-generator.js +++ b/awx/ui/client/src/shared/form-generator.js @@ -1160,7 +1160,11 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat if ((options.mode === 'add' && field.addRequired) || (options.mode === 'edit' && field.editRequired) || field.awRequiredWhen) { html += "
" + (field.requiredErrorMsg ? field.requiredErrorMsg : "Please select a value.") + "
\n"; + this.form.name + '_form.' + fld + ".$error.required\">" + (field.requiredErrorMsg ? field.requiredErrorMsg : "Please select a value."); + if (field.includePlaybookNotFoundError) { + html += " Playbook {{ job_template_obj.playbook }} not found for project.\n"; + } + html += "\n"; } html += "
\n";