Commit Graph

3058 Commits

Author SHA1 Message Date
Ian Cordasco
c2ee1b3033 Use overridden settings exception handler
Instead of using the api_settings exception handler, we use the
overridden settings attribute to find the correct handler.

Closes #5054
2017-04-06 14:05:29 -05:00
s-m-b
f1ca71ce21 Pass initkwargs stored on view to instance 2017-04-06 16:38:28 +04:00
htmis
4a54d9f474 Update Boolean field to more closely match python library
Python Reference:
distutils.util.strtobool(val)
Convert a string representation of truth to true (1) or false (0).
True values are y, yes, t, true, on and 1; false values are n, no, f, false, off and 0. Raises ValueError if val is anything else.
2017-03-29 20:21:18 -04:00
Xavier Ordoquy
d417c6d1b9 Fix parser names in docstring. 2017-03-29 07:57:14 +02:00
Ilya Beda
f27c551218 Fix typo at docstring 2017-03-29 12:51:01 +07:00
Ekluv
56fe0e4b3f fix unique=True validation for ChoiceField 2017-03-28 00:38:21 +05:30
Xavier Ordoquy
6ad0be44d3 Merge remote-tracking branch 'reference/master' into feature/improve_schema_shortcut
* reference/master:
  use django 1.11rc1 in tox
  Leave parameters with regex pattern as String
  restored original formatting
  Do not hint BigAutoField as integer (outside of range)
  Mention where the mixins live
  Try to improve browser support
  Cleanup and refactor docs api.js script
  Move bootstrap modal data attrs to anchor
  Remove unused base.js script
  Correctly set scheme in coreapi TokenAuthentication
  reverted to fix the issue without changing setting
  DEFAULT_PAGINATION_CLASS is changed to 'None'
  add content block and breadcrumbs_empty block to allow base.html to be reused
  Update 7-schemas-and-client-libraries.md
  Updated testimonial name on funding site
  ID must start from 1 again
2017-03-24 15:21:43 +01:00
Tom Christie
0fdaf4f481 Merge pull request #5001 from jpadilla/docs-cleanup
JavaScript cleanup in API Docs.
2017-03-22 14:01:00 +00:00
Tom Christie
8e9cb1e614 Merge pull request #5014 from dczech/feature/decouple-bigautofield
Include URL path regexs in API schemas where valid.
2017-03-22 09:37:07 +00:00
Sergey Petrunin
b0a0c30bfe Added pytz exception in compat module.
Mock pytz.timezone localize in tests.
Ref: #4986
2017-03-22 00:03:32 -04:00
Dariusz Czech
54d0901f38 Leave parameters with regex pattern as String 2017-03-21 15:15:20 +01:00
Dariusz Czech
9074e3e478 restored original formatting 2017-03-21 08:40:59 +01:00
Sergey Petrunin
e4a1bd140b Update error message.
Ref: #4986
2017-03-20 18:47:25 -04:00
Dariusz Czech
c7e2d1d976 Do not hint BigAutoField as integer (outside of range) 2017-03-20 22:21:07 +01:00
Tom Christie
7d64cf568a Merge pull request #4998 from COCOLMAN/master
Ensure that pagination is not included in API schema when `page_size=None`.
2017-03-20 15:32:44 +00:00
Sergey Petrunin
d4726dab81 Fix bug for not existent or ambiguous datetime during native to aware conversion in timezone with DST.
Ref: #4986
2017-03-18 23:13:26 -04:00
José Padilla
9e18d005d1
Try to improve browser support 2017-03-17 22:21:14 -04:00
José Padilla
b0f2ec785e
Cleanup and refactor docs api.js script 2017-03-17 21:44:40 -04:00
José Padilla
d8507d3f9c
Move bootstrap modal data attrs to anchor 2017-03-17 21:44:11 -04:00
José Padilla
be0e196e65
Remove unused base.js script 2017-03-17 21:43:20 -04:00
José Padilla
7e76cd8695
Correctly set scheme in coreapi TokenAuthentication 2017-03-17 20:27:36 -04:00
sol HYUN
16aad89459 reverted to fix the issue without changing setting 2017-03-18 06:17:35 +09:00
sol HYUN
9c3edb0921 DEFAULT_PAGINATION_CLASS is changed to 'None'
because the default value was specified, it did not work properly in API
Document
2017-03-18 04:50:01 +09:00
Jeff Johnson
323f59091c add content block and breadcrumbs_empty block to allow base.html to be reused 2017-03-16 09:03:45 -04:00
Xavier Ordoquy
b558c9ecc4 Allow the documentation and schema shortcut functions to get a list of urls to introspect. 2017-03-15 08:07:12 +01:00
Tom Christie
3b466fabe7 Merge pull request #4973 from tomchristie/support-head-in-viewsets
Support HEAD in viewsets
2017-03-13 13:16:04 +00:00
Tom Christie
43b38964ea Support HEAD in viewsets 2017-03-13 12:51:03 +00:00
Tom Christie
0173e9bd21 Use 'items' templatetag throughout. 2017-03-13 12:35:19 +00:00
Tom Christie
2df80c3c9d Merge pull request #4688 from theosotr/feature-source
Support usage of 'source' in `extra_kwargs`.
2017-03-13 10:25:38 +00:00
Tom Christie
d508a3dd1e Merge pull request #4967 from 0xKD/patch-2
Update coreapi.js version in JavaScript API docs.
2017-03-13 10:06:35 +00:00
Tom Christie
de9a8c4811 Fix mime type on schema.js endpoint. Closes #4968. 2017-03-13 10:03:13 +00:00
Kedar
9e62bc51ec Update coreapi.js version 2017-03-11 11:19:26 +05:30
Tom Christie
928f7cb40f Version 3.6.2 2017-03-10 13:00:08 +00:00
Tom Christie
7a8fb262f2 Fallback to more widely supported JS feature sets. (#4961) 2017-03-10 12:07:15 +00:00
Tom Christie
9ccdc4366f Merge branch 'master' of github.com:tomchristie/django-rest-framework 2017-03-10 10:59:39 +00:00
Tom Christie
9baa1fde15 Add 'mark_safe' in template tags. Closes #4952. Closes #4953. 2017-03-10 10:59:31 +00:00
Michael Palmer
81887bdc4e Add glyphicon fonts to static docs (#4951)
* Fixes #4950.
2017-03-10 10:37:31 +00:00
Tom Christie
f51bb5ac8b Drop unneeded comment 2017-03-10 09:10:29 +00:00
Chris Carty
bc2c76a000 fixed issue on schemas.py where if model._meta.get_field(variable) failed model_field was not set to None and would reult in an error 2017-03-09 21:11:52 -05:00
Tom Christie
544b4b9948 Ensure 'markdown' dependancy is optional. Refs #4941. (#4947) 2017-03-09 16:50:00 +00:00
Tom Christie
52db57a6e7 Version 3.6 (#4943) 2017-03-09 14:49:51 +00:00
Xavier Ordoquy
537df7a6ad Extract APISchemaView and APIRootView out of the DefaultRouter. (#4707) 2017-03-07 13:39:08 +00:00
Tibo Beijen
cf5d401a0e Allow required false and default (#4692)
* Default value will now be used when serializing if key or attribute is missing.
2017-03-07 13:19:19 +00:00
Tom Christie
68d2020112 Live API documentation (#4755) 2017-03-03 15:24:37 +00:00
Tim Watts
8df340908b Add failing tests and fix for dict that have a key items #4931 (#4932) 2017-03-03 09:23:09 +00:00
tdruez
06a1e12fd8 Fixed Permissions.get_required_object_permissions for #4927 2017-02-28 17:51:32 +01:00
Ran Benita
7a408f6cd2 Guard against the possible misspelling readonly_fields in model serializers
Fixes #4897.
2017-02-22 13:27:23 +02:00
Lanrik
5986f95c8d Rearrange code (#4908)
Minor refactor. Move assignment to after `None` check.
2017-02-20 09:48:19 +00:00
Pavlin Gergov
eacb93d453 Update _not_authenticated's docstring (#4906) 2017-02-20 09:33:54 +00:00
Isaac Stone
289e1e440e Check for collection.Mapping instead of dict
issue #4901
2017-02-19 13:10:03 -08:00
Mariusz Felisiak
40e3462767
Reverted "Removed multi-table inheritance auto created PK from serialize" 1ecbeebbe5. 2017-02-11 17:39:47 +01:00
Tom Christie
eb5774229f Version 3.5.4 (#4894) 2017-02-10 11:15:39 +00:00
李扬
cbad236f6d Add max_length and min_length arguments for ListField (#4877) 2017-02-06 09:36:03 +00:00
Xavier Ordoquy
f4707ad0e0 Merge pull request #4870 from felixxm/issue-dedent
Fixed `dedent` for tab indent.
2017-02-02 11:01:37 +01:00
Mohammad Ashraful Islam
2ec3db8177 fixed url checker ':' to 'http' (#4678) 2017-02-01 12:20:06 +00:00
Mariusz Felisiak
b99272c425
Fixed dedent for tab indent. 2017-01-31 20:57:52 +01:00
Mariusz Felisiak
3001b56e06 Fixed Django 2.0 compatibility due to django.conf.urls.include parameters change. (#4866) 2017-01-30 16:11:19 +00:00
Mariusz Felisiak
1c437a793c
Removed unnecessary importlib wrapper. 2017-01-29 20:38:39 +01:00
Mariusz Felisiak
1ecbeebbe5 Fixed #4574 -- Removed multi-table inheritance auto created PK from serialize. (#4852) 2017-01-26 14:18:43 +00:00
Ekwenugo Mirabel
217a81f19b Use correct label for username field in login template (#4841) 2017-01-24 09:07:32 +00:00
Mariusz Felisiak
5c0f9f147c Removed unnecessary utc wrapper. (#4839) 2017-01-23 16:22:32 +00:00
Luca
635dc03529 Parametrizable viewset custom views reverse name (#4821) 2017-01-19 15:20:34 +00:00
Asif Saifuddin Auvi
026a8d8707 make lint happy with isort --recursive 2017-01-18 22:15:44 +06:00
Asif Saifuddin Auvi
bc3849bd59 added utc compat to fields 2017-01-18 19:31:04 +06:00
Asif Saifuddin Auvi
5717e853db fix import of utc 2017-01-18 19:28:57 +06:00
Asif Saifuddin Auvi
5436df54c6 added compat shim for utc/UTC 2017-01-18 19:06:41 +06:00
Artem Muterko
06a5bcc88e Add mediatype tests (#4813) 2017-01-16 18:17:51 +00:00
Ryan P Kilby
50c2d71a80 tox/travis maintenance (#4811)
* Use py36 on travis

* Remove basepython from tox

* Use py27 on travis

* Use version ranges for dependencies

* Use tox-travis to sync python/env factors

* Add toxenv/django env vars to codecov build vars

* Use raw string to fix py36 invalid escape sequence
2017-01-16 13:51:07 +00:00
Artem Muterko
b6b2c4bb5b Renderer tests (#4791) 2017-01-08 16:33:43 +00:00
Artem Muterko
4dd71d68d2 Remove extra parentheses (#4789) 2017-01-08 16:09:23 +00:00
Artem Muterko
773b68e188 Fix typos in Python files 2017-01-08 15:36:49 +02:00
Roman Vasilyev
64e801e479 get view for django 'virtual hosts' (#4776)
Brill, thanks! 👍
2017-01-06 22:46:36 +00:00
Artem Muterko
a5fcf10c0e Raise RuntimeError when trying to encode coreapi objects (#4790) 2017-01-06 22:32:13 +00:00
Ryan P Kilby
11fd3bf108 Add disabling of declared fields on serializer subclasses (#4764)
* Add test for disabling declared fields on child
* Check that declared base field is not in attrs
* Update meta inheritance docs to include serializer
* Test that meta fields cannot be declared as None
* Add docs example for declarative field disabling
2017-01-03 21:14:19 +00:00
Nik Nyby
24e082b142 docs: typo fix: it's -> its 2016-12-22 12:44:43 -05:00
Matthew Medal
93fe531dea Breadcrumb view name suffix fix (#4750)
* add failing testcase for breadcrumb suffixes missing when using ModelViewSets

* fix get_breadcrumbs to honor overridden get_view_name and keep viewset suffixes

* ensure suffixes are appended in breadcrumb util
2016-12-20 22:19:00 +00:00
Christian Hess
f38734ef98 Add new line correctly in docstring sections (#4759)
The order of the line break was wrong
2016-12-20 16:26:18 +00:00
Eduard Iskandarov
ebe174c0d7 add per-view custom exception handler support (#4753) 2016-12-15 12:36:40 +00:00
Thodoris Sotiropoulos
4c2d6b9bb7 Do not ignore source when building fields dynamically
This commit fixes the issue when you set the keyword argument `source`
and your have not set the serializer fields explicitly. Then the
construction of field failed because there is not actually any model
field with that name.

However, you are still able to imply the name of model field by
providing the `source` keyword argument.
2016-11-17 18:51:22 +02:00
Tom Christie
24791cb353 Invalidate any existing prefetch cache on PUT requests. (#4668) 2016-11-11 09:44:35 +00:00
Tom Christie
8bab7f8d58 Only apply the nested writes test to writable fields. (#4669) 2016-11-10 16:36:56 +00:00
Tom Christie
ea60872e9e Version 3.5.3 [ci skip] 2016-11-07 13:38:48 +00:00
Tom Christie
8d72535be9 Fix FilterSet warnings. (#4660) 2016-11-07 12:55:18 +00:00
Rex Salisbury
06df61e38c handle error when no links are found (#4649)
This is to address https://github.com/tomchristie/django-rest-raml/issues/5

The problem is that if you try to generate RAML docs when you haven't set up any views, you get the above error (min called on an empty list).  

unfortunately, this PR is not very helpful since it doesn't actually surface a readable error to the user.  Not sure what the best way to address this would be...
2016-11-07 11:41:10 +00:00
James Beith
befacfb00d Add autofocus support for input.html templates (#4650)
This change adds support to use `'autofocus': True` in the style options and have the `autofocus` attribute included on the input field when rendered.
2016-11-07 11:34:53 +00:00
Andrzej Pragacz
45e058d7ba Fix unhandled Http404, PermissionDenied in schema generation (#4645) (#4646) 2016-11-02 09:04:01 +00:00
Tom Christie
2bf082a623 Version 3.5.2 [ci skip] (#4641) 2016-11-01 11:31:20 +00:00
Tom Christie
276ed80fd3 Support 'on'/'off' literals with BooleanField. Closes #4624 (#4640) 2016-11-01 11:11:34 +00:00
Kennedy Mwenja
7038571157 Enable cursor pagination of value querysets. (#4569)
To do `GROUP_BY` queries in django requires one to use `.values()`
eg this groups posts by user getting a count of posts per user.

```
Posts.objects.order_by('user').values('user').annotate(post_count=Count('post'))
```

This would produce a value queryset which serializes its result
objects as dictionaries while `CursorPagination` requires a queryset
with result objects that are model instances.

This commit enables cursor pagination for value querysets.

- had to mangle the tests a bit to test it out. They might need
  some refactoring.
- tried the same for `.values_list()` but it turned out to be
  trickier than I expected since you have to use tuple indexes.
2016-11-01 10:42:01 +00:00
Nicolas Delaby
97d848413e Fix support of get_full_details() for Throttled exceptions (#4627)
Since `str` objects are immutable, appending to existing `str` creates
in fact a new `str` instance.

Thus `ErrorDetail.detail.code` attribute is lost after `str` concatenation operation.
2016-11-01 10:38:56 +00:00
Kieran Spear
98df932194 Fix FilterSet proxy (#4620) 2016-11-01 10:30:17 +00:00
Ryan P Kilby
d92b24a0b7 Make serializer fields import explicit (#4628) 2016-11-01 10:27:11 +00:00
Tom Christie
5c54b227c1 Drop redundant requests adapter (#4639) 2016-11-01 10:24:53 +00:00
Tom Christie
7eb6cdca00 Don't lose exception info (#4638) 2016-11-01 10:22:30 +00:00
Alex Kahan
895c67c9a2 Fixes #4532 (#4636) 2016-10-31 20:41:54 +00:00
Ryan P Kilby
eafc9a2393 Fix is_simple_callable with variable args, kwargs (#4622) 2016-10-25 20:47:24 +01:00
Tom Christie
3b39d2d13a Version 3.5.1 [ci skip] 2016-10-21 17:10:38 +01:00
Tom Christie
30bf9df5d0 Fix guardian import (#4612) 2016-10-21 16:59:43 +01:00
Tom Christie
0fe0e1e703 Fix schema base paths (#4611) 2016-10-21 16:59:34 +01:00
Tom Christie
f1bdce17b5 Fix for case of ListSerializer with single item (#4609) 2016-10-21 15:21:23 +01:00