Work on update/cancel serializers/views to return correct field names in OPTIONS response.

This commit is contained in:
Chris Church
2014-12-02 18:55:54 -05:00
parent 696475591a
commit 564ba7bf68
2 changed files with 67 additions and 41 deletions

View File

@@ -131,7 +131,7 @@ class BaseSerializerMetaclass(serializers.SerializerMetaclass):
'''
@classmethod
def _update_meta(self, base, meta, other=None):
def _update_meta(cls, base, meta, other=None):
for attr in dir(other):
if attr.startswith('_'):
continue
@@ -679,6 +679,14 @@ class ProjectPlaybooksSerializer(ProjectSerializer):
return ret.get('playbooks', [])
class ProjectUpdateViewSerializer(ProjectSerializer):
can_update = serializers.BooleanField(source='can_update', read_only=True)
class Meta:
fields = ('can_update',)
class ProjectUpdateSerializer(UnifiedJobSerializer, ProjectOptionsSerializer):
class Meta:
@@ -699,6 +707,14 @@ class ProjectUpdateListSerializer(ProjectUpdateSerializer, UnifiedJobListSeriali
pass
class ProjectUpdateCancelSerializer(ProjectUpdateSerializer):
can_cancel = serializers.BooleanField(source='can_cancel', read_only=True)
class Meta:
fields = ('can_cancel',)
class BaseSerializerWithVariables(BaseSerializer):
def validate_variables(self, attrs, source):
@@ -744,6 +760,13 @@ class InventorySerializer(BaseSerializerWithVariables):
return ret
class InventoryScriptSerializer(InventorySerializer):
class Meta:
fields = ('id',)
exclude = ('id',)
class HostSerializer(BaseSerializerWithVariables):
class Meta:
@@ -1064,6 +1087,14 @@ class InventorySourceSerializer(UnifiedJobTemplateSerializer, InventorySourceOpt
return ret
class InventorySourceUpdateSerializer(InventorySourceSerializer):
can_update = serializers.BooleanField(source='can_update', read_only=True)
class Meta:
fields = ('can_update',)
class InventoryUpdateSerializer(UnifiedJobSerializer, InventorySourceOptionsSerializer):
class Meta:
@@ -1084,6 +1115,14 @@ class InventoryUpdateListSerializer(InventoryUpdateSerializer, UnifiedJobListSer
pass
class InventoryUpdateCancelSerializer(InventoryUpdateSerializer):
can_cancel = serializers.BooleanField(source='can_cancel', read_only=True)
class Meta:
fields = ('can_cancel',)
class TeamSerializer(BaseSerializer):
class Meta:
@@ -1355,6 +1394,15 @@ class JobSerializer(UnifiedJobSerializer, JobOptionsSerializer):
ret['job_template'] = None
return ret
class JobCancelSerializer(JobSerializer):
can_cancel = serializers.BooleanField(source='can_cancel', read_only=True)
class Meta:
fields = ('can_cancel',)
class SystemJobTemplateSerializer(UnifiedJobTemplateSerializer):
class Meta: