|
@ -208,13 +208,13 @@ class Log(Renderable, models.Model):
|
||||||
|
|
||||||
return object_list if count is None else object_list[:count]
|
return object_list if count is None else object_list[:count]
|
||||||
|
|
||||||
@staticmethod
|
@classmethod
|
||||||
def _next_index(items, date, default, pred=operator.lt):
|
def _next_index(cls, items, date, default, pred=operator.lt):
|
||||||
iter = (i for i, v in enumerate(items) if pred(v.date, date))
|
iter = (i for i, v in enumerate(items) if pred(v.date, date))
|
||||||
return next(iter, default)
|
return next(iter, default)
|
||||||
|
|
||||||
@staticmethod
|
@classmethod
|
||||||
def _append_logs(object_list, logs, count, slice=None, group=False):
|
def _append_logs(cls, object_list, logs, count, slice=None, group=False):
|
||||||
if slice:
|
if slice:
|
||||||
count = min(slice, count)
|
count = min(slice, count)
|
||||||
logs = logs[:count]
|
logs = logs[:count]
|
||||||
|
@ -222,11 +222,27 @@ class Log(Renderable, models.Model):
|
||||||
return object_list
|
return object_list
|
||||||
|
|
||||||
if group:
|
if group:
|
||||||
object_list.append(logs)
|
grouped = cls._group_logs_by_time(logs)
|
||||||
|
object_list.extend(grouped)
|
||||||
else:
|
else:
|
||||||
object_list += logs
|
object_list += logs
|
||||||
return object_list
|
return object_list
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _group_logs_by_time(cls, logs):
|
||||||
|
last_time = -1
|
||||||
|
cum = []
|
||||||
|
for log in logs:
|
||||||
|
hour = log.date.time().hour
|
||||||
|
if hour != last_time:
|
||||||
|
if cum:
|
||||||
|
yield cum
|
||||||
|
cum = []
|
||||||
|
last_time = hour
|
||||||
|
cum.append(log)
|
||||||
|
if cum:
|
||||||
|
yield cum
|
||||||
|
|
||||||
def print(self):
|
def print(self):
|
||||||
r = []
|
r = []
|
||||||
if self.diffusion:
|
if self.diffusion:
|
||||||
|
|
|
@ -301,6 +301,7 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
|
||||||
.list-grid {
|
.list-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-auto-flow: dense;
|
||||||
gap: 1.2rem;
|
gap: 1.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -301,6 +301,7 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
|
||||||
.list-grid {
|
.list-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-auto-flow: dense;
|
||||||
gap: 1.2rem;
|
gap: 1.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,16 +39,20 @@
|
||||||
<ul class="urls">
|
<ul class="urls">
|
||||||
{% if page_obj.has_previous %}
|
{% if page_obj.has_previous %}
|
||||||
{% comment %}Translators: Bottom of the list, "previous page"{% endcomment %}
|
{% comment %}Translators: Bottom of the list, "previous page"{% endcomment %}
|
||||||
<a href="?{{ GET }}&page={{ page_obj.previous_page_number }}" class="left button"
|
<a href="?{{ GET }}&page={{ page_obj.previous_page_number }}" class="left"
|
||||||
title="{% translate "Previous" %}"
|
title="{% translate "Previous" %}"
|
||||||
aria-label="{% translate "Previous" %}">
|
aria-label="{% translate "Previous" %}">
|
||||||
<span class="icon"><i class="fa fa-chevron-left"></i></span>
|
<span class="icon"><i class="fa fa-chevron-left"></i></span>
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
<span>
|
||||||
|
{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
|
||||||
|
</span>
|
||||||
|
|
||||||
{% if page_obj.has_next %}
|
{% if page_obj.has_next %}
|
||||||
{% comment %}Translators: Bottom of the list, "Nextpage"{% endcomment %}
|
{% comment %}Translators: Bottom of the list, "Nextpage"{% endcomment %}
|
||||||
<a href="?{{ GET }}&page={{ page_obj.next_page_number }}" class="right button"
|
<a href="?{{ GET }}&page={{ page_obj.next_page_number }}" class="right"
|
||||||
title="{% translate "Next" %}"
|
title="{% translate "Next" %}"
|
||||||
aria-label="{% translate "Next" %}">
|
aria-label="{% translate "Next" %}">
|
||||||
<span class="icon"><i class="fa fa-chevron-right"></i></span>
|
<span class="icon"><i class="fa fa-chevron-right"></i></span>
|
||||||
|
|
|
@ -32,7 +32,7 @@ class HomeView(AttachedToMixin, BaseView, ListView):
|
||||||
logs = logs.after(min_date)
|
logs = logs.after(min_date)
|
||||||
else:
|
else:
|
||||||
logs = logs.date(today)
|
logs = logs.date(today)
|
||||||
return Log.merge_diffusions(logs, object_list, diff_count=self.related_count, group_logs=True)
|
return Log.merge_diffusions(logs, object_list, diff_count=self.related_count, log_slice=20, group_logs=True)
|
||||||
|
|
||||||
def get_next_diffs(self):
|
def get_next_diffs(self):
|
||||||
now = tz.now()
|
now = tz.now()
|
||||||
|
|
|
@ -71,6 +71,7 @@ class BasePageListView(AttachedToMixin, BasePageMixin, ParentMixin, BaseView, Li
|
||||||
|
|
||||||
if not context.get("cover") and parent and parent.cover:
|
if not context.get("cover") and parent and parent.cover:
|
||||||
context["cover"] = parent.cover.url
|
context["cover"] = parent.cover.url
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -446,13 +446,17 @@
|
||||||
.list-grid {
|
.list-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-auto-flow: dense;
|
||||||
gap: v.$mp-4;
|
gap: v.$mp-4;
|
||||||
|
|
||||||
|
// .grid-wide { grid-column: 1 / 3; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: v.$screen-smaller) {
|
@media screen and (max-width: v.$screen-smaller) {
|
||||||
.list-grid {
|
.list-grid {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
|
// .grid-wide { grid-column: 1; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user