refactor: migrar a supabase, aplicar cia y poo a gastos

This commit is contained in:
Nachou-u
2026-09-07 22:44:14 -03:00
parent 77d9145248
commit 644bdc8f25
9 changed files with 382 additions and 76 deletions
+27
View File
@@ -0,0 +1,27 @@
from django.contrib.auth.mixins import UserPassesTestMixin
from django.contrib import messages
from django.shortcuts import redirect
class RoleRequiredMixin(UserPassesTestMixin):
"""
Mixin para validar si el usuario autenticado pertenece a alguno de los grupos (roles) permitidos.
"""
allowed_roles = []
redirect_url = 'dashboard'
permission_denied_message = 'No tienes permisos para acceder a esta página.'
def test_func(self):
if self.request.user.is_superuser:
return True
user_groups = self.request.user.groups.values_list('name', flat=True)
for role in self.allowed_roles:
if role in user_groups:
return True
return False
def handle_no_permission(self):
if not self.request.user.is_authenticated:
return redirect('login')
messages.error(self.request, self.permission_denied_message)
return redirect(self.redirect_url)