From ea17141321dbfd5b22366af8fb7f6a7de0aad711 Mon Sep 17 00:00:00 2001 From: bkfox Date: Tue, 22 Sep 2020 00:51:00 +0200 Subject: [PATCH] page templates & views reordering --- aircox/admin/sound.py | 1 + aircox/models/page.py | 18 ++-- aircox/templates/aircox/base.html | 16 +--- .../{page.html => basepage_detail.html} | 5 +- aircox/templates/aircox/basepage_list.html | 85 +++++++++++++++++ aircox/templates/aircox/diffusion_list.html | 10 +- aircox/templates/aircox/home.html | 1 + aircox/templates/aircox/log_list.html | 4 +- aircox/templates/aircox/page_detail.html | 5 +- aircox/templates/aircox/page_list.html | 72 +------------- aircox/urls.py | 4 +- aircox/views/__init__.py | 2 +- aircox/views/page.py | 94 +++++++++++++------ 13 files changed, 172 insertions(+), 145 deletions(-) rename aircox/templates/aircox/{page.html => basepage_detail.html} (55%) create mode 100644 aircox/templates/aircox/basepage_list.html diff --git a/aircox/admin/sound.py b/aircox/admin/sound.py index ad46336..b2082cd 100644 --- a/aircox/admin/sound.py +++ b/aircox/admin/sound.py @@ -42,6 +42,7 @@ class SoundAdmin(admin.ModelAdmin): 'type', 'duration', 'is_public', 'is_good_quality', 'audio'] list_filter = ('type', 'is_good_quality', 'is_public') + list_editable = ['name', 'type', 'is_public'] search_fields = ['name', 'program__title'] fieldsets = [ diff --git a/aircox/models/page.py b/aircox/models/page.py index 651cd03..ab2f32a 100644 --- a/aircox/models/page.py +++ b/aircox/models/page.py @@ -218,25 +218,25 @@ class NavItem(models.Model): page = models.ForeignKey(StaticPage, models.CASCADE, verbose_name=_('page'), blank=True, null=True, limit_choices_to={'attach_to__isnull': True}) - #target_type = models.ForeignKey( - # ContentType, models.CASCADE, blank=True, null=True) - #target_id = models.PositiveSmallIntegerField(blank=True, null=True) - #target = GenericForeignKey('target_type', 'target_id') - class Meta: verbose_name = _('Menu item') verbose_name_plural = _('Menu items') ordering = ('order', 'pk') + def get_url(self): + return self.url if self.url else \ + self.page.get_absolute_url() if self.page else None + def render(self, request, css_class='', active_class=''): - if active_class and request.path.startswith(self.url): + url = self.get_url() + if active_class and request.path.startswith(url): css_class += ' ' + active_class - if not self.url: + if not url: return self.text elif not css_class: - return format_html('{}', self.url, self.text) + return format_html('{}', url, self.text) else: - return format_html('{}', self.url, + return format_html('{}', url, css_class, self.text) diff --git a/aircox/templates/aircox/base.html b/aircox/templates/aircox/base.html index a615200..289d76e 100644 --- a/aircox/templates/aircox/base.html +++ b/aircox/templates/aircox/base.html @@ -10,21 +10,6 @@ Usefull context: - sidebar_object_list: item to display in sidebar - sidebar_url_name: url name sidebar item complete list - sidebar_url_parent: parent page for sidebar items complete list - -Blocks: -- assets -- head_title -- head_extra -- top_nav -- header: - - title - - subtitle - - header_meta -- main: - - filters -- cover -- sidebar: - - sidebar_title {% endcomment %} {% load static i18n thumbnail aircox %} @@ -112,6 +97,7 @@ Blocks: {% endif %} {% endblock %} + {# TODO: change block name #} {% if has_filters %} {% comment %}Translators: extra toolbar displayed on the top of page lists {% endcomment %}