permissions per page and add dam.rasadyar.com in allowed hosts
This commit is contained in:
@@ -5,9 +5,42 @@ from apps.core.models import BaseModel
|
||||
|
||||
# Create your models here.
|
||||
|
||||
class Page(BaseModel):
|
||||
""" every front-end page on system """
|
||||
|
||||
code = models.CharField(max_length=100, unique=True)
|
||||
name = models.CharField(max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name}-{self.code}'
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
super(Page, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class Permissions(BaseModel):
|
||||
""" permission level of users """
|
||||
|
||||
name = models.CharField(max_length=50)
|
||||
description = models.TextField(max_length=500)
|
||||
category_choices = (
|
||||
('api', 'Api'),
|
||||
('page', 'Page َAccess'),
|
||||
('element', 'UI Element'),
|
||||
('feature', 'Feature / Action')
|
||||
)
|
||||
category = models.CharField(
|
||||
max_length=50,
|
||||
choices=category_choices,
|
||||
default='api'
|
||||
)
|
||||
meta = models.JSONField(default=dict)
|
||||
page = models.ForeignKey(
|
||||
Page,
|
||||
on_delete=models.CASCADE,
|
||||
related_name='permission_page',
|
||||
null=True
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name}-{self.description}'
|
||||
|
||||
Reference in New Issue
Block a user