Revision 2a32f17b cloudcmsfaq/models.py

b/cloudcmsfaq/models.py
95 95
    def __unicode__(self):
96 96
        return self.title
97 97

  
98
    def get_absolute_url(self):
99
        return reverse('cloudcmsfaq_category_archive', 'cloudcmsfaq.urls', (), {
100
            'category': self.slug,
101
        })
102

  
103 98
    def save(self, *args, **kwargs):
104 99
        if not self.slug:
105 100
            self.slug = slugify(self.title)
......
142 137
        help_text=_('Will be filled in automatically when question gets published.'))
143 138
    last_changed = models.DateTimeField(_('last change'), auto_now=True, editable=False)
144 139

  
140
    service = models.ForeignKey('cloudcms.Service', verbose_name=_('service'),
141
        related_name='faqs', null=True, blank=False)
142

  
145 143
    category = models.ForeignKey(Category, verbose_name=_('category'),
146 144
        related_name='faqs', null=False, blank=False)
147 145

  
......
149 147

  
150 148
    class Meta:
151 149
        get_latest_by = 'published_on'
152
        ordering = ['-published_on']
150
        ordering = ['service', 'category', '-published_on']
153 151
        verbose_name = _('faq')
154 152
        verbose_name_plural = _('faqs')
155 153

  
......
160 158
        try:
161 159
            r = reverse('cloudcmsfaq_question_detail', 'cloudcmsfaq.urls', (),
162 160
                    {
163
                     'category': self.category.translation.slug,
161
                     'service': self.service.translation.slug,
164 162
                     'slug': self.slug,
165 163
                    })
166 164
        except Exception, e:
......
183 181

  
184 182

  
185 183
# Feincms navigation extension
186
class FaqCategoriesNavigationExtension(NavigationExtension):
184
class FaqServicesNavigationExtension(NavigationExtension):
187 185
    """
188 186
    Navigation extension for FeinCMS which lists all categories that user
189 187
    wants to include in global site navigation.
......
192 190
    name = _('faq categories')
193 191

  
194 192
    def children(self, page, **kwargs):
195
        for category in Category.objects.filter(display_on_menu=True):
196
            url='%scategory/%s/' % (page.get_absolute_url(), category.translation.slug)
193
        from cloudcms.models import Service
194

  
195
        for service in Service.objects.filter(display_on_menu=True):
196
            url='%sservice/%s/' % (page.get_absolute_url(), service.translation.slug)
197 197
            yield PagePretender(
198
                title=category.translation.title,
198
                title=service.translation.title,
199 199
                tree_id=page.tree_id,
200 200
                url=url,
201 201
                lft=0,

Also available in: Unified diff