diff --git a/gestaoRaul/db.sqlite3 b/gestaoRaul/db.sqlite3 index ec8345f..b65c960 100644 Binary files a/gestaoRaul/db.sqlite3 and b/gestaoRaul/db.sqlite3 differ diff --git a/gestaoRaul/gestaoRaul/__pycache__/decorators.cpython-310.pyc b/gestaoRaul/gestaoRaul/__pycache__/decorators.cpython-310.pyc new file mode 100644 index 0000000..de1ff3c Binary files /dev/null and b/gestaoRaul/gestaoRaul/__pycache__/decorators.cpython-310.pyc differ diff --git a/gestaoRaul/gestaoRaul/decorators.py b/gestaoRaul/gestaoRaul/decorators.py new file mode 100644 index 0000000..22df2c4 --- /dev/null +++ b/gestaoRaul/gestaoRaul/decorators.py @@ -0,0 +1,14 @@ +from django.utils.decorators import method_decorator +from django.http import HttpResponseForbidden + + +def group_required(groupName): + def decorator(view_function): + def wrapper(request, *args, **kwargs): + if request.user.groups.filter(name=groupName).exists(): + return view_function(request, *args, **kwargs) + else: + return HttpResponseForbidden('tu nao tem acesso rapa') + return wrapper + return decorator + diff --git a/gestaoRaul/home/__pycache__/views.cpython-310.pyc b/gestaoRaul/home/__pycache__/views.cpython-310.pyc index d93498a..3e326ca 100644 Binary files a/gestaoRaul/home/__pycache__/views.cpython-310.pyc and b/gestaoRaul/home/__pycache__/views.cpython-310.pyc differ diff --git a/gestaoRaul/home/views.py b/gestaoRaul/home/views.py index 41212cc..827ce91 100644 --- a/gestaoRaul/home/views.py +++ b/gestaoRaul/home/views.py @@ -2,15 +2,17 @@ from django.shortcuts import render from django.db.models import Sum from django.db.models import Count, F from django.http import JsonResponse, HttpResponse +from django.contrib.admin.views.decorators import staff_member_required from comandas.models import ProductComanda from orders.models import Order from payments.models import Payments +from gestaoRaul.decorators import group_required + +@group_required(groupName='Gerente') def home(request): - if not request.user.is_authenticated or 'Admin' not in str(request.user.groups.all()): - return HttpResponse({'