25 lines
841 B
Python
25 lines
841 B
Python
from django.db import models
|
|
|
|
class SidebarMenuItem(models.Model):
|
|
MENU_TYPES = [
|
|
("title", "Título de sección"),
|
|
("link", "Enlace simple"),
|
|
("submenu", "Submenú (con hijos)"),
|
|
]
|
|
|
|
type = models.CharField(max_length=10, choices=MENU_TYPES)
|
|
label = models.CharField(max_length=100)
|
|
icon = models.CharField(max_length=100, blank=True, null=True)
|
|
url = models.CharField(max_length=200, blank=True, null=True)
|
|
badge = models.CharField(max_length=50, blank=True, null=True)
|
|
parent = models.ForeignKey("self", null=True, blank=True, on_delete=models.CASCADE, related_name="children")
|
|
order = models.PositiveIntegerField(default=0)
|
|
open_in_new_tab = models.BooleanField(default=False)
|
|
|
|
|
|
class Meta:
|
|
ordering = ["order"]
|
|
|
|
def __str__(self):
|
|
return self.label
|