X-Git-Url: https://git.sommitrealweird.co.uk/sommitrealweird.git/blobdiff_plain/56b2cdf3569443cf4504fe085de9db0466dcd09f..e9117948b2fdeafe66ed1d4b06f76820c4adbef6:/sommitrealweird/bpcms/models.py?ds=sidebyside diff --git a/sommitrealweird/bpcms/models.py b/sommitrealweird/bpcms/models.py index f538421..6df6781 100644 --- a/sommitrealweird/bpcms/models.py +++ b/sommitrealweird/bpcms/models.py @@ -1,5 +1,7 @@ from django.db import models -from bpcms.content_val import is_unique_name +from django.conf import settings +from django.contrib import admin +from django.core.cache import cache FORMAT_CHOICES = ( ('rst', 'reStructuredText'), @@ -7,11 +9,11 @@ FORMAT_CHOICES = ( ) class Document(models.Model): - title = models.CharField(maxlength=150) + title = models.CharField(max_length=150) islive = models.BooleanField() folder = models.ForeignKey('Folder', null=True, blank=True) - format = models.CharField(maxlength=10, choices=FORMAT_CHOICES) - slug = models.SlugField(prepopulate_from=("title",), validator_list=[is_unique_name,]) + format = models.CharField(max_length=10, choices=FORMAT_CHOICES) + slug = models.SlugField() content = models.TextField() def __str__(self): @@ -44,23 +46,20 @@ class Document(models.Model): if folderstring != u'': folderstring = "%s/" %(folderstring,) - return "%s%s/" %(folderstring, self.slug) - - class Admin: - pass + return "%s%s%s/" %(settings.BPCMS_ROOT, folderstring, self.slug) class Folder(models.Model): - title = models.CharField(maxlength=150) - slug = models.SlugField(prepopulate_from=("title",)) + title = models.CharField(max_length=150) + slug = models.SlugField() parent = models.ForeignKey('self', null=True, blank=True) def __str__(self): return self.__unicode__() def __unicode__(self): - return u'%s' %(self.title) + return u'%s - %s' %(self.get_path(), self.title) - def get_basic_url(self): + def get_path(self): folders = [] curfolder = self while curfolder != None: @@ -72,7 +71,15 @@ class Folder(models.Model): if folderstring != u'': folderstring = "%s/" %(folderstring,) - return "%s" %(folderstring) + return folderstring + + def save(self, force_insert=False, force_update=False): + super(Folder, self).save(force_insert, force_update) + if self.parent == None: + cache.delete('bpcms_mainmenu') + else: + cache.delete('bpcms_submenu_%s' %(self.get_path())) + - class Admin: - pass + def get_basic_url(self): + return "%s%s" %(settings.BPCMS_ROOT, self.get_path())