]> git.0d.be Git - panikdb.git/commitdiff
display program in home sidebar
authorFrédéric Péters <fpeters@0d.be>
Tue, 7 Jul 2020 09:11:52 +0000 (11:11 +0200)
committerFrédéric Péters <fpeters@0d.be>
Tue, 7 Jul 2020 09:11:52 +0000 (11:11 +0200)
panikdb/static/css/style.scss
panikdb/templates/home.html
panikdb/urls.py
panikdb/views.py

index 71e1651285b5fb1253ee6a4e78343a2168ac3bc9..e2806679907398884096bea6274e978685eeb3da 100644 (file)
@@ -181,6 +181,10 @@ ul.newsitem-list {
   column-count: 2;
 }
 
+aside ul.episode-list {
+       column-count: 1;
+}
+
 .fileprogress {
         border: 1px solid #888;
 }
@@ -618,6 +622,17 @@ form#track-search button {
        min-width: 90%;
 }
 
+.block#program {
+       ul, li {
+               list-style: none;
+               margin: 0;
+               padding: 0;
+       }
+       li.now {
+               font-weight: bold;
+       }
+}
+
 div#content div.section > h3 {
        background: linear-gradient(to right, #386ede 30%, #00d6eb 100%);
        color: white;
index 51574db8dc055e91b63ae3cdb6d4b9936034c988..fe6df3ef872daabafd17448479b12c6e0ad19aa1 100644 (file)
@@ -106,26 +106,6 @@ Aucune actu.
 
 {% if perms.emissions.add_focus %}
 <div class="newsitems block">
-<h3>Focus</h3>
-
-<ul class="episode-list">
-{% for focus in focused_items %}
-<li>
-  {% if focus.emission %}
-    <a href="{% url 'emission-view' slug=focus.emission.slug %}">[ÉMISSON] {{ focus.emission.title }}</a>
-  {% elif focus.episode %}
-    <a href="{% url 'episode-view' slug=focus.episode.slug emission_slug=focus.episode.emission.slug %}">[ÉPISODE] {{ focus.episode.title }}</a>
-  {% elif focus.newsitem %}
-    <a href="{% url 'newsitem-view' slug=focus.newsitem.slug %}">[ACTU] {{ focus.newsitem.title }}</a>
-  {% elif focus.soundfile %}
-    <a href="{% url 'episode-view' slug=focus.soundfile.episode.slug emission_slug=focus.soundfile.episode.emission.slug %}">[SON] {{ focus.soundfile.episode.title }}</a>
-  {% elif focus.page %}
-    <a href="{% url 'combo-manager-page-view' pk=focus.page.id %}">[TOPIK] {{focus.page.title }}</a>
-  {% endif %}
-</li>
-{% endfor %}
-</ul>
-
 <h3>Épisodes récemment édités</h3>
 
 <ul class="episode-list">
@@ -136,7 +116,9 @@ Aucune actu.
 </li>
 {% endfor %}
 </ul>
+</div>
 
+<div class="newsitems block">
 <h3>Actus récemment éditées</h3>
 
 <ul class="episode-list">
@@ -146,7 +128,9 @@ Aucune actu.
 </li>
 {% endfor %}
 </ul>
+</div>
 
+<div class="newsitems block">
 <h3>Sons récemment édités</h3>
 
 <ul class="episode-list">
@@ -158,12 +142,52 @@ Aucune actu.
 </li>
 {% endfor %}
 </ul>
+</div>
+
+{% endif %}
+
+{% endblock %}
 
+{% block sidebar %}
+<aside id="sidebar">
 
+<div class="block" id="program" data-url="{% url 'program' %}">
+<h3>Au programme</h3>
+<div></div>
+<script>
+$(function() {
+  $('#program > div').load($('#program').data('url'));
+});
+</script>
+</div>
+
+{% if perms.emissions.add_focus %}
+<div class="newsitems block">
+<h3>Focus</h3>
 
+<ul class="episode-list">
+{% for focus in focused_items %}
+<li>
+  {% if focus.emission %}
+    <a href="{% url 'emission-view' slug=focus.emission.slug %}">[ÉMISSON] {{ focus.emission.title }}</a>
+  {% elif focus.episode %}
+    <a href="{% url 'episode-view' slug=focus.episode.slug emission_slug=focus.episode.emission.slug %}">[ÉPISODE] {{ focus.episode.title }}</a>
+  {% elif focus.newsitem %}
+    <a href="{% url 'newsitem-view' slug=focus.newsitem.slug %}">[ACTU] {{ focus.newsitem.title }}</a>
+  {% elif focus.soundfile %}
+    <a href="{% url 'episode-view' slug=focus.soundfile.episode.slug emission_slug=focus.soundfile.episode.emission.slug %}">[SON] {{ focus.soundfile.episode.title }}</a>
+  {% elif focus.page %}
+    <a href="{% url 'combo-manager-page-view' pk=focus.page.id %}">[TOPIK] {{focus.page.title }}</a>
+  {% endif %}
+</li>
+{% endfor %}
+</ul>
 </div>
 {% endif %}
 
+
+
+</aside>
 {% endblock %}
 
 {% block page-end %}
index 6208ed3e6baa62d1ff6f33f064aaff80ce601816..68b0bd45b9798a1cfdf0d2f8a4285a218753fc36 100644 (file)
@@ -36,6 +36,8 @@ sqs = SearchQuerySet().models(Emission, Episode, NewsItem).facet('categories').f
 
 urlpatterns = [
     url(r'^$', views.home, name='home'),
+    url(r'^ajax/program$', views.program, name='program'),
+
     url(r'^ckeditor/upload/', login_required(ckeditor_upload)),
     url(r'^ckeditor/browse/', login_required(ckeditor_browse)),
     url(r'^search/', search_view_factory(view_class=FacetedSearchView,
index 2a0a00a3ccc90ba751a0ce248089a019ad0143a8..6ad35f0faf45fea0e55c25c00550db4c8b6dee02 100644 (file)
@@ -211,3 +211,26 @@ class FocusUnsetView(RedirectView):
             return reverse('combo-manager-page-view', kwargs={'pk': object_id})
 
 focus_unset = FocusUnsetView.as_view()
+
+
+class Program(TemplateView):
+    template_name = 'fragments/program.html'
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        now = datetime.datetime.now()
+        date_start = datetime.datetime.today().replace(hour=5, minute=0, second=0)
+        date_end = date_start + datetime.timedelta(days=1)
+        context['today_program'] = period_program(date_start, date_end, prefetch_categories=False)
+        for x in context['today_program']:
+            x.klass = x.__class__.__name__
+        previous_prog = None
+        for i, x in enumerate(context['today_program']):
+            if x.datetime > now:
+                previous_prog.now = True
+                break
+            previous_prog = x
+        return context
+
+
+program = login_required(Program.as_view())