Comment out `template_name = 'wagtailsites/index.html'` in wagtail.sites.views to see it in action. This consists of a single 'Name' column consisting of the str() representation of the object, linking to the URL obtained from edit_url_name.
It's a common gotcha when logging delete actions, and screws up reporting afterwards because the generic FK in ModelLogEntry ends up storing it as the string 'None'
This reflects the fact that we only expect one registry to exist. Also, drop the need for log models to keep track of which registry they're attached to (because there's only one)
This reverts commit f2f6167f5d.
Rather than having a separate registry per object type, it makes sense to have a single registry to keep track of how all object types handle logging. Otherwise, we'll end up needing a registry of registries to see which registry we should consult for a given model...
- https://docs.djangoproject.com/en/3.2/releases/3.1/#id2
> The HttpRequest.is_ajax() method is deprecated as it relied on a jQuery-specific way of signifying AJAX calls, while current usage tends to use the JavaScript Fetch API. Depending on your use case, you can either write your own AJAX detection method, or use the new HttpRequest.accepts() method if your code depends on the client Accept HTTP header.
- https://docs.djangoproject.com/en/dev/releases/3.0/#id3
> django.utils.http.urlquote(), urlquote_plus(), urlunquote(), and urlunquote_plus() are deprecated in favor of the functions that they’re aliases for: urllib.parse.quote(), quote_plus(), unquote(), and unquote_plus().
Security researchers frequently report CSV formula injection as a security vulnerability in Wagtail, but that's the responsibility of the software consuming the CSV, not creating it. Hopefully this explanation will stop them from doing that (or at least give us a ready-made response to point at when they do).
- The modeladmin folder needs to be inside the templates folder of the relevant app.
- The way it was written makes it seem like /modeladmin/ should be placed in the project root directory.