Add delete photo view
This commit is contained in:
parent
f17adbb2ed
commit
f9c33e2cad
3 changed files with 39 additions and 2 deletions
24
photologue/templates/photologue/photo_confirm_delete.html
Normal file
24
photologue/templates/photologue/photo_confirm_delete.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{% extends "base.html" %}
|
||||
{% comment %}
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
{% endcomment %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans "Delete confirmation" %}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1>{% trans "Delete confirmation" %}</h1>
|
||||
<form method="post">{% csrf_token %}
|
||||
<p>
|
||||
{% blocktranslate trimmed %}
|
||||
Are you sure you want to delete <code>{{ object }}</code>?
|
||||
{% endblocktranslate %}
|
||||
</p>
|
||||
{{ form }}
|
||||
<input type="submit" class="btn btn-danger" value="{% trans "Confirm" %}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -2,7 +2,7 @@ from django.urls import path, re_path
|
|||
|
||||
from .views import (GalleryDetailView, GalleryArchiveIndexView,
|
||||
GalleryDownload, GalleryUpload, GalleryYearArchiveView,
|
||||
PhotoDetailView, TagDetail)
|
||||
PhotoDetailView, PhotoDeleteView, TagDetail)
|
||||
|
||||
app_name = 'photologue'
|
||||
urlpatterns = [
|
||||
|
|
@ -13,5 +13,6 @@ urlpatterns = [
|
|||
path('gallery/<slug:slug>/<int:owner>/', GalleryDetailView.as_view(), name='pl-gallery-owner'),
|
||||
path('gallery/<slug:slug>/download/', GalleryDownload.as_view(), name='pl-gallery-download'),
|
||||
path('photo/<int:pk>/', PhotoDetailView.as_view(), name='pl-photo'),
|
||||
path('photo/<int:pk>/delete/', PhotoDeleteView.as_view(), name='pl-photo-delete'),
|
||||
path('upload/', GalleryUpload.as_view(), name='pl-gallery-upload'),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ from django.urls import reverse_lazy
|
|||
from django.utils.text import slugify
|
||||
from django.views.generic.dates import ArchiveIndexView, YearArchiveView
|
||||
from django.views.generic.detail import DetailView
|
||||
from django.views.generic.edit import FormView
|
||||
from django.views.generic.edit import FormView, DeleteView
|
||||
from PIL import Image
|
||||
|
||||
from .forms import UploadForm
|
||||
|
|
@ -56,6 +56,18 @@ class PhotoDetailView(LoginRequiredMixin, DetailView):
|
|||
return qs.filter(is_public=True)
|
||||
|
||||
|
||||
class PhotoDeleteView(PermissionRequiredMixin, DeleteView):
|
||||
model = Photo
|
||||
permission_required = 'photologue.delete_photo'
|
||||
|
||||
def get_success_url(self):
|
||||
galleries = self.object.galleries.all()
|
||||
if not galleries:
|
||||
return reverse_lazy('photologue:pl-gallery-archive')
|
||||
slug = galleries[0].slug
|
||||
return reverse_lazy('photologue:pl-gallery', args=[slug])
|
||||
|
||||
|
||||
class TagDetail(LoginRequiredMixin, DetailView):
|
||||
model = Tag
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue