add permission list api view
This commit is contained in:
@@ -4,9 +4,24 @@ from django.utils.translation import gettext_lazy as _
|
||||
from core.apps.shared.models import BaseModel
|
||||
|
||||
|
||||
class PermissionToAction(BaseModel):
|
||||
name = models.CharField(max_length=200)
|
||||
code = models.CharField(max_length=100, unique=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Harakatlar uchun ruxsatnoma')
|
||||
verbose_name_plural = _('Harakatlar uchun ruxsatnomalar')
|
||||
|
||||
|
||||
class PermissionToTab(BaseModel):
|
||||
name = models.CharField(max_length=200)
|
||||
code = models.CharField(max_length=100, unique=True)
|
||||
permission_to_actions = models.ManyToManyField(
|
||||
PermissionToAction, related_name='permission_to_tabs'
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name} - {self.code}'
|
||||
|
||||
@@ -2,12 +2,17 @@ from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from core.apps.shared.models import BaseModel
|
||||
from core.apps.accounts.models.permission import Permission, PermissionToTab
|
||||
from core.apps.accounts.models.permission import Permission, PermissionToTab, PermissionToAction
|
||||
|
||||
|
||||
class Role(BaseModel):
|
||||
name = models.CharField(max_length=200, unique=True)
|
||||
permissions = models.ManyToManyField(Permission, related_name='roles', blank=True)
|
||||
permission_to_tabs = models.ManyToManyField(PermissionToTab, related_name='roles', blank=True)
|
||||
permission_to_actions = models.ManyToManyField(
|
||||
PermissionToAction, related_name='roles', blank=True
|
||||
)
|
||||
comment = models.CharField(max_length=200, null=True, blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@@ -10,7 +10,7 @@ class User(BaseModel, AbstractUser):
|
||||
profile_image = models.ImageField(
|
||||
upload_to="users/profile_images/", null=True, blank=True, verbose_name=_('profil rasmi')
|
||||
)
|
||||
role = models.ForeignKey(Role, on_delete=models.DO_NOTHING, null=True, related_name="users")
|
||||
role = models.ForeignKey(Role, on_delete=models.SET_NULL, null=True, related_name="users")
|
||||
full_name = models.CharField(max_length=200, null=True)
|
||||
is_blocked = models.BooleanField(default=False)
|
||||
phone_number = models.CharField(max_length=15, null=True)
|
||||
|
||||
Reference in New Issue
Block a user