Beispiel #1
0
class Nav(TendenciBaseModel):
    title = models.CharField(max_length=100, validators=[UnicodeNameValidator()],)
    description = models.TextField(blank=True, null=True)
    megamenu = models.BooleanField(default=False)

    perms = GenericRelation(ObjectPermission,
                                          object_id_field="object_id",
                                          content_type_field="content_type")

    objects = NavManager()

    class Meta:
#         permissions = (("view_nav",_("Can view nav")),)
        app_label = 'navs'

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('navs.detail', args=[self.pk])

    def save(self, *args, **kwargs):
        super(Nav, self).save(*args, **kwargs)
        # reset nav cache
        clear_nav_cache(self)

    @property
    def top_items(self):
        """
        Returns all items with level 0.
        """
        return self.navitem_set.filter(level=0).order_by('position')
Beispiel #2
0
class Category(OrderingBaseModel):
    name = models.CharField(max_length=255, validators=[UnicodeNameValidator()],)
    slug = models.SlugField()
    parent = models.ForeignKey('self', blank=True, null=True, related_name='children', on_delete=models.CASCADE)

    class Meta:
        unique_together = ('slug', 'parent',)
        verbose_name_plural = _("Categories")
        ordering = ('position', 'name')
        app_label = 'directories'

    def __str__(self):
        return self.name
Beispiel #3
0
 def __init__(self, *args, **kwargs):
     super(NavForm, self).__init__(*args, **kwargs)
     self.fields['title'].validators.append(UnicodeNameValidator())