mirror of
https://github.com/davidhalter/django-stubs.git
synced 2026-05-19 23:09:56 +08:00
Update django.contrib.auth with Django 3.0 compatibility (#256)
* Add support for BaseBackend * Add User.get_user_permissions * Add support for UserManager.with_perm * Add support for reset_url_token
This commit is contained in:
committed by
Maksim Kurnikov
parent
5a45544e76
commit
eba3f6cb15
@@ -1,7 +1,7 @@
|
|||||||
from typing import Any, Optional, Set, Union
|
from typing import Any, Optional, Set, Union
|
||||||
|
|
||||||
from django.contrib.auth.base_user import AbstractBaseUser
|
from django.contrib.auth.base_user import AbstractBaseUser
|
||||||
from django.contrib.auth.models import AnonymousUser, User
|
from django.contrib.auth.models import AnonymousUser, User, Permission
|
||||||
|
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
|
|
||||||
@@ -9,17 +9,26 @@ _AnyUser = Union[Model, AnonymousUser]
|
|||||||
|
|
||||||
UserModel: Any
|
UserModel: Any
|
||||||
|
|
||||||
class ModelBackend:
|
class BaseBackend:
|
||||||
def authenticate(
|
def authenticate(
|
||||||
self, request: Any, username: Optional[str] = ..., password: Optional[str] = ..., **kwargs: Any
|
self, request: Any, username: Optional[str] = ..., password: Optional[str] = ..., **kwargs: Any
|
||||||
) -> Optional[AbstractBaseUser]: ...
|
) -> Optional[AbstractBaseUser]: ...
|
||||||
def user_can_authenticate(self, user: Optional[_AnyUser]) -> bool: ...
|
def get_user(self, user_id: int) -> Optional[AbstractBaseUser]: ...
|
||||||
def get_user_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ...
|
def get_user_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ...
|
||||||
def get_group_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ...
|
def get_group_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ...
|
||||||
def get_all_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ...
|
def get_all_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ...
|
||||||
def has_perm(self, user_obj: _AnyUser, perm: str, obj: Optional[Model] = ...) -> bool: ...
|
def has_perm(self, user_obj: _AnyUser, perm: str, obj: Optional[Model] = ...) -> bool: ...
|
||||||
|
|
||||||
|
class ModelBackend(BaseBackend):
|
||||||
def has_module_perms(self, user_obj: _AnyUser, app_label: str) -> bool: ...
|
def has_module_perms(self, user_obj: _AnyUser, app_label: str) -> bool: ...
|
||||||
def get_user(self, user_id: int) -> AbstractBaseUser: ...
|
def user_can_authenticate(self, user: Optional[_AnyUser]) -> bool: ...
|
||||||
|
def with_perm(
|
||||||
|
self,
|
||||||
|
perm: Union[str, Permission],
|
||||||
|
is_active: bool = ...,
|
||||||
|
include_superusers: bool = ...,
|
||||||
|
obj: Optional[Model] = ...,
|
||||||
|
): ...
|
||||||
|
|
||||||
class AllowAllUsersModelBackend(ModelBackend): ...
|
class AllowAllUsersModelBackend(ModelBackend): ...
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from typing import Any, Collection, Optional, Set, Tuple, Type, TypeVar, Union
|
from typing import Any, Collection, Optional, Set, Tuple, Type, TypeVar, Union
|
||||||
|
|
||||||
|
from django.contrib.auth.backends import ModelBackend
|
||||||
from django.contrib.auth.base_user import AbstractBaseUser as AbstractBaseUser, BaseUserManager as BaseUserManager
|
from django.contrib.auth.base_user import AbstractBaseUser as AbstractBaseUser, BaseUserManager as BaseUserManager
|
||||||
from django.contrib.auth.validators import UnicodeUsernameValidator
|
from django.contrib.auth.validators import UnicodeUsernameValidator
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
@@ -43,11 +44,20 @@ class UserManager(BaseUserManager[_T]):
|
|||||||
def create_superuser(
|
def create_superuser(
|
||||||
self, username: str, email: Optional[str], password: Optional[str], **extra_fields: Any
|
self, username: str, email: Optional[str], password: Optional[str], **extra_fields: Any
|
||||||
) -> _T: ...
|
) -> _T: ...
|
||||||
|
def with_perm(
|
||||||
|
self,
|
||||||
|
perm: Union[str, Permission],
|
||||||
|
is_active: bool = ...,
|
||||||
|
include_superusers: bool = ...,
|
||||||
|
backend: Optional[Union[Type[ModelBackend], str]] = ...,
|
||||||
|
obj: Optional[Model] = ...,
|
||||||
|
): ...
|
||||||
|
|
||||||
class PermissionsMixin(models.Model):
|
class PermissionsMixin(models.Model):
|
||||||
is_superuser = models.BooleanField()
|
is_superuser = models.BooleanField()
|
||||||
groups = models.ManyToManyField(Group)
|
groups = models.ManyToManyField(Group)
|
||||||
user_permissions = models.ManyToManyField(Permission)
|
user_permissions = models.ManyToManyField(Permission)
|
||||||
|
def get_user_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
||||||
def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
||||||
def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
||||||
def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ...
|
def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ...
|
||||||
@@ -88,6 +98,7 @@ class AnonymousUser:
|
|||||||
def groups(self) -> EmptyManager: ...
|
def groups(self) -> EmptyManager: ...
|
||||||
@property
|
@property
|
||||||
def user_permissions(self) -> EmptyManager: ...
|
def user_permissions(self) -> EmptyManager: ...
|
||||||
|
def get_user_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
||||||
def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[Any]: ...
|
def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[Any]: ...
|
||||||
def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
||||||
def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ...
|
def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ...
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ class PasswordResetDoneView(PasswordContextMixin, TemplateView):
|
|||||||
class PasswordResetConfirmView(PasswordContextMixin, FormView):
|
class PasswordResetConfirmView(PasswordContextMixin, FormView):
|
||||||
post_reset_login: bool = ...
|
post_reset_login: bool = ...
|
||||||
post_reset_login_backend: Any = ...
|
post_reset_login_backend: Any = ...
|
||||||
|
reset_url_token: str = ...
|
||||||
title: Any = ...
|
title: Any = ...
|
||||||
token_generator: Any = ...
|
token_generator: Any = ...
|
||||||
validlink: bool = ...
|
validlink: bool = ...
|
||||||
|
|||||||
Reference in New Issue
Block a user