Initial commit: EFINTEL ERP Django Port

This commit is contained in:
Nachou-u
2026-08-19 18:04:18 -04:00
parent 1cd6ff1a6f
commit eb065909bd
39 changed files with 3852 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
from functools import wraps
from django.shortcuts import redirect
from django.contrib import messages
def role_required(*group_names):
"""Decorator that checks if the user belongs to at least one of the specified groups."""
def decorator(view_func):
@wraps(view_func)
def wrapper(request, *args, **kwargs):
if request.user.is_superuser:
return view_func(request, *args, **kwargs)
user_groups = request.user.groups.values_list('name', flat=True)
if any(group in user_groups for group in group_names):
return view_func(request, *args, **kwargs)
messages.error(request, 'No tienes permisos para acceder a esta sección.')
return redirect('dashboard')
return wrapper
return decorator