diff --git a/app/app/settings.py b/app/app/settings.py index dc47e8b..5c8ffbd 100755 --- a/app/app/settings.py +++ b/app/app/settings.py @@ -130,4 +130,9 @@ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' +# settings.py +LOGIN_URL = '/login/' +LOGIN_REDIRECT_URL = '/home/' # Redireciona para a home após login +LOGOUT_REDIRECT_URL = '/login/' # Redireciona para a página de login após logout + diff --git a/app/app/urls.py b/app/app/urls.py index 53d26cc..60ebbd3 100755 --- a/app/app/urls.py +++ b/app/app/urls.py @@ -26,4 +26,6 @@ path('catalogo/', views.catalogo, name='catalogo'), path('basket/', views.basket, name='basket'), path('adm/', views.admin, name='adm'), + path('adicionar_ao_carrinho/', views.adicionar_ao_carrinho, name='adicionar_ao_carrinho'), + path('listar_carrinho/', views.listar_carrinho, name='listar_carrinho'), ] diff --git a/app/loja/views.py b/app/loja/views.py index 38b10c1..2011628 100755 --- a/app/loja/views.py +++ b/app/loja/views.py @@ -1,8 +1,15 @@ -from django.shortcuts import render, redirect +from django.shortcuts import render, redirect, get_object_or_404 from django.contrib.auth.models import User from django.contrib import messages from django.contrib.auth import authenticate, login as auth_login +from django.contrib.auth.decorators import login_required +from django.http import JsonResponse +from django.views.decorators.http import require_POST +from .models import Bolo, Profile +import json + +@login_required def home(request): return render(request, 'home.html') @@ -38,11 +45,35 @@ def cadastro(request): messages.error(request, "As senhas não coincidem") return render(request, 'cadastro.html') +@login_required def catalogo(request): return render(request, 'catalogo.html') +@login_required def basket(request): return render(request, 'basket.html') +@login_required def admin(request): - return render(request, 'admin.html') \ No newline at end of file + return render(request, 'admin.html') + +@require_POST +def adicionar_ao_carrinho(request): + data = json.loads(request.body) + bolo_nome = data['bolo_nome'] + tamanho = data['tamanho'] + + # Encontra o bolo pelo nome + bolo = get_object_or_404(Bolo, sabor=bolo_nome) + + # Obtém o perfil do usuário + profile = Profile.objects.get(user=request.user) + + # Adiciona o bolo ao carrinho + profile.adicionar_bolo_ao_carrinho(bolo, tamanho) + + return JsonResponse({'success': True}) + +def listar_carrinho(request): + profile = Profile.objects.get(user=request.user) + return JsonResponse({'carrinho': profile.listar_carrinho()}) \ No newline at end of file