Ajout contenu page Media

This commit is contained in:
Claude Paroz 2025-08-16 20:27:45 +02:00
parent b58d85198a
commit daf7ca4ba0
6 changed files with 41 additions and 3 deletions

View file

@ -72,4 +72,4 @@ class Document(models.Model):
)
def __str__(self):
return f"{self.titre} {self.date}"
return f"{self.titre} {self.quand}"

View file

@ -74,6 +74,7 @@ nav {
border-left: 2px solid red;
}
.date_agenda { background-color: #ddd; }
.prive {
background-image: linear-gradient(45deg, #333333 41.67%, #6b0c0c 41.67%, #6b0c0c 50%, #333333 50%, #333333 91.67%, #6b0c0c 91.67%, #6b0c0c 100%);
background-size: 33.94px 33.94px;

View file

@ -2,7 +2,7 @@ from datetime import date, timedelta
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import ListView, TemplateView
from .models import Agenda, Membre
from .models import Agenda, Document, Membre
class AgendaView(ListView):
@ -18,6 +18,19 @@ class AgendaView(ListView):
return qs
class MediaView(ListView):
model = Document
template_name = "media.html"
def get_queryset(self):
qs = Document.objects.filter(
date_heure__gt=date.today() - timedelta(days=3),
).order_by("-quand")
if not self.request.user.is_authenticated:
qs = qs.filter(prive=False)
return qs
class EspaceMembresView(LoginRequiredMixin, TemplateView):
template_name = "membres/index.html"

View file

@ -14,4 +14,5 @@ urlpatterns = [
path("membres/", views.EspaceMembresView.as_view(), name="membres"),
path("membres/liste/", views.ListeMembresView.as_view(), name="liste-membres"),
path("agenda/", views.AgendaView.as_view(), name="agenda"),
path("media/", views.MediaView.as_view(), name="media"),
]

View file

@ -8,7 +8,7 @@
{% for item in object_list %}
<div class="border-bottom border-danger mt-3{% if item.prive %} prive{% endif %}">
<div class="row">
<div class="col col-12 col-sm-4 col-lg-2 bg-white text-black rounded align-self-center text-center fw-bold pt-2 pb-2">
<div class="col col-12 col-sm-4 col-lg-2 text-black rounded align-self-center text-center fw-bold pt-2 pb-2 date_agenda">
{{ item.date_heure|date:'D d F à H:i' }}
</div>
<div class="col col-12 col-sm-8 col-lg-10 fs-4">{{ item.titre }}</div>

23
templates/media.html Normal file
View file

@ -0,0 +1,23 @@
{% extends "base.html" %}
{% block page_title %} - Media{% endblock %}
{% block content %}
<h2 class="mb-5">Enregistrements, photos et vidéos de la chorale</h2>
{% for item in object_list %}
<div class="border-bottom border-danger mt-3{% if item.prive %} prive{% endif %}">
<div class="row">
<div class="col col-12 col-sm-8 col-lg-10 fs-4">
<a href="{{ item.url|default:item.fichier.url }}">{{ item.titre }}</a>
</div>
<div class="col col-12 col-sm-4 col-lg-2 text-end">
{{ item.quand|date:'d F Y' }}
</div>
</div>
<div class="pb-3">{{ item.infos }}</div>
</div>
{% empty %}
<p><i>Aucun document disponible pour le moment</i></p>
{% endfor %}
{% endblock %}