plain.admin 0.22.0__tar.gz → 0.23.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.22.0 → plain_admin-0.23.0}/PKG-INFO +46 -5
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/README.md +45 -4
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/config.py +1 -1
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/querystats/README.md +1 -3
- {plain_admin-0.22.0 → plain_admin-0.23.0}/pyproject.toml +1 -1
- {plain_admin-0.22.0 → plain_admin-0.23.0}/tests/test_admin.py +5 -1
- {plain_admin-0.22.0 → plain_admin-0.23.0}/.gitignore +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/LICENSE +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/README.md +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/__init__.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/admin/admin.css +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/admin/admin.js +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/admin/chart.js +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/admin/jquery-3.6.1.slim.min.js +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/admin/list.js +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/admin/popper.min.js +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/admin/tippy-bundle.umd.min.js +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/assets/toolbar/toolbar.js +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/cards/__init__.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/cards/base.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/cards/charts.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/cards/tables.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/dates.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/default_settings.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/README.md +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/__init__.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/middleware.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/models.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/permissions.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/settings.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/urls.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/impersonate/views.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/middleware.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/querystats/__init__.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/querystats/core.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/querystats/middleware.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/querystats/urls.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/querystats/views.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/base.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/cards/base.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/cards/card.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/cards/chart.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/cards/table.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/delete.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/detail.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/index.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/list.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/page.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/search.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/UUID.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/bool.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/datetime.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/default.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/dict.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/get_display.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/img.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/list.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/model.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/admin/values/queryset.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Checkbox.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/CheckboxField.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/FieldErrors.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Help.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Input.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/InputField.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Label.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Select.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/SelectField.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Submit.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Textarea.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/TextareaField.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/querystats/querystats.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/querystats/toolbar.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/toolbar/toolbar.html +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/toolbar.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/urls.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/views/__init__.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/views/base.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/views/models.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/views/objects.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/views/registry.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/views/types.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/views/viewsets.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/tests/app/settings.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/tests/app/urls.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/tests/app/users/migrations/0001_initial.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/tests/app/users/migrations/__init__.py +0 -0
- {plain_admin-0.22.0 → plain_admin-0.23.0}/tests/app/users/models.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: plain.admin
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.23.0
|
4
4
|
Summary: Admin dashboard and tools for Plain.
|
5
5
|
Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
|
6
6
|
License-Expression: BSD-3-Clause
|
@@ -30,7 +30,47 @@ in addition to models.
|
|
30
30
|
## Installation
|
31
31
|
|
32
32
|
- install plain.admin and plain.htmx, add plain.admin.admin and plain.htmx to installed packages
|
33
|
-
|
33
|
+
|
34
|
+
Add the `AdminRouter` to your `urls.py`.
|
35
|
+
|
36
|
+
```python
|
37
|
+
# app/urls.py
|
38
|
+
from plain.admin.urls import AdminRouter
|
39
|
+
from plain.urls import Router, include, path
|
40
|
+
|
41
|
+
from . import views
|
42
|
+
|
43
|
+
|
44
|
+
class AppRouter(Router):
|
45
|
+
namespace = ""
|
46
|
+
urls = [
|
47
|
+
include("admin/", AdminRouter),
|
48
|
+
path("login/", views.LoginView, name="login"),
|
49
|
+
path("logout/", LogoutView, name="logout"),
|
50
|
+
# Your other urls here...
|
51
|
+
]
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
Optionally, add the admin toolbar to your base template.
|
56
|
+
|
57
|
+
```html
|
58
|
+
<!-- app/templates/base.html -->
|
59
|
+
<!DOCTYPE html>
|
60
|
+
<html lang="en">
|
61
|
+
<head>
|
62
|
+
<meta charset="UTF-8">
|
63
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
64
|
+
<title>{{ html_title|default("My App") }}</title>
|
65
|
+
{% tailwind_css %}
|
66
|
+
</head>
|
67
|
+
<body>
|
68
|
+
{% block content required %}{% endblock %}
|
69
|
+
|
70
|
+
{% toolbar %}
|
71
|
+
</body>
|
72
|
+
</html>
|
73
|
+
```
|
34
74
|
|
35
75
|
## Models in the admin
|
36
76
|
|
@@ -128,7 +168,9 @@ INSTALLED_PACKAGES += [
|
|
128
168
|
|
129
169
|
```html
|
130
170
|
<!-- base.template.html -->
|
171
|
+
|
131
172
|
{% load toolbar %}
|
173
|
+
|
132
174
|
<!doctype html>
|
133
175
|
<html lang="en">
|
134
176
|
<head>
|
@@ -163,7 +205,6 @@ module.exports = {
|
|
163
205
|
|
164
206
|
If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.
|
165
207
|
|
166
|
-
|
167
208
|
# plain.requestlog
|
168
209
|
|
169
210
|
The request log stores a local history of HTTP requests and responses during `plain work` (Django runserver).
|
@@ -228,7 +269,6 @@ module.exports = {
|
|
228
269
|
|
229
270
|
If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.
|
230
271
|
|
231
|
-
|
232
272
|
# plain.impersonate
|
233
273
|
|
234
274
|
See what your users see.
|
@@ -269,7 +309,8 @@ urlpatterns = [
|
|
269
309
|
|
270
310
|
By default, all admin users can impersonate other users.
|
271
311
|
|
272
|
-
|
312
|
+
````python
|
273
313
|
# settings.py
|
274
314
|
IMPERSONATE_ALLOWED = lambda user: user.is_admin
|
275
315
|
``` -->
|
316
|
+
````
|
@@ -15,7 +15,47 @@ in addition to models.
|
|
15
15
|
## Installation
|
16
16
|
|
17
17
|
- install plain.admin and plain.htmx, add plain.admin.admin and plain.htmx to installed packages
|
18
|
-
|
18
|
+
|
19
|
+
Add the `AdminRouter` to your `urls.py`.
|
20
|
+
|
21
|
+
```python
|
22
|
+
# app/urls.py
|
23
|
+
from plain.admin.urls import AdminRouter
|
24
|
+
from plain.urls import Router, include, path
|
25
|
+
|
26
|
+
from . import views
|
27
|
+
|
28
|
+
|
29
|
+
class AppRouter(Router):
|
30
|
+
namespace = ""
|
31
|
+
urls = [
|
32
|
+
include("admin/", AdminRouter),
|
33
|
+
path("login/", views.LoginView, name="login"),
|
34
|
+
path("logout/", LogoutView, name="logout"),
|
35
|
+
# Your other urls here...
|
36
|
+
]
|
37
|
+
|
38
|
+
```
|
39
|
+
|
40
|
+
Optionally, add the admin toolbar to your base template.
|
41
|
+
|
42
|
+
```html
|
43
|
+
<!-- app/templates/base.html -->
|
44
|
+
<!DOCTYPE html>
|
45
|
+
<html lang="en">
|
46
|
+
<head>
|
47
|
+
<meta charset="UTF-8">
|
48
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
49
|
+
<title>{{ html_title|default("My App") }}</title>
|
50
|
+
{% tailwind_css %}
|
51
|
+
</head>
|
52
|
+
<body>
|
53
|
+
{% block content required %}{% endblock %}
|
54
|
+
|
55
|
+
{% toolbar %}
|
56
|
+
</body>
|
57
|
+
</html>
|
58
|
+
```
|
19
59
|
|
20
60
|
## Models in the admin
|
21
61
|
|
@@ -113,7 +153,9 @@ INSTALLED_PACKAGES += [
|
|
113
153
|
|
114
154
|
```html
|
115
155
|
<!-- base.template.html -->
|
156
|
+
|
116
157
|
{% load toolbar %}
|
158
|
+
|
117
159
|
<!doctype html>
|
118
160
|
<html lang="en">
|
119
161
|
<head>
|
@@ -148,7 +190,6 @@ module.exports = {
|
|
148
190
|
|
149
191
|
If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.
|
150
192
|
|
151
|
-
|
152
193
|
# plain.requestlog
|
153
194
|
|
154
195
|
The request log stores a local history of HTTP requests and responses during `plain work` (Django runserver).
|
@@ -213,7 +254,6 @@ module.exports = {
|
|
213
254
|
|
214
255
|
If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.
|
215
256
|
|
216
|
-
|
217
257
|
# plain.impersonate
|
218
258
|
|
219
259
|
See what your users see.
|
@@ -254,7 +294,8 @@ urlpatterns = [
|
|
254
294
|
|
255
295
|
By default, all admin users can impersonate other users.
|
256
296
|
|
257
|
-
|
297
|
+
````python
|
258
298
|
# settings.py
|
259
299
|
IMPERSONATE_ALLOWED = lambda user: user.is_admin
|
260
300
|
``` -->
|
301
|
+
````
|
@@ -43,7 +43,7 @@ you can add the querystats to your frontend templates with this include:
|
|
43
43
|
{% include "querystats/button.html" %}
|
44
44
|
```
|
45
45
|
|
46
|
-
|
46
|
+
_Note that you will likely want to surround this with an if `DEBUG` or `is_admin` check._
|
47
47
|
|
48
48
|
To view querystats you need to send a POST request to `?querystats=store` (i.e. via a `<form>`),
|
49
49
|
and the template include is the easiest way to do that.
|
@@ -69,7 +69,6 @@ module.exports = {
|
|
69
69
|
|
70
70
|
If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.
|
71
71
|
|
72
|
-
|
73
72
|
# plain.toolbar
|
74
73
|
|
75
74
|
The admin toolbar is enabled for every user who `is_admin`.
|
@@ -125,7 +124,6 @@ module.exports = {
|
|
125
124
|
|
126
125
|
If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.
|
127
126
|
|
128
|
-
|
129
127
|
# plain.requestlog
|
130
128
|
|
131
129
|
The request log stores a local history of HTTP requests and responses during `plain work` (Django runserver).
|
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.22.0 → plain_admin-0.23.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.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Checkbox.html
RENAMED
File without changes
|
{plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/CheckboxField.html
RENAMED
File without changes
|
{plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/FieldErrors.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/InputField.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/SelectField.html
RENAMED
File without changes
|
File without changes
|
{plain_admin-0.22.0 → plain_admin-0.23.0}/plain/admin/templates/elements/admin/Textarea.html
RENAMED
File without changes
|
{plain_admin-0.22.0 → plain_admin-0.23.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
|
File without changes
|
File without changes
|
File without changes
|