snapshot: modularize workflow helper and task orchestration layers
This commit is contained in:
23
backend/workflows/view_permissions.py
Normal file
23
backend/workflows/view_permissions.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from functools import wraps
|
||||
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from .roles import user_has_capability
|
||||
|
||||
|
||||
def require_capability(capability: str):
|
||||
def decorator(view_func):
|
||||
@wraps(view_func)
|
||||
@login_required
|
||||
def wrapped(request, *args, **kwargs):
|
||||
if not user_has_capability(request.user, capability):
|
||||
messages.error(request, _('Sie haben keine Berechtigung für diese Aktion.'))
|
||||
return redirect('home')
|
||||
return view_func(request, *args, **kwargs)
|
||||
|
||||
return wrapped
|
||||
|
||||
return decorator
|
||||
Reference in New Issue
Block a user