From fa2d270dfb9f1c17dc3939c4480b4ccebe57a518 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 11 Nov 2024 10:51:24 +0000 Subject: [PATCH] add a basic system info --- rad/settings.py | 5 ++++- rad/urls.py | 5 +++++ rad/views.py | 7 +++++++ requirements.txt | 4 +++- templates/server.html | 15 +++++++++++++++ 5 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 templates/server.html diff --git a/rad/settings.py b/rad/settings.py index 805c5c46..312b0406 100644 --- a/rad/settings.py +++ b/rad/settings.py @@ -81,7 +81,10 @@ INSTALLED_APPS = [ "autocomplete", 'markdownify.apps.MarkdownifyConfig', 'django_jsonforms', - 'django_svelte_jsoneditor' + 'django_svelte_jsoneditor', + 'django_psutil_dash', + + ] MIDDLEWARE = [ diff --git a/rad/urls.py b/rad/urls.py index 4a933127..e9929e53 100644 --- a/rad/urls.py +++ b/rad/urls.py @@ -19,6 +19,8 @@ from django.conf import settings from django.conf.urls.static import static from django.views.generic import TemplateView +from django_psutil_dash.urls import psutil_urlpatterns + from . import views @@ -103,6 +105,7 @@ urlpatterns = [ views.UpdateUserProfileView.as_view(), name="account_profile_update", ), + path("server", views.server, name="server"), path("people", views.people, name="people"), path("accounts/", views.UserListTableView.as_view(), name="accounts_list"), #path("accounts/", views.UserListView.as_view(), name="accounts_list"), @@ -170,6 +173,8 @@ urlpatterns = [ path("about/", views.about_view, name="about"), # path('select2/', include('select2.urls')), *HTMXAutoComplete.url_dispatcher('ac'), + path('psutil/', psutil_urlpatterns()), + ] # handler400 = 'my_app.views.bad_request' diff --git a/rad/views.py b/rad/views.py index 3cc0050a..bf6e0dde 100644 --- a/rad/views.py +++ b/rad/views.py @@ -79,9 +79,16 @@ from dal import autocomplete from loguru import logger +import psutil + def feedback_checker(user): return user.groups.filter(name="feedback_checker").exists() +@user_passes_test(lambda u: u.is_superuser) +def server(request): + + return render(request, "server.html") + @user_is_cid_user_manager def people(request): return render(request, "people.html", {}) diff --git a/requirements.txt b/requirements.txt index 307fe5de..6d559bad 100644 --- a/requirements.txt +++ b/requirements.txt @@ -50,4 +50,6 @@ pylibjpeg pylibjpeg-libjpeg #django-jsonforms git+https://github.com/xkjq/django-jsonforms.git@bump-json-editor-lib -django_svelte_jsoneditor \ No newline at end of file +django_svelte_jsoneditor +psutil +django-psutil-dash \ No newline at end of file diff --git a/templates/server.html b/templates/server.html new file mode 100644 index 00000000..93a3f1e6 --- /dev/null +++ b/templates/server.html @@ -0,0 +1,15 @@ +{% extends 'generic/base.html' %} + +{% load crispy_forms_tags %} +{% block css %} +{% endblock %} + +{% block content %} + +

Server status

+ +{% endblock %} + +{% block js %} + +{% endblock %}