Skip to content
Snippets Groups Projects
Verified Commit 7019189b authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Add system status page with list of backup cronjobs.

parent 61308502
No related branches found
No related tags found
No related merge requests found
......@@ -34,6 +34,11 @@ MENUS = {
'url': 'data_management',
'validators': ['menu_generator.validators.is_authenticated', 'menu_generator.validators.is_superuser']
},
{
'name': _('System status'),
'url': 'system_status',
'validators': ['menu_generator.validators.is_authenticated', 'menu_generator.validators.is_superuser']
},
{
'name': _('Impersonation'),
'url': 'impersonate-list',
......
{# -*- engine:django -*- #}
{% extends "core/base.html" %}
{% load i18n font_awesome %}
{% block bootstrap4_title %}{% blocktrans %}System status{% endblocktrans %} - {{ block.super }}{% endblock %}
{% block page_title %}{% blocktrans %}System status{% endblocktrans %}{% endblock %}
{% block content %}
<div class="card">
<div class="card-header bg-light text-dark">
{% blocktrans %}Recent backup cron jobs%{ endblocktrans %}
</div>
<ul class="list-group list-group-flush">
{% for backup in backups %}
<li class="list-group-item d-flex justify-content-between align-items-center">
<div>
<p>{{ backup.end_time }}</p>
</div>
{% if backup.is_success %}
<span class="badge badge-success">{% fa 'check' %}</span>
{% else %}
<span class="badge badge-danger">{% fa 'times' %}</span>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
{% endblock %}
......@@ -9,6 +9,7 @@ from . import views
urlpatterns = [
path('data_management/', views.data_management, name='data_management'),
path('status/', views.system_status, name='system_status'),
path('accounts/', include('django.contrib.auth.urls')),
path('persons', views.persons, name='persons'),
path('persons/accounts', views.persons_accounts, name='persons_accounts'),
......
......@@ -6,6 +6,8 @@ from django.shortcuts import get_object_or_404, render, redirect
from django_tables2 import RequestConfig
from django.utils.translation import ugettext_lazy as _
from django_cron.models import CronJobLog
from .decorators import admin_required
from .forms import PersonsAccountsFormSet, EditPersonForm, EditGroupForm
from .models import Person, Group
......@@ -173,3 +175,14 @@ def edit_group(request: HttpRequest, id_: Optional[int] = None) -> HttpResponse:
def data_management(request: HttpRequest) -> HttpResponse:
context = {}
return render(request, 'core/data_management.html', context)
@admin_required
def system_status(request: HttpRequest) -> HttpResponse:
context = {}
context['backups'] = CronJobLog.objects.filter(
code='biscuit.core.Backup'
).order_by('-end_time')[:10]
return render(request, 'core/system_status.html', context)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment