diff --git a/awx/api/metadata.py b/awx/api/metadata.py index cd1de70a09..db189951f3 100644 --- a/awx/api/metadata.py +++ b/awx/api/metadata.py @@ -236,3 +236,19 @@ class RoleMetadata(Metadata): "disassociate": {"type": "integer", "label": "Disassociate", "help_text": "Provide to remove this role."}, } return metadata + + +# TODO: Tower 3.3 remove class and all uses in views.py when API v1 is removed +class JobTypeMetadata(Metadata): + def get_field_info(self, field): + res = super(JobTypeMetadata, self).get_field_info(field) + + if field.field_name == 'job_type': + index = 0 + for choice in res['choices']: + if choice[0] == 'scan': + res['choices'].pop(index) + break + index += 1 + return res + diff --git a/awx/api/views.py b/awx/api/views.py index 66aaa9ecea..6be8218b5e 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -78,7 +78,7 @@ from awx.main.utils.filters import SmartFilter from awx.api.permissions import * # noqa from awx.api.renderers import * # noqa from awx.api.serializers import * # noqa -from awx.api.metadata import RoleMetadata +from awx.api.metadata import RoleMetadata, JobTypeMetadata from awx.main.consumers import emit_channel_notification from awx.main.models.unified_jobs import ACTIVE_STATES from awx.main.scheduler.tasks import run_job_complete @@ -2698,6 +2698,7 @@ class InventoryUpdateNotificationsList(SubListAPIView): class JobTemplateList(ListCreateAPIView): model = JobTemplate + metadata_class = JobTypeMetadata serializer_class = JobTemplateSerializer always_allow_superuser = False capabilities_prefetch = [ @@ -2716,6 +2717,7 @@ class JobTemplateList(ListCreateAPIView): class JobTemplateDetail(RetrieveUpdateDestroyAPIView): model = JobTemplate + metadata_class = JobTypeMetadata serializer_class = JobTemplateSerializer always_allow_superuser = False @@ -3716,12 +3718,14 @@ class SystemJobTemplateNotificationTemplatesSuccessList(SubListCreateAttachDetac class JobList(ListCreateAPIView): model = Job + metadata_class = JobTypeMetadata serializer_class = JobListSerializer class JobDetail(RetrieveUpdateDestroyAPIView): model = Job + metadata_class = JobTypeMetadata serializer_class = JobSerializer def update(self, request, *args, **kwargs):