Renamed unknown_form_fields to allow_unknown_form_fields

This commit is contained in:
Alen Mujezinovic 2012-01-19 15:52:26 +00:00
parent 167dce008c
commit ec5badf739
2 changed files with 6 additions and 6 deletions

View File

@ -78,7 +78,7 @@ class FormResource(Resource):
This can be overridden by a :attr:`form` attribute on the :class:`views.View`. This can be overridden by a :attr:`form` attribute on the :class:`views.View`.
""" """
unknown_form_fields = False allow_unknown_form_fields = False
""" """
Flag to check for unknown fields when validating a form. If set to false and Flag to check for unknown fields when validating a form. If set to false and
we receive request data that is not expected by the form it raises an we receive request data that is not expected by the form it raises an
@ -93,7 +93,7 @@ class FormResource(Resource):
Raises a :exc:`response.ErrorResponse` with status code 400 (Bad Request) on failure. Raises a :exc:`response.ErrorResponse` with status code 400 (Bad Request) on failure.
Validation is standard form validation, with an additional constraint that *no extra unknown fields* may be supplied Validation is standard form validation, with an additional constraint that *no extra unknown fields* may be supplied
if :attr:`self.unknown_form_fields` is ``False``. if :attr:`self.allow_unknown_form_fields` is ``False``.
On failure the :exc:`response.ErrorResponse` content is a dict which may contain :obj:`'errors'` and :obj:`'field-errors'` keys. On failure the :exc:`response.ErrorResponse` content is a dict which may contain :obj:`'errors'` and :obj:`'field-errors'` keys.
If the :obj:`'errors'` key exists it is a list of strings of non-field errors. If the :obj:`'errors'` key exists it is a list of strings of non-field errors.
@ -141,7 +141,7 @@ class FormResource(Resource):
unknown_fields = unknown_fields - set(('csrfmiddlewaretoken', '_accept', '_method')) # TODO: Ugh. unknown_fields = unknown_fields - set(('csrfmiddlewaretoken', '_accept', '_method')) # TODO: Ugh.
# Check using both regular validation, and our stricter no additional fields rule # Check using both regular validation, and our stricter no additional fields rule
if bound_form.is_valid() and (self.unknown_form_fields or not unknown_fields): if bound_form.is_valid() and (self.allow_unknown_form_fields or not unknown_fields):
# Validation succeeded... # Validation succeeded...
cleaned_data = bound_form.cleaned_data cleaned_data = bound_form.cleaned_data
@ -398,7 +398,7 @@ class ModelResource(FormResource):
""" """
model_fields = set(field.name for field in self.model._meta.fields) model_fields = set(field.name for field in self.model._meta.fields)
if fields: if model_fields:
return model_fields & set(as_tuple(self.fields)) return model_fields & set(as_tuple(self.fields))
return model_fields - set(as_tuple(self.exclude)) return model_fields - set(as_tuple(self.exclude))

View File

@ -142,9 +142,9 @@ class TestFormValidation(TestCase):
"""If we set ``unknown_form_fields`` on the form resource, then don't """If we set ``unknown_form_fields`` on the form resource, then don't
raise errors on unexpected request data""" raise errors on unexpected request data"""
content = {'qwerty': 'uiop', 'extra': 'extra'} content = {'qwerty': 'uiop', 'extra': 'extra'}
validator.unknown_form_fields = True validator.allow_unknown_form_fields = True
self.assertDictEqual({'qwerty': u'uiop'}, validator.validate_request(content, None), "Resource didn't accept unknown fields.") self.assertDictEqual({'qwerty': u'uiop'}, validator.validate_request(content, None), "Resource didn't accept unknown fields.")
validator.unknown_form_fields = False validator.allow_unknown_form_fields = False
def validation_does_not_require_extra_fields_if_explicitly_set(self, validator): def validation_does_not_require_extra_fields_if_explicitly_set(self, validator):
"""If we include an allowed_extra_fields paramater on _validate, then do not fail if we do not have fields with those names.""" """If we include an allowed_extra_fields paramater on _validate, then do not fail if we do not have fields with those names."""