diff --git a/biscuit/core/menus.py b/biscuit/core/menus.py index a874e6540d2be8c5800c24e291423d435908ce48..116f98b766ec7af2ea9a4bfa7125d60e26b5cc42 100644 --- a/biscuit/core/menus.py +++ b/biscuit/core/menus.py @@ -19,6 +19,18 @@ MENUS = { } ] }, + { + 'name': _('Admin'), + 'url': '#', + 'validators': ['menu_generator.validators.is_authenticated', 'menu_generator.validators.is_superuser'], + 'submenu': [ + } + 'name': _('Data management'), + 'url': 'data_management', + 'validators': ['menu_generator.validators.is_authenticated', 'menu_generator.validators.is_superuser'] + } + ] + }, { 'name': _('People'), 'url': '#', @@ -57,5 +69,7 @@ MENUS = { } ] } + ], + 'DATA_MANAGEMENT_MENU': [ ] } diff --git a/biscuit/core/templates/core/data_management.html b/biscuit/core/templates/core/data_management.html new file mode 100644 index 0000000000000000000000000000000000000000..1682a7352473854eb5663839bf6decb64e66cc22 --- /dev/null +++ b/biscuit/core/templates/core/data_management.html @@ -0,0 +1,23 @@ +{# -*- engine:django -*- #} +{% extends "core/base.html" %} +{% load bootstrap4 menu_generator %} + +{% block page_title %}BiscuIT administration{% endblock %} + +{% block content %} +{% get_menu "DATA_MANAGEMENT_MENU" as data_menu %} +<ul> + {% for item in data_menu %} + {% if item.submenu %} + <li><a href="{{ item.url }}">{{ item.name }}</a></li> + <ul> + {% for menu in item.submenu %} + <li><a href="{{ menu.url }}">{{ menu.name }}</a></li> + {% endfor %} + </ul> + {% else %} + <li><a href="{{ item.url }}">{{ item.name }}</a></li> + {% endif %} + {% endfor %} +</ul> +{% endblock %} diff --git a/biscuit/core/urls.py b/biscuit/core/urls.py index ae63ce4713eaee17ad1c13cc3c49f6e313bd201a..529becd8ae9826a98c7be9232a2be973251c14b5 100644 --- a/biscuit/core/urls.py +++ b/biscuit/core/urls.py @@ -10,6 +10,7 @@ from . import views urlpatterns = [ path('admin/', admin.site.urls), + path('data_management/', views.data_management, name='data_management'), path('accounts/', include('django.contrib.auth.urls')), path('persons', views.persons, name='persons'), path('persons/accounts', views.persons_accounts, name='persons_accounts'), diff --git a/biscuit/core/views.py b/biscuit/core/views.py index 5342b6555d00bc87b34406b43700a0cf66139300..e10a12591fd8da948bb72405bfeb7fe952d42b54 100644 --- a/biscuit/core/views.py +++ b/biscuit/core/views.py @@ -184,3 +184,8 @@ def edit_group(request: HttpRequest, id_: int) -> HttpResponse: context['edit_group_form'] = edit_group_form return render(request, 'core/edit_group.html', context) + + +def data_management(request: HttpRequest) -> HttpResponse: + context = {} + return render(request, 'core/data_management.html', context)