fix bug in lists

This commit is contained in:
bkfox 2017-06-21 13:28:18 +02:00
parent 262ea2c2ef
commit 30116ad43d
2 changed files with 15 additions and 9 deletions

View File

@ -182,6 +182,7 @@ class BaseList(models.Model):
none = 0x00 none = 0x00
subpages = 0x01 subpages = 0x01
siblings = 0x02 siblings = 0x02
subpages_or_siblings = 0x03
# rendering # rendering
use_focus = models.BooleanField( use_focus = models.BooleanField(
@ -277,11 +278,14 @@ class BaseList(models.Model):
def __get_related(self, qs): def __get_related(self, qs):
related = self.related and self.related.specific related = self.related and self.related.specific
if self.relation == self.RelationFilter.siblings: filter = self.RelationFilter
qs = qs.sibling_of(related)
if self.relation in (filter.subpages, filter.subpages_or_siblings):
qs = qs.descendant_of(related)
if not qs.count() and self.relation == filter.subpages_or_siblings:
qs = qs.sibling_of(related)
else: else:
# elif self.relation == RelatedFilter.subpages: qs = qs.sibling_of(related)
qs = qs.descendant_of(related)
date = related.date if hasattr(related, 'date') else \ date = related.date if hasattr(related, 'date') else \
related.first_published_at related.first_published_at
@ -316,8 +320,8 @@ class BaseList(models.Model):
qs = qs.filter(date__gte = date) qs = qs.filter(date__gte = date)
# sort # sort
qs = qs.order_by('date', 'pk') \ qs = qs.order_by('date', 'pk') \
if self.asc else qs.order_by('-date', '-pk') if self.asc else qs.order_by('-date', '-pk')
# tags # tags
if self.tags: if self.tags:
@ -398,7 +402,7 @@ class BaseList(models.Model):
} }
params.update(kwargs) params.update(kwargs)
if params.get('related'): if self.related:
params['related'] = True params['related'] = True
params = '&'.join([ params = '&'.join([

View File

@ -90,8 +90,10 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content_extras %} {% if view != 'list' %}
{% endblock %} {% block content_extras %}
{% endblock %}
{% endif %}
<div class="post_content"> <div class="post_content">
{% render_sections position="post_content" %} {% render_sections position="post_content" %}