Files
mkspc-mgmt/app/base/views/model_views/sys_user.py
2023-05-29 17:41:48 +02:00

57 lines
1.6 KiB
Python
Executable File

from django.contrib.auth.models import User
from django.urls import path
from app.base.views.login import LoginRequired
from app.base.views.model_views.base import (
ModelDetailView, ModelListView, ModelCreateView, ModelUpdateView,
ViewOptions, ModelDeleteView
)
class SysUserOptions(ViewOptions[User], LoginRequired):
model = User
icon = 'user-cog'
views = {
'list': 'sys-user:list',
'detail': 'sys-user:detail',
'create': 'sys-user:create',
'update': 'sys-user:update',
'delete': 'sys-user:delete'
}
# detail_fields = ['username', 'email', 'last_login', 'is_superuser']
list_filter = {'user': 'account__pk'}
list_columns = ['username', 'email']
list_render = {}
class SysUserListView(SysUserOptions, ModelListView):
# title = 'Thekenkräfte'
ordering = ('id',)
class SysUserDetailView(SysUserOptions, ModelDetailView):
pass
class SysUserCreateView(SysUserOptions, ModelCreateView):
on_success = 'person:detail', '{.account.user.pk}'
class SysUserUpdateView(SysUserOptions, ModelUpdateView):
on_success = 'person:detail', '{.account.user.pk}'
class SysUserDeleteView(SysUserOptions, ModelDeleteView):
on_success = 'sys-user:list'
# URL paths
app_name = 'sys-user'
urlpatterns = [
# path('', SysUserListView.as_view(), name='list'),
# path('<int:pk>/', SysUserDetailView.as_view(), name='detail'),
# path('new/', SysUserCreateView.as_view(), name='create'),
# path('update/<int:pk>/', SysUserUpdateView.as_view(), name='update'),
# path('delete/<int:pk>/', SysUserDeleteView.as_view(), name='delete'),
]