mirror of
https://github.com/welton89/RRBEC.git
synced 2026-04-05 21:45:41 +00:00
feat: decorator group_required
This commit is contained in:
Binary file not shown.
BIN
gestaoRaul/gestaoRaul/__pycache__/decorators.cpython-310.pyc
Normal file
BIN
gestaoRaul/gestaoRaul/__pycache__/decorators.cpython-310.pyc
Normal file
Binary file not shown.
14
gestaoRaul/gestaoRaul/decorators.py
Normal file
14
gestaoRaul/gestaoRaul/decorators.py
Normal file
@@ -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
|
||||||
|
|
||||||
Binary file not shown.
@@ -2,15 +2,17 @@ from django.shortcuts import render
|
|||||||
from django.db.models import Sum
|
from django.db.models import Sum
|
||||||
from django.db.models import Count, F
|
from django.db.models import Count, F
|
||||||
from django.http import JsonResponse, HttpResponse
|
from django.http import JsonResponse, HttpResponse
|
||||||
|
from django.contrib.admin.views.decorators import staff_member_required
|
||||||
|
|
||||||
|
|
||||||
from comandas.models import ProductComanda
|
from comandas.models import ProductComanda
|
||||||
from orders.models import Order
|
from orders.models import Order
|
||||||
from payments.models import Payments
|
from payments.models import Payments
|
||||||
|
from gestaoRaul.decorators import group_required
|
||||||
|
|
||||||
|
|
||||||
|
@group_required(groupName='Gerente')
|
||||||
def home(request):
|
def home(request):
|
||||||
if not request.user.is_authenticated or 'Admin' not in str(request.user.groups.all()):
|
|
||||||
return HttpResponse({'<h1>Você não esta logado ou não tem permissão!</h1>'})
|
|
||||||
total_pagamentos = Payments.objects.aggregate(total=Sum('value'))['total']
|
total_pagamentos = Payments.objects.aggregate(total=Sum('value'))['total']
|
||||||
qdt_pagamentos = Payments.objects.aggregate(total=Count('value'))['total']
|
qdt_pagamentos = Payments.objects.aggregate(total=Count('value'))['total']
|
||||||
pagamentos = Payments.objects.all()
|
pagamentos = Payments.objects.all()
|
||||||
@@ -21,22 +23,13 @@ def home(request):
|
|||||||
nome=F('product__name') ).order_by('-quantidade')[:5]
|
nome=F('product__name') ).order_by('-quantidade')[:5]
|
||||||
return render(request, 'home.html', {'total_pagamentos': total_pagamentos, 'pagamentos': pagamentos, 'qdt_pagamentos': qdt_pagamentos, 'produtos_mais_vendidos': produtos_mais_vendidos, 'ticekMedio': ticekMedio})
|
return render(request, 'home.html', {'total_pagamentos': total_pagamentos, 'pagamentos': pagamentos, 'qdt_pagamentos': qdt_pagamentos, 'produtos_mais_vendidos': produtos_mais_vendidos, 'ticekMedio': ticekMedio})
|
||||||
|
|
||||||
|
@group_required(groupName='Gerente')
|
||||||
def chartCuisine(request):
|
def chartCuisine(request):
|
||||||
|
|
||||||
user = request.user.groups.all()
|
|
||||||
for u in user:
|
|
||||||
print(type(u))
|
|
||||||
# print(user.email)
|
|
||||||
print(request.user.first_name)
|
|
||||||
print(request.user.last_name)
|
|
||||||
|
|
||||||
if 'Admin' in str(user):
|
|
||||||
print('tem permisão admin')
|
|
||||||
|
|
||||||
tFila = []
|
tFila = []
|
||||||
tPreparando = []
|
tPreparando = []
|
||||||
tFinalizado = []
|
tFinalizado = []
|
||||||
|
dataStart = request.GET.get("data-start")
|
||||||
|
dataEnd = request.GET.get("data-end")
|
||||||
|
|
||||||
orders = Order.objects.filter(delivered__isnull=False)
|
orders = Order.objects.filter(delivered__isnull=False)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user