mirror of
https://github.com/ae-utbm/sith.git
synced 2026-09-09 14:04:36 +00:00
Compare commits
1
Commits
htmx4
...
fix-file-delete
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
111fca85db |
@@ -1,54 +0,0 @@
|
|||||||
{% extends "core/file.jinja" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Delete confirmation{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% if is_fragment %}
|
|
||||||
|
|
||||||
{# Don't display tabs and errors #}
|
|
||||||
{% block tabs %}
|
|
||||||
{% endblock %}
|
|
||||||
{% block errors %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% block file %}
|
|
||||||
<h2>{% trans %}Delete confirmation{% endtrans %}</h2>
|
|
||||||
|
|
||||||
{% if next %}
|
|
||||||
{% set action = current + "?next=" + next %}
|
|
||||||
{% else %}
|
|
||||||
{% set action = current %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<form action="{{ action }}" method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
|
|
||||||
<p>{% trans obj=object %}Are you sure you want to delete "{{ obj }}"?{% endtrans %}</p>
|
|
||||||
<button
|
|
||||||
{% if is_fragment %}
|
|
||||||
hx-post="{{ action }}"
|
|
||||||
hx-target="#content"
|
|
||||||
hx-swap="outerHtml"
|
|
||||||
{% endif %}
|
|
||||||
>{% trans %}Confirm{% endtrans %}</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
{% if is_fragment %}
|
|
||||||
hx-get="{{ previous }}"
|
|
||||||
hx-target="#content"
|
|
||||||
hx-swap="outerHtml"
|
|
||||||
{% else %}
|
|
||||||
action="window.history.back()"
|
|
||||||
{% endif %}
|
|
||||||
>{% trans %}Cancel{% endtrans %}</button>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+6
-22
@@ -21,7 +21,7 @@
|
|||||||
# Place - Suite 330, Boston, MA 02111-1307, USA.
|
# Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
from django.urls import path, re_path, register_converter
|
from django.urls import path, register_converter
|
||||||
from django.views.generic import RedirectView
|
from django.views.generic import RedirectView
|
||||||
|
|
||||||
from com.views import NewsListView
|
from com.views import NewsListView
|
||||||
@@ -193,27 +193,11 @@ urlpatterns = [
|
|||||||
name="user_gift_delete",
|
name="user_gift_delete",
|
||||||
),
|
),
|
||||||
# File views
|
# File views
|
||||||
re_path(r"^file/$", FileListView.as_view(), name="file_list"),
|
path(r"file/", FileListView.as_view(), name="file_list"),
|
||||||
re_path(
|
path("file/<int:file_id>/", FileView.as_view(), name="file_detail"),
|
||||||
r"^file/(?P<file_id>[0-9]+)/$",
|
path("file/<int:file_id>/edit/", FileEditView.as_view(), name="file_edit"),
|
||||||
FileView.as_view(),
|
path("file/<int:file_id>/prop/", FileEditPropView.as_view(), name="file_prop"),
|
||||||
name="file_detail",
|
path("file/<int:file_id>/delete/", FileDeleteView.as_view(), name="file_delete"),
|
||||||
),
|
|
||||||
re_path(
|
|
||||||
r"^file/(?P<file_id>[0-9]+)/edit/$",
|
|
||||||
FileEditView.as_view(),
|
|
||||||
name="file_edit",
|
|
||||||
),
|
|
||||||
re_path(
|
|
||||||
r"^file/(?P<file_id>[0-9]+)/prop/$",
|
|
||||||
FileEditPropView.as_view(),
|
|
||||||
name="file_prop",
|
|
||||||
),
|
|
||||||
re_path(
|
|
||||||
r"^file/(?P<file_id>[0-9]+)/delete/$",
|
|
||||||
FileDeleteView.as_view(),
|
|
||||||
name="file_delete",
|
|
||||||
),
|
|
||||||
path("file/moderation/", FileModerationView.as_view(), name="file_moderation"),
|
path("file/moderation/", FileModerationView.as_view(), name="file_moderation"),
|
||||||
path(
|
path(
|
||||||
"file/<int:file_id>/moderate/", FileModerateView.as_view(), name="file_moderate"
|
"file/<int:file_id>/moderate/", FileModerateView.as_view(), name="file_moderate"
|
||||||
|
|||||||
+4
-19
@@ -342,33 +342,18 @@ class FileView(CanViewMixin, DetailView, FormMixin):
|
|||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
|
||||||
class FileDeleteView(AllowFragment, CanEditPropMixin, DeleteView):
|
class FileDeleteView(CanEditPropMixin, DeleteView):
|
||||||
model = SithFile
|
model = SithFile
|
||||||
pk_url_kwarg = "file_id"
|
pk_url_kwarg = "file_id"
|
||||||
template_name = "core/file_delete_confirm.jinja"
|
template_name = "core/delete_confirm.jinja"
|
||||||
context_object_name = "file"
|
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
self.object.file.delete() # Doing it here or overloading delete() is the same, so let's do it here
|
self.object.file.delete() # Doing it here or overloading delete() is the same, so let's do it here
|
||||||
if "next" in self.request.GET:
|
if "next" in self.request.GET:
|
||||||
return self.request.GET["next"]
|
return self.request.GET["next"]
|
||||||
if self.object.parent is None:
|
if self.object.parent is None:
|
||||||
return reverse(
|
return reverse("core:file_list")
|
||||||
"core:file_list",
|
return reverse("core:file_detail", kwargs={"file_id": self.object.parent.id})
|
||||||
)
|
|
||||||
return reverse(
|
|
||||||
"core:file_detail",
|
|
||||||
kwargs={
|
|
||||||
"file_id": self.object.parent.id,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
|
||||||
kwargs = super().get_context_data(**kwargs)
|
|
||||||
kwargs["next"] = self.request.GET.get("next", None)
|
|
||||||
kwargs["previous"] = self.request.GET.get("previous", None)
|
|
||||||
kwargs["current"] = self.request.path
|
|
||||||
return kwargs
|
|
||||||
|
|
||||||
|
|
||||||
class FileModerationView(AllowFragment, ListView):
|
class FileModerationView(AllowFragment, ListView):
|
||||||
|
|||||||
Reference in New Issue
Block a user