Clean up with clone class
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user