Integrate main schedules resource

Integrated scheduled jobs list
Implement updating ancillary details on dependent models
Further cleanup
This commit is contained in:
Matthew Jones
2014-03-28 12:49:57 -04:00
parent 7237d313d2
commit 799e8d30ba
5 changed files with 33 additions and 11 deletions

View File

@@ -1310,10 +1310,12 @@ class ScheduleSerializer(BaseSerializer):
def get_related(self, obj):
res = super(ScheduleSerializer, self).get_related(obj)
res.update(dict(
#unified_jobs = reverse('api:schedule_unified_jobs_list', args=(obj.pk,)),
unified_jobs = reverse('api:schedule_unified_jobs_list', args=(obj.pk,)),
))
if obj.unified_job_template and obj.unified_job_template.active:
res['unified_job_template'] = obj.unified_job_template.get_absolute_url()
#TODO: Figure out why we have to do this
ujt = UnifiedJobTemplate.objects.get(id=obj.unified_job_template.id)
res['unified_job_template'] = ujt.get_absolute_url() #obj.unified_job_template.get_absolute_url()
return res
def validate_rrule(self, attrs, source):

View File

@@ -158,6 +158,7 @@ job_event_urls = patterns('awx.api.views',
schedule_urls = patterns('awx.api.views',
url(r'^$', 'schedule_list'),
url(r'^(?P<pk>[0-9]+)/$', 'schedule_detail'),
url(r'^(?P<pk>[0-9]+)/jobs/$', 'schedule_unified_jobs_list'),
)
activity_stream_urls = patterns('awx.api.views',
@@ -171,7 +172,7 @@ v1_urls = patterns('awx.api.views',
url(r'^authtoken/$', 'auth_token_view'),
url(r'^me/$', 'user_me_list'),
url(r'^dashboard/$', 'dashboard_view'),
url(r'^schedules/$', include(schedule_urls)),
url(r'^schedules/', include(schedule_urls)),
url(r'^organizations/', include(organization_urls)),
url(r'^users/', include(user_urls)),
url(r'^projects/', include(project_urls)),

View File

@@ -238,7 +238,7 @@ class DashboardView(APIView):
'total': job_template_list.count()}
return Response(data)
class ScheduleList(ListCreateAPIView):
class ScheduleList(ListAPIView):
view_name = "Schedules"
model = Schedule
@@ -251,6 +251,14 @@ class ScheduleDetail(RetrieveUpdateDestroyAPIView):
serializer_class = ScheduleSerializer
new_in_148 = True
class ScheduleUnifiedJobsList(SubListAPIView):
model = UnifiedJob
serializer_class = UnifiedJobSerializer
parent_model = Schedule
relationship = ''
view_name = 'Schedule Jobs List'
class AuthTokenView(APIView):
authentication_classes = []