Skip to content

Commit

Permalink
fix: Check permissions methods expects any model, not a user model on…
Browse files Browse the repository at this point in the history
…ly (#270)

Those checks were wrongly typed as it as those methods accept any model. It also makes no sense to limit the objects to the user as it's the user itself checking for a permission in a given object.

Reference: https://docs.djangoproject.com/en/5.1/ref/contrib/auth/#available-authentication-backends
  • Loading branch information
bellini666 authored Oct 7, 2024
1 parent 610f267 commit 700fb6a
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions django-stubs/contrib/auth/models.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,14 @@ class UserManager(BaseUserManager[_T]):
username: str,
email: str | None = ...,
password: str | None = ...,
**extra_fields: Any
**extra_fields: Any,
) -> _T: ...
def create_superuser(
self,
username: str,
email: str | None,
password: str | None,
**extra_fields: Any
**extra_fields: Any,
) -> _T: ...
def with_perm(
self,
Expand All @@ -78,13 +78,11 @@ class PermissionsMixin(models.Model):
is_superuser = models.BooleanField()
groups = models.ManyToManyField[Group, Any](Group)
user_permissions = models.ManyToManyField[Permission, Any](Permission)
def get_user_permissions(self, obj: _AnyUser | None = ...) -> set[str]: ...
def get_group_permissions(self, obj: _AnyUser | None = ...) -> set[str]: ...
def get_all_permissions(self, obj: _AnyUser | None = ...) -> set[str]: ...
def has_perm(self, perm: str, obj: _AnyUser | None = ...) -> bool: ...
def has_perms(
self, perm_list: Iterable[str], obj: _AnyUser | None = ...
) -> bool: ...
def get_user_permissions(self, obj: Model | None = ...) -> set[str]: ...
def get_group_permissions(self, obj: Model | None = ...) -> set[str]: ...
def get_all_permissions(self, obj: Model | None = ...) -> set[str]: ...
def has_perm(self, perm: str, obj: Model | None = ...) -> bool: ...
def has_perms(self, perm_list: Iterable[str], obj: Model | None = ...) -> bool: ...
def has_module_perms(self, app_label: str) -> bool: ...

class AbstractUser(AbstractBaseUser, PermissionsMixin):
Expand Down

0 comments on commit 700fb6a

Please sign in to comment.