Clean up with clone class

This commit is contained in:
John Mullins
2023-08-28 11:38:20 +10:00
parent 45149ffb5d
commit cc706420a5
5 changed files with 7 additions and 76 deletions
+6 -11
View File
@@ -1,9 +1,6 @@
from functools import update_wrapper
from django.contrib.admin import ModelAdmin, helpers
from django.contrib.admin.utils import unquote, flatten_fieldsets
from django.utils.functional import lazy
from django.forms.models import model_to_dict
from django.contrib.admin.utils import flatten_fieldsets
from django.forms.formsets import all_valid
from django.urls import reverse, path
from django.core.exceptions import PermissionDenied
@@ -29,7 +26,7 @@ class CloneModelAdmin(ModelAdmin):
new_urlpatterns = [
path(
"<path:object_id>/clone/",
wrap(self.cloneform_view),
wrap(self.clone_view),
name="%s_%s_clone" % info,
),
]
@@ -37,22 +34,20 @@ class CloneModelAdmin(ModelAdmin):
original_urlpatterns = super(CloneModelAdmin, self).get_urls()
# Important to add custom urls before the existing ones.
# Last entry is <URLPattern '<path:object_id>/'> which will pick up everything not already picked up
# Last entry is <URLPattern '<path:object_id>/'> which will catch everything not already picked up
return new_urlpatterns + original_urlpatterns
def change_view(self, request, object_id, form_url='', extra_context=None):
print(object_id)
url = "{0}coord/traveller/{1}/clone/".format(reverse("admin:index"), object_id)
url = "/admin/coord/traveller/3/clone/"
url = reverse("admin:{0}_{1}_clone".format(self.opts.app_label, self.opts.model_name), args=[object_id])
extra_context = extra_context or {}
extra_context.update({
'clone_verbose_name': self.clone_verbose_name,
'clone_link': url,
})
print(extra_context)
return super(CloneModelAdmin, self).change_view(request, object_id, form_url, extra_context)
def cloneform_view(self, request, object_id, form_url='', extra_context=None):
def clone_view(self, request, object_id, form_url='', extra_context=None):
if not self.has_add_permission(request):
raise PermissionDenied