X-Git-Url: https://code.grnet.gr/git/snf-cloudcms/blobdiff_plain/02419f3830f2b2fc77f0aed2340e6fd6740d22f9..5592cede6bfb7f8364f064ef7678a5360495ebbd:/cloudcmsblog/models.py diff --git a/cloudcmsblog/models.py b/cloudcmsblog/models.py index 7fabba9..d119e0b 100644 --- a/cloudcmsblog/models.py +++ b/cloudcmsblog/models.py @@ -73,11 +73,13 @@ class Category(models.Model, translations.TranslatedObjectMixin): objects = translations.TranslatedObjectManager() + def entries_count(self): + return self.blogentries.count() + def __unicode__(self): trans = translations.TranslatedObjectMixin.__unicode__(self) return trans or _('Unnamed category') - class CategoryTranslation(translations.Translation(Category)): """ Category translation @@ -95,10 +97,23 @@ class CategoryTranslation(translations.Translation(Category)): return self.title def get_absolute_url(self): - return reverse('cloudcmsblog_entries_archive', 'cloudcmsblog.urls', (), { + r = reverse('cloudcmsblog_entries_archive', 'cloudcmsblog.urls', (), { 'category': self.slug, }) + # ugly hack to fix proper application reverse url + BLOG_URL = "" + try: + BLOG_URL = get_blog_page().get_navigation_url() + except Exception, e: + print e + + if r.startswith(BLOG_URL): + return r + else: + return BLOG_URL + r.lstrip('/') + + def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(self.title) @@ -185,7 +200,6 @@ class Entry(Base): def back_url(self): return get_blog_page().get_navigation_url() - # Feincms navigation extension class BlogCategoriesNavigationExtension(NavigationExtension): """ @@ -204,6 +218,7 @@ class BlogCategoriesNavigationExtension(NavigationExtension): url=url, lft=0, rght=0, + level=page.level + 1, # blog categories are nested, assign correct level slug=category.translation.slug, )