|
1 | 1 | from typing import Any, Collection, Optional, Set, Tuple, Type, TypeVar, Union
|
2 | 2 |
|
| 3 | +from django.contrib.auth.backends import ModelBackend |
3 | 4 | from django.contrib.auth.base_user import AbstractBaseUser as AbstractBaseUser, BaseUserManager as BaseUserManager
|
4 | 5 | from django.contrib.auth.validators import UnicodeUsernameValidator
|
5 | 6 | from django.contrib.contenttypes.models import ContentType
|
@@ -43,11 +44,20 @@ class UserManager(BaseUserManager[_T]):
|
43 | 44 | def create_superuser(
|
44 | 45 | self, username: str, email: Optional[str], password: Optional[str], **extra_fields: Any
|
45 | 46 | ) -> _T: ...
|
| 47 | + def with_perm( |
| 48 | + self, |
| 49 | + perm: Union[str, Permission], |
| 50 | + is_active: bool = ..., |
| 51 | + include_superusers: bool = ..., |
| 52 | + backend: Optional[Union[Type[ModelBackend], str]] = ..., |
| 53 | + obj: Optional[Model] = ..., |
| 54 | + ): ... |
46 | 55 |
|
47 | 56 | class PermissionsMixin(models.Model):
|
48 | 57 | is_superuser = models.BooleanField()
|
49 | 58 | groups = models.ManyToManyField(Group)
|
50 | 59 | user_permissions = models.ManyToManyField(Permission)
|
| 60 | + def get_user_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ... |
51 | 61 | def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
52 | 62 | def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
53 | 63 | def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ...
|
@@ -88,6 +98,7 @@ class AnonymousUser:
|
88 | 98 | def groups(self) -> EmptyManager: ...
|
89 | 99 | @property
|
90 | 100 | def user_permissions(self) -> EmptyManager: ...
|
| 101 | + def get_user_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ... |
91 | 102 | def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[Any]: ...
|
92 | 103 | def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ...
|
93 | 104 | def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ...
|
|
0 commit comments