plain.admin 0.21.0__tar.gz → 0.22.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {plain_admin-0.21.0 → plain_admin-0.22.0}/PKG-INFO +1 -1
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/urls.py +2 -3
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/querystats/urls.py +2 -3
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/base.html +5 -3
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/urls.py +6 -7
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/views/models.py +1 -1
- {plain_admin-0.21.0 → plain_admin-0.22.0}/pyproject.toml +1 -1
- {plain_admin-0.21.0 → plain_admin-0.22.0}/tests/app/settings.py +1 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/tests/app/urls.py +6 -7
- {plain_admin-0.21.0 → plain_admin-0.22.0}/.gitignore +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/LICENSE +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/README.md +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/README.md +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/__init__.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/admin/admin.css +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/admin/admin.js +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/admin/chart.js +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/admin/jquery-3.6.1.slim.min.js +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/admin/list.js +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/admin/popper.min.js +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/admin/tippy-bundle.umd.min.js +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/assets/toolbar/toolbar.js +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/cards/__init__.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/cards/base.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/cards/charts.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/cards/tables.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/config.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/dates.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/default_settings.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/README.md +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/__init__.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/middleware.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/models.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/permissions.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/settings.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/impersonate/views.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/middleware.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/querystats/README.md +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/querystats/__init__.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/querystats/core.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/querystats/middleware.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/querystats/views.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/cards/base.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/cards/card.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/cards/chart.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/cards/table.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/delete.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/detail.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/index.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/list.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/page.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/search.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/UUID.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/bool.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/datetime.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/default.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/dict.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/get_display.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/img.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/list.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/model.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/queryset.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Checkbox.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/CheckboxField.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/FieldErrors.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Help.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Input.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/InputField.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Label.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Select.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/SelectField.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Submit.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Textarea.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/TextareaField.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/querystats/querystats.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/querystats/toolbar.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/toolbar/toolbar.html +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/toolbar.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/views/__init__.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/views/base.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/views/objects.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/views/registry.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/views/types.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/views/viewsets.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/tests/app/users/migrations/0001_initial.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/tests/app/users/migrations/__init__.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/tests/app/users/models.py +0 -0
- {plain_admin-0.21.0 → plain_admin-0.22.0}/tests/test_admin.py +0 -0
@@ -1,10 +1,9 @@
|
|
1
|
-
from plain.urls import
|
1
|
+
from plain.urls import Router, path
|
2
2
|
|
3
3
|
from .views import ImpersonateStartView, ImpersonateStopView
|
4
4
|
|
5
5
|
|
6
|
-
|
7
|
-
class Router(RouterBase):
|
6
|
+
class ImpersonateRouter(Router):
|
8
7
|
namespace = "impersonate"
|
9
8
|
urls = [
|
10
9
|
path("stop/", ImpersonateStopView, name="stop"),
|
@@ -1,10 +1,9 @@
|
|
1
|
-
from plain.urls import
|
1
|
+
from plain.urls import Router, path
|
2
2
|
|
3
3
|
from . import views
|
4
4
|
|
5
5
|
|
6
|
-
|
7
|
-
class Router(RouterBase):
|
6
|
+
class QuerystatsRouter(Router):
|
8
7
|
namespace = "querystats"
|
9
8
|
urls = [
|
10
9
|
path("", views.QuerystatsView, name="querystats"),
|
@@ -32,7 +32,7 @@
|
|
32
32
|
</button>
|
33
33
|
|
34
34
|
<a class="inline-flex items-center text-stone-300" href="{{ url('admin:index') }}">
|
35
|
-
<span class="text-stone-400">Admin</span>
|
35
|
+
<span class="text-stone-400 font-semibold">Admin</span>
|
36
36
|
</a>
|
37
37
|
|
38
38
|
{#
|
@@ -96,7 +96,7 @@
|
|
96
96
|
</div>
|
97
97
|
<div class="mt-8 flex flex-col text-sm pb-3 pt-3 text-stone-400 sticky bottom-0 bg-stone-950">
|
98
98
|
<a class="sm:hidden py-1" href="{{ url('admin:search') }}">Global search</a>
|
99
|
-
<div class="flex items-center justify-between">
|
99
|
+
<div class="flex items-center justify-between space-x-1.5">
|
100
100
|
<div class="flex items-center truncate">
|
101
101
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="w-6 h-6 mr-1.5 bi bi-person-circle" viewBox="0 0 16 16">
|
102
102
|
<path d="M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
|
@@ -106,7 +106,9 @@
|
|
106
106
|
{{ request.user }}
|
107
107
|
</span>
|
108
108
|
</div>
|
109
|
-
<
|
109
|
+
<form method="POST" action="{{ url('logout') }}" class="flex-shrink-0">
|
110
|
+
<button type="submit" class="hover:text-white hover:underline">Log out</button>
|
111
|
+
</form>
|
110
112
|
</div>
|
111
113
|
</div>
|
112
114
|
</aside>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from plain.http import ResponseRedirect
|
2
|
-
from plain.urls import
|
2
|
+
from plain.urls import Router, include, path
|
3
3
|
|
4
|
-
from .impersonate import
|
5
|
-
from .querystats import
|
4
|
+
from .impersonate.urls import ImpersonateRouter
|
5
|
+
from .querystats.urls import QuerystatsRouter
|
6
6
|
from .views.base import AdminView
|
7
7
|
from .views.registry import registry
|
8
8
|
|
@@ -31,13 +31,12 @@ class AdminSearchView(AdminView):
|
|
31
31
|
return context
|
32
32
|
|
33
33
|
|
34
|
-
|
35
|
-
class Router(RouterBase):
|
34
|
+
class AdminRouter(Router):
|
36
35
|
namespace = "admin"
|
37
36
|
urls = [
|
38
37
|
path("search/", AdminSearchView, name="search"),
|
39
|
-
include("impersonate/",
|
40
|
-
include("querystats/",
|
38
|
+
include("impersonate/", ImpersonateRouter),
|
39
|
+
include("querystats/", QuerystatsRouter),
|
41
40
|
include("", registry.get_urls()),
|
42
41
|
path("", AdminIndexView, name="index"),
|
43
42
|
]
|
@@ -151,7 +151,7 @@ class AdminModelDetailView(AdminDetailView):
|
|
151
151
|
if fields := super().get_fields():
|
152
152
|
return fields
|
153
153
|
|
154
|
-
return [
|
154
|
+
return [f.name for f in self.object._meta.get_fields() if f.concrete]
|
155
155
|
|
156
156
|
def get_field_value(self, obj, field: str):
|
157
157
|
try:
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
from plain.urls import
|
1
|
+
from plain.admin.urls import AdminRouter
|
2
|
+
from plain.assets.urls import AssetsRouter
|
3
|
+
from plain.urls import Router, include, path
|
4
4
|
from plain.views import View
|
5
5
|
|
6
6
|
|
@@ -14,12 +14,11 @@ class LogoutView(View):
|
|
14
14
|
return "Logout!"
|
15
15
|
|
16
16
|
|
17
|
-
|
18
|
-
class Router(RouterBase):
|
17
|
+
class AppRouter(Router):
|
19
18
|
namespace = ""
|
20
19
|
urls = [
|
21
|
-
include("admin/",
|
22
|
-
include("assets/",
|
20
|
+
include("admin/", AdminRouter),
|
21
|
+
include("assets/", AssetsRouter),
|
23
22
|
path("login/", LoginView, name="login"),
|
24
23
|
path("logout/", LogoutView, name="logout"),
|
25
24
|
]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/admin/values/get_display.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Checkbox.html
RENAMED
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/CheckboxField.html
RENAMED
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/FieldErrors.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/InputField.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/SelectField.html
RENAMED
File without changes
|
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/Textarea.html
RENAMED
File without changes
|
{plain_admin-0.21.0 → plain_admin-0.22.0}/plain/admin/templates/elements/admin/TextareaField.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|