fix bug & remove dynamic
This commit is contained in:
parent
46a9008cda
commit
73d8ff32d5
|
@ -50,7 +50,9 @@ class BasePageAdmin(admin.ModelAdmin):
|
|||
change_form_template = "admin/aircox/page_change_form.html"
|
||||
|
||||
def cover_thumb(self, obj):
|
||||
return mark_safe('<img src="{}"/>'.format(obj.cover.icons["64"])) if obj.cover else ""
|
||||
if obj.cover and obj.cover.thumbnails:
|
||||
return mark_safe('<img src="{}"/>'.format(obj.cover.icons["64"]))
|
||||
return ""
|
||||
|
||||
def get_changeform_initial_data(self, request):
|
||||
data = super().get_changeform_initial_data(request)
|
||||
|
@ -95,6 +97,7 @@ class PageAdmin(BasePageAdmin):
|
|||
@admin.register(StaticPage)
|
||||
class StaticPageAdmin(BasePageAdmin):
|
||||
list_display = BasePageAdmin.list_display + ("attach_to",)
|
||||
list_editable = BasePageAdmin.list_editable + ("attach_to",)
|
||||
fieldsets = deepcopy(BasePageAdmin.fieldsets)
|
||||
|
||||
fieldsets[1][1]["fields"] += ("attach_to",)
|
||||
|
|
|
@ -170,7 +170,7 @@ class Log(Renderable, models.Model):
|
|||
"""
|
||||
if isinstance(logs, models.QuerySet):
|
||||
logs = list(logs.order_by("-date"))
|
||||
diffs = diffs.on_air().before().order_by("-start")
|
||||
diffs = diffs.on_air().order_by("-start")
|
||||
if diff_count:
|
||||
diffs = diffs[:diff_count]
|
||||
diffs = deque(diffs)
|
||||
|
|
|
@ -257,7 +257,8 @@ class StaticPage(BasePage):
|
|||
detail_url_name = "static-page-detail"
|
||||
|
||||
class Target(models.TextChoices):
|
||||
HOME = "", _("Home Page")
|
||||
NONE = "", _("None")
|
||||
HOME = "home", _("Home Page")
|
||||
TIMETABLE = "timetable-list", _("Timetable")
|
||||
PROGRAMS = "program-list", _("Programs list")
|
||||
EPISODES = "episode-list", _("Episodes list")
|
||||
|
@ -346,13 +347,13 @@ class NavItem(models.Model):
|
|||
|
||||
def render(self, request, css_class="", active_class=""):
|
||||
url = self.get_url()
|
||||
text = self.get_text()
|
||||
label = self.get_label()
|
||||
if active_class and request.path.startswith(url):
|
||||
css_class += " " + active_class
|
||||
|
||||
if not url:
|
||||
return text
|
||||
return label
|
||||
elif not css_class:
|
||||
return format_html('<a href="{}">{}</a>', url, text)
|
||||
return format_html('<a href="{}">{}</a>', url, label)
|
||||
else:
|
||||
return format_html('<a href="{}" class="{}">{}</a>', url, css_class, text)
|
||||
return format_html('<a href="{}" class="{}">{}</a>', url, css_class, label)
|
||||
|
|
|
@ -7495,6 +7495,7 @@ a.tag:hover {
|
|||
}
|
||||
.nav .burger {
|
||||
display: none;
|
||||
background-color: var(--highlight-color);
|
||||
}
|
||||
.nav .nav-item {
|
||||
padding: 0.6rem;
|
||||
|
@ -7513,7 +7514,7 @@ a.tag:hover {
|
|||
vertical-align: top;
|
||||
display: inline-block;
|
||||
}
|
||||
.nav .nav-item.active, .nav .nav-item:hover {
|
||||
.nav .nav-item.active {
|
||||
background-color: var(--highlight-color-2);
|
||||
color: var(--highlight-color);
|
||||
}
|
||||
|
@ -7547,14 +7548,10 @@ a.tag:hover {
|
|||
white-space: nowrap;
|
||||
}
|
||||
.nav.secondary {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
box-shadow: 0em 0.5em 0.5em rgba(0, 0, 0, 0.05);
|
||||
background-color: var(--highlight-color-alpha);
|
||||
justify-content: right;
|
||||
display: none;
|
||||
}
|
||||
.nav-item:hover + .nav.secondary, .nav.secondary:hover {
|
||||
.nav.primary:hover + .nav.secondary, .nav.secondary:hover {
|
||||
display: flex;
|
||||
top: var(--nav-primary-height);
|
||||
left: 0rem;
|
||||
|
@ -7565,9 +7562,12 @@ a.tag:hover {
|
|||
|
||||
.breadcrumbs {
|
||||
text-align: right;
|
||||
height: 2.2rem;
|
||||
padding: 0.6rem 0rem;
|
||||
margin-bottom: 0.4rem;
|
||||
}
|
||||
.breadcrumbs:empty {
|
||||
display: none;
|
||||
}
|
||||
.breadcrumbs a + a:before {
|
||||
content: "/";
|
||||
margin: 0 0.4rem;
|
||||
|
|
|
@ -61,22 +61,6 @@ Usefull context:
|
|||
aria-label="{% translate "Main menu" %}">
|
||||
</a-switch>
|
||||
<div class="nav-menu">
|
||||
{% for nav_item, secondary in nav_menu %}
|
||||
<a class="nav-item" href="{{ nav_item.get_url }}">
|
||||
{{ nav_item.get_label }}
|
||||
</a>
|
||||
{% if secondary %}
|
||||
<div class="nav secondary">
|
||||
{% for label, url in secondary %}
|
||||
<a href="{{ url }}" class="nav-item">
|
||||
{{ label }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% comment %}
|
||||
{% block nav-primary-menu %}
|
||||
{% nav_items "top" css_class="nav-item" active_class="active" as items %}
|
||||
{% for item, render in items %}
|
||||
|
@ -88,7 +72,6 @@ Usefull context:
|
|||
</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% endcomment %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
</nav>
|
||||
|
@ -96,17 +79,17 @@ Usefull context:
|
|||
{% block secondary-nav %}{% endblock %}
|
||||
</div>
|
||||
|
||||
{% spaceless %}
|
||||
{% block breadcrumbs-container %}
|
||||
<div class="breadcrumbs container">
|
||||
{% block breadcrumbs %}{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endspaceless %}
|
||||
|
||||
{% block main-container %}
|
||||
<main class="page">
|
||||
{% block main %}
|
||||
{% spaceless %}
|
||||
{% block breadcrumbs-container %}
|
||||
<div class="breadcrumbs container">
|
||||
{% block breadcrumbs %}{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endspaceless %}
|
||||
|
||||
{% block header-container %}
|
||||
<header class="container header preview preview-header {% if cover %}has-cover{% endif %}">
|
||||
{% block header %}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{% load i18n aircox %}
|
||||
|
||||
{% block secondary-nav %}
|
||||
{% if categories %}
|
||||
{% if not parent and categories %}
|
||||
<nav class="nav secondary">
|
||||
<div class="nav-menu nav-categories">
|
||||
{% for cat in categories %}
|
||||
|
@ -49,6 +49,11 @@
|
|||
<a href="{{ request.path }}">{{ model|verbose_name:True }}</a>
|
||||
{% elif page %}
|
||||
<a href="{{ request.path }}">{{ page.title }}</a>
|
||||
{% if category %}
|
||||
<a href="{% url request.resolver_match.url_name category_slug=category.slug %}">
|
||||
{{ category.title }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<a href="{% url request.resolver_match.url_name %}">{{ model|verbose_name:True }}</a>
|
||||
{% if category %}
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
{% comment %}Detail page of a show{% endcomment %}
|
||||
{% load i18n aircox %}
|
||||
|
||||
{% include "aircox/program_sidebar.html" %}
|
||||
|
||||
{% block content-container %}
|
||||
{% with schedules=program.schedule_set.all %}
|
||||
{% if schedules %}
|
||||
|
|
|
@ -97,6 +97,13 @@ def do_nav_items(context, menu, **kwargs):
|
|||
return [(item, item.render(request, **kwargs)) for item in station.navitem_set.filter(menu=menu)]
|
||||
|
||||
|
||||
@register.filter(name="nav_active")
|
||||
def do_nav_active(obj, request):
|
||||
if request.path.startswith(obj.get_url()):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
@register.simple_tag(name="update_query")
|
||||
def do_update_query(obj, **kwargs):
|
||||
"""Replace provided querydict's values with **kwargs.
|
||||
|
|
|
@ -114,4 +114,9 @@ urls = [
|
|||
views.errors.NoStationErrorView.as_view(),
|
||||
name="errors-no-station",
|
||||
),
|
||||
path(
|
||||
_("program/<slug:parent_slug>/publications"),
|
||||
views.PageListView.as_view(model=models.Page, attach_to_value=models.StaticPage.Target.PAGES),
|
||||
name="page-list",
|
||||
),
|
||||
]
|
||||
|
|
|
@ -37,7 +37,8 @@ class LogListMixin(GetDateMixin):
|
|||
)
|
||||
|
||||
def get_diffusions_queryset(self):
|
||||
qs = Diffusion.objects.station(self.station).on_air().filter(start__lte=tz.now())
|
||||
qs = Diffusion.objects.station(self.station).on_air().filter(start__lte=tz.now()).before()
|
||||
|
||||
return (
|
||||
qs.date(self.date)
|
||||
if self.date is not None
|
||||
|
|
|
@ -122,7 +122,10 @@
|
|||
display: none;
|
||||
}
|
||||
|
||||
.burger { display: none; }
|
||||
.burger {
|
||||
display: none;
|
||||
background-color: var(--highlight-color);
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
padding: v.$mp-3;
|
||||
|
@ -144,7 +147,7 @@
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
&.active, &:hover {
|
||||
&.active {
|
||||
background-color: var(--highlight-color-2);
|
||||
color: var(--highlight-color);
|
||||
}
|
||||
|
@ -188,15 +191,16 @@
|
|||
}
|
||||
|
||||
&.secondary {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
box-shadow: 0em 0.5em 0.5em rgba(0, 0, 0, 0.05);
|
||||
background-color: var(--highlight-color-alpha);
|
||||
//position: absolute;
|
||||
//width: 100%;
|
||||
//box-shadow: 0em 0.5em 0.5em rgba(0, 0, 0, 0.05);
|
||||
|
||||
justify-content: right;
|
||||
display: none;
|
||||
//display: none;
|
||||
|
||||
.nav-item:hover + &, &:hover {
|
||||
.nav.primary:hover + &,
|
||||
&:hover {
|
||||
display: flex;
|
||||
top: var(--nav-primary-height);
|
||||
left: 0rem;
|
||||
|
@ -211,9 +215,11 @@
|
|||
// ---- breadcrumbs
|
||||
.breadcrumbs {
|
||||
text-align: right;
|
||||
height: calc( v.$mp-3 * 2 + v.$text-size);
|
||||
padding: v.$mp-3 0rem;
|
||||
margin-bottom: v.$mp-2;
|
||||
|
||||
&:empty { display: none; }
|
||||
|
||||
a + a:before {
|
||||
content: "/";
|
||||
margin: 0 v.$mp-2;
|
||||
|
|
Loading…
Reference in New Issue
Block a user