Commit Graph

8302 Commits

Author SHA1 Message Date
Tom Christie
39b54efd08
Update setup.cfg 2022-07-01 10:38:15 +01:00
Tom Christie
34d33c3dee
Update rest_framework/permissions.py 2022-07-01 10:33:49 +01:00
Mark Yu
2d4858af3b Change semantic of OR of two permission classes
The original semantic of OR is defined as: the request pass either of the two has_permission() check, and pass either of the two has_object_permission() check, which could lead to situations that a request passes has_permission() but fails on has_object_permission() of Permission Class A, fails has_permission() but passes has_object_permission() of Permission Class B, passes the OR permission check. This should not be the desired permission check semantic in applications, because such a request should fail on either Permission Class (on Django object permission) alone, but passes the OR or the two.

My code fix this by changing the semantic so that the request has to pass either class's has_permission() and has_object_permission() to get the Django object permission of the OR check.
2020-09-09 17:58:23 +01:00
Mohammad Amin Haghpanah
04f39c42ee
Add drf-psq package to docs (#7451)
* Add drf-psq to third party packages

* Add drf-psq to permissions.md

this package is an extension that gives support for having action-based **permission_classes**, **serializer_class**, and **queryset** dependent on permission-based rules.

Co-authored-by: Salar Nasiri <salarnasiri@users.noreply.github.com>
2020-09-09 08:54:05 +01:00
Rafael Henter
327cbef299
Add Django API Client to the third party packages (#7440) 2020-09-08 15:44:03 +01:00
Francisco Couzo
6b632c15b1
Remove unnecessary type conversions (#7526) 2020-09-08 15:42:01 +01:00
Michael K
ddcd8b539b
Run tests against Python 3.9 (#7517)
3.9.0 final is expected on Monday, 2020-10-05
See https://www.python.org/dev/peps/pep-0596/#schedule

Also mention Django 3.1 compat where missing.
2020-09-08 15:40:21 +01:00
Adam Johnson
410575dace
Replace all url() calls with path() or re_path() (#7512)
* url() is deprecated in Django 3.1

* update given feedbacks on url() is deprecated in Django 3.1

* Fix test_urlpatterns.py to continue testing mixed re_path() and path()

* Fix one missed reference

Co-authored-by: sanjusci <sanju.sci9@gmail.com>
2020-09-08 15:32:27 +01:00
David Smith
9990b59281
Dropped test compatibility shims for Django <2.2. (#7523) 2020-09-07 20:00:17 +02:00
David Smith
d5461e93fe
Bump flake8 to 3.8.3 (#7521) 2020-09-05 10:02:27 +02:00
Charles
35c0abf24e
Change Token.generate_key to a Classmethod (#7502)
* adds classmethod decorator to generate_key and test to confirm change is acceptable

* self -> cls
2020-09-03 11:51:03 +01:00
Ryan P Kilby
f323049ecc
Fix pk-only optimization for properties (#7142)
* Add callable/prop tests for pk-only optimization

* Fix related field pk-only optimization for props
2020-09-03 11:49:15 +01:00
Bob Thomas
b3e02592d0
Add support for Django 3.1 JSONField (#7467)
Django 3.1 adds a new generic JSONField to replace the PostgreSQL-specific one. This adds support for the new field type, which should behave the same as the existing PostgreSQL field.

Django's new JSONField also includes support for a custom "decoder", so add support for that in the serializer field.
2020-09-03 11:47:11 +01:00
johnthagen
7f3a3557a0
Add drf_ujson2 reference (#7494) 2020-08-25 15:15:17 -07:00
Vlad
e215db206a
Updated url()'s with path() and re_path() (#7492) 2020-08-25 13:50:02 +02:00
Justin Duke
48c327c681
Fix schema typo (#7491) 2020-08-24 03:44:34 -07:00
Борис Верховский
374c0d4142
Punctuation fix (#7488)
* Punctuation fix

* more punctuation
2020-08-20 13:23:59 +01:00
David Smith
355afcf64b
isort v5 (#7484) 2020-08-17 13:26:56 -07:00
Vibhu Agarwal
3d708ac700
Fix broken docs link (#7473) 2020-08-11 16:36:23 -07:00
Ryan P Kilby
1e383f103a
Check extra action func.__name__ (#7098) 2020-08-05 21:29:47 -07:00
Michael K
0d2bbd3177
Fix Request docstring kwarg names (#7443) 2020-08-05 16:51:06 -07:00
Masked Man
17f2b39bdb
Fix docs issue (#7418) 2020-08-05 15:33:30 -07:00
Tom Christie
7d5155e0eb
Resize sponsor images for new GitHub layout (#7465) 2020-08-05 14:13:01 +01:00
Paul Watts
559088463b
Update an example to not use oppressive language (#7439)
* Update an example to use less oppressive language

For reference: https://tools.ietf.org/id/draft-knodel-terminology-00.html

* Code review update

Blocklisted -> blocked.
2020-07-29 20:21:13 +01:00
Tom Christie
c252c3dfa5
Update sponsors (#7434)
* Adjusted token admin to map to user ID.

Closes #6131.

* Adds a proxy model for Token that uses the user.pk, rather than it's own.
* Adjusts Admin to map back from User ID to token instance.

* Update sponsors

Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2020-07-29 14:55:10 +01:00
John Vandenberg
599e2b183d
urlpatterns: Remove unnecessary branching (#7405)
Functions path and register_converter are constants.
2020-07-23 19:26:35 +02:00
Anirudh Bagri
1e164c5eeb
Just smalling cleaning up, causing confusion (#7426) 2020-07-23 17:34:34 +02:00
Mariusz Felisiak
4b06e0a5a1
Fix tests crash on SQLite without JSON1 extension. (#7409) 2020-07-12 11:08:40 +02:00
Anton Agestam
76232437d4
Allow type checkers to make serializers generic (#7385) 2020-07-07 10:05:36 +01:00
Minjae Kim
d46d5cbaaa
Not include charset when charset is None (#7400) 2020-07-07 09:58:32 +01:00
Oğuzhan Çelikarslan
36bd1b30d8
drf-encrypt-content added into third party list in documentation's serializer page (#7398) 2020-07-06 11:56:46 +01:00
Xavier Ordoquy
28983cb28b
Merge pull request #7290 from encode/xordoquy/fix_action_namespace
Fix viewsets action urls with namespaces (#7287)
2020-07-03 20:18:18 +02:00
Dhaval Mehta
5ce237e004
Corrected regex serialization for OpenAPI. (#7389)
* replace \Z by \z in regex

* fix test cases for Django >= 3.0

* fix isort

* Added comment for why `\z`.

Co-authored-by: Carlton Gibson <carlton@noumenal.es>
2020-06-28 14:28:59 +02:00
Ngô Thanh Lợi (Leonn)
19915d1917
Fix docs typo (#7387) 2020-06-22 14:24:50 -07:00
w
7a04269209
Fixed docs typo (#7382) 2020-06-19 10:29:41 -07:00
Carlton Gibson
e18e40d6ae
Updated Schema docs. (#7268) 2020-06-16 13:33:48 +02:00
Carlton Gibson
e2bd3b6a57
Adjusted token admin to map to user ID. (#7341)
Closes #6131.

* Adds a proxy model for Token that uses the user.pk, rather than it's own.
* Adjusts Admin to map back from User ID to token instance.
2020-06-15 11:43:09 +01:00
Rignon Noël
b677b7b15d
Update link to dry-rest-permissions (#7374)
dry-rest-permissions was no maintain since 2018, so FJNR-inc just got a new PyPi version on their fork
2020-06-11 18:33:04 +01:00
Asif Saif Uddin
acbd9d8222
django 3.1 alpha on matrix (#7334)
* django 3.1 alpha on matrix

* django 3.1 alpha on matrix
2020-05-15 08:40:47 +01:00
Jair Henrique
bb795674f8
Drop all compat support to Django < 2 urls (#7337) 2020-05-14 20:31:38 +02:00
Jair Henrique
65add6679d
Remove unnecessary test skips (#7336) 2020-05-14 14:49:04 +01:00
Jair Henrique
b83e9121f3
Remove compat urls for Django < 2.0 (#7335) 2020-05-14 14:48:14 +01:00
Jair Henrique
aed74961ba
Remove compat for ProhibitNullCharactersValidator (#7333) 2020-05-14 08:24:09 +01:00
johnthagen
fccfdd21c0
Remove object inheritance in docs (#7332) 2020-05-13 17:54:46 -07:00
Carlton Gibson
8bb9a37f4b
Removed duplicated class RemovedInDRF314Warning.
Added accidently in e888fc11c7

Co-authored-by: Jair Henrique <jair.henrique@gmail.com>
2020-05-13 20:41:53 +02:00
Kevin Brown
e888fc11c7
Merge NullBooleanField with BooleanField(allow_null=True) (#7122)
* Make `NullBooleanField` subclass `BooleanField`

This removes a lot of the redundancy that was in place becuase we
were not doing this. This maintains the `None` initial value that
was previously present, as well as disallowing `allow_null` to be
passed in.

* Remove special case for mapping `NullBooleanField`

In newer versions of Django, the `NullBooleanField` is handled the
same way as a `BooleanField(null=True)`. Given that we also support
that combination, and that our own `NullBooleanField` behaves in the
same manner, it makes sense to remove the special casing that exists
for it.

* Add test for BooleanField(null=True, choices)

* Remove special case for NullBooleanField

* Adjust mapping tests for NullBooleanField

* Fixed linting error

* Raise deprecation warning when NullBooleanField is used

* Fix linting issue in imports
2020-05-13 14:59:04 +01:00
Ryan P Kilby
089162e6e3
Fix ModelSerializer unique_together handling for field sources (#7143)
* Fix ModelSerializer unique_together field sources

Updates ModelSerializer to check for serializer fields that map to the
model field sources in the unique_together lists.

* Ensure field name ordering consistency
2020-05-13 11:11:26 +01:00
Derek
00e6079e94
Nginx basic auth tutorial moved (#7324) 2020-05-11 16:29:31 +01:00
Asif Saif Uddin
1260ed424a
jquery 3.5.1 (#7313)
* jquery 3.5.1
2020-05-11 13:08:40 +01:00
Kamil Sampolski
f07f48a5da
Updating documentation / switching from url to path (#7237)
* Update README.md

We should use path instead of url in urlpatterns,

* Update index.md

We should use path instead of url in urlpatterns

* Update README.md

We should use path instead of url in urlpatterns
2020-05-11 11:01:00 +01:00