mirror of
https://github.com/ansible/awx.git
synced 2026-03-17 00:47:29 -02:30
Merge pull request #804 from cchurch/allow-null-or-blank-for-project-booleans
Allow null/blank input for boolean fields on projects.
This commit is contained in:
@@ -772,13 +772,16 @@ class OrganizationSerializer(BaseSerializer):
|
||||
|
||||
class ProjectOptionsSerializer(BaseSerializer):
|
||||
|
||||
scm_clean = serializers.NullBooleanField(default=False)
|
||||
scm_delete_on_update = serializers.NullBooleanField(default=False)
|
||||
|
||||
class Meta:
|
||||
fields = ('*', 'local_path', 'scm_type', 'scm_url', 'scm_branch',
|
||||
'scm_clean', 'scm_delete_on_update', 'credential')
|
||||
extra_kwargs = {
|
||||
'scm_type': {
|
||||
'allow_null': True
|
||||
}
|
||||
'allow_null': True,
|
||||
},
|
||||
}
|
||||
|
||||
def get_related(self, obj):
|
||||
@@ -791,6 +794,12 @@ class ProjectOptionsSerializer(BaseSerializer):
|
||||
def validate_scm_type(self, value):
|
||||
return value or u''
|
||||
|
||||
def validate_scm_clean(self, value):
|
||||
return bool(value)
|
||||
|
||||
def validate_scm_delete_on_update(self, value):
|
||||
return bool(value)
|
||||
|
||||
def validate(self, attrs):
|
||||
errors = {}
|
||||
|
||||
@@ -823,6 +832,7 @@ class ProjectOptionsSerializer(BaseSerializer):
|
||||
class ProjectSerializer(UnifiedJobTemplateSerializer, ProjectOptionsSerializer):
|
||||
|
||||
scm_delete_on_next_update = serializers.BooleanField(read_only=True)
|
||||
scm_update_on_launch = serializers.NullBooleanField(default=False)
|
||||
status = serializers.ChoiceField(choices=Project.PROJECT_STATUS_CHOICES, read_only=True, required=False)
|
||||
last_update_failed = serializers.BooleanField(read_only=True)
|
||||
last_updated = serializers.DateTimeField(read_only=True)
|
||||
@@ -832,7 +842,9 @@ class ProjectSerializer(UnifiedJobTemplateSerializer, ProjectOptionsSerializer):
|
||||
fields = ('*', 'scm_delete_on_next_update', 'scm_update_on_launch',
|
||||
'scm_update_cache_timeout') + \
|
||||
('last_update_failed', 'last_updated') # Backwards compatibility
|
||||
|
||||
|
||||
def clean_scm_update_on_launch(self, value):
|
||||
return bool(value)
|
||||
|
||||
def get_related(self, obj):
|
||||
res = super(ProjectSerializer, self).get_related(obj)
|
||||
|
||||
Reference in New Issue
Block a user