From 87b59903a5b41e23c2b455a9bdb8129216405c55 Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Thu, 8 Feb 2018 08:46:56 -0500 Subject: [PATCH] verbose error messages for failure to re-schedule --- awx/api/views.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/awx/api/views.py b/awx/api/views.py index 6f888f9472..cb3f82f757 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -16,7 +16,7 @@ import six # Django from django.conf import settings -from django.core.exceptions import FieldError +from django.core.exceptions import FieldError, ObjectDoesNotExist from django.db.models import Q, Count, F from django.db import IntegrityError, transaction from django.shortcuts import get_object_or_404 @@ -4201,7 +4201,15 @@ class JobCreateSchedule(RetrieveAPIView): obj = self.get_object() if not obj.can_schedule: - return Response({"error": _('Information needed to schedule this job is missing.')}, + if getattr(obj, 'passwords_needed_to_start', None): + return Response({"error": _('Cannot create schedule because job requires credential passwords.')}, + status=status.HTTP_400_BAD_REQUEST) + try: + obj.launch_config + except ObjectDoesNotExist: + return Response({"error": _('Cannot create schedule because job was launched by legacy method.')}, + status=status.HTTP_400_BAD_REQUEST) + return Response({"error": _('Cannot create schedule because a related resource is missing.')}, status=status.HTTP_400_BAD_REQUEST) config = obj.launch_config