84 lines
5.5 KiB
HTML
84 lines
5.5 KiB
HTML
{% extends "base.html" %}
|
|
{% comment %}
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
{% endcomment %}
|
|
{% load static i18n %}
|
|
|
|
{% block title %}{{ gallery.title }}{% endblock %}
|
|
|
|
{% block extracss %}
|
|
<link rel="stylesheet" href="{% static 'lightgallery/css/lightgallery.css' %}" />
|
|
<link rel="stylesheet" href="{% static 'lightgallery/css/lg-zoom.css' %}" />
|
|
<link rel="stylesheet" href="{% static 'lightgallery/css/lg-thumbnail.css' %}" />
|
|
{% endblock %}
|
|
|
|
{% block extrajs %}
|
|
<script src="{% static 'lightgallery/lightgallery.min.js' %}"></script>
|
|
<script src="{% static 'lightgallery/plugins/admin/lg-admin.js' %}"></script>
|
|
<script src="{% static 'lightgallery/plugins/hash/lg-hash.min.js' %}"></script>
|
|
<script src="{% static 'lightgallery/plugins/thumbnail/lg-thumbnail.min.js' %}"></script>
|
|
<script src="{% static 'lightgallery/plugins/zoom/lg-zoom.min.js' %}"></script>
|
|
<script>
|
|
lightGallery(document.getElementById('lightgallery'), {
|
|
plugins: [lgAdmin, lgHash, lgThumbnail, lgZoom],
|
|
customSlideName: true,
|
|
isStaff: {{ request.user.is_staff|yesno:"true,false" }},
|
|
csrfToken: "{{ csrf_token }}",
|
|
});
|
|
</script>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1>
|
|
{{ gallery.title }}
|
|
{% if request.user.is_staff and perms.photologue.change_gallery %}
|
|
<a href="{% url 'admin:photologue_gallery_change' gallery.id %}">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#555" class="bi bi-gear" viewBox="0 0 16 18">
|
|
<path d="M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z"/>
|
|
<path d="M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z"/>
|
|
</svg>
|
|
</a>
|
|
{% endif %}
|
|
</h1>
|
|
{% if gallery.date_start %}<p class="text-muted small">{{ gallery.date_start }}{% if gallery.date_end and gallery.date_end != gallery.date_start %} {% trans "to" %} {{ gallery.date_end }}{% endif %}</p>{% endif %}
|
|
{% if request.user.is_staff and gallery.photo_private_count %}<p class="text-danger small">{{ gallery.photo_private_count }} photos censurées</p>{% endif %}
|
|
{% if gallery.tags.all %}
|
|
<p class="text-muted">
|
|
Tags : {% for tag in gallery.tags.all %}
|
|
<a class="badge rounded-pill bg-dark text-decoration-none" href="{% url 'photologue:tag-detail' tag.slug %}">{{ tag }}</a>
|
|
{% endfor %}
|
|
</p>
|
|
{% endif %}
|
|
{% if gallery.description %}<p>{{ gallery.description|safe }}</p>{% endif %}
|
|
|
|
<div class="card">
|
|
<div class="card-header pb-0 border-bottom-0">
|
|
<ul class="nav nav-tabs">
|
|
<li class="nav-item">
|
|
{% url 'photologue:pl-gallery' gallery.slug as url %}
|
|
<a class="nav-link {% if request.path_info == url %}active{% endif %}" href="{{ url }}">
|
|
{% trans "All pictures" %}
|
|
</a>
|
|
</li>
|
|
{% for owner in owners %}
|
|
<li class="nav-item">
|
|
{% url 'photologue:pl-gallery-owner' slug=gallery.slug owner=owner.id as url %}
|
|
<a class="nav-link {% if request.path_info == url %}active{% endif %}" href="{{ url }}">
|
|
{% if owner.get_full_name %}{{ owner.get_full_name }}{% else %}{{ owner.username }}{% endif %}
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
<div class="card-body row" id="lightgallery">
|
|
{% for photo in photos %}
|
|
<a class="col-6 col-md-3 mb-2 text-center" href="{{ photo.get_absolute_url }}" data-src="{{ photo.get_display_url }}" data-download-url="{{ photo.image.url }}" data-slide-name="{{ photo.id }}">
|
|
<img src="{{ photo.get_thumbnail_url }}" loading="lazy" class="img-thumbnail p-0{% if not photo.is_public %} border-danger border-5{% endif %}" alt="{{ gallery.title }} - {{ photo.title }}{% if photo.date_taken %} - {{ photo.date_taken|date }} {{ photo.date_taken|time }}{% endif %}{% if photo.owner.get_full_name %} - {{ photo.owner.get_full_name }}{% else %} - {{ photo.owner.username }}{% endif %}{% if photo.license %} - {{ photo.license }}{% endif %}{% if not photo.is_public %} - !PRIVATE!{% endif %}">
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
<div class="card-footer">
|
|
<a href="{% url 'photologue:pl-gallery-download' gallery.slug %}" class="btn btn-secondary btn-sm">{% trans 'Download all gallery' %}</a>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|