This commit is contained in:
Martin Quarda 2024-10-13 16:03:30 +02:00
parent ffde4c889e
commit 533fe7c1ce
2 changed files with 14 additions and 9 deletions

View File

@ -8,6 +8,7 @@ from django.contrib.auth.models import User as DjangoUser
from django.contrib.auth import authenticate
from django.contrib.auth import login as auth_login, logout as auth_logout
from django.core.mail import send_mail, mail_admins, EmailMessage
from django.db.utils import IntegrityError
from django.utils.datastructures import MultiValueDictKeyError
from datetime import date, datetime, timedelta
from weasyprint import HTML
@ -354,12 +355,16 @@ def cart_add(request):
cart.save()
else:
cart = user.cart
cart_product = CartProduct(
product=Product.objects.get(id=_id),
cart=cart,
quantity=1,
)
cart_product.save()
try:
cart_product = CartProduct(
product=Product.objects.get(id=_id),
cart=cart,
quantity=1,
)
cart_product.save()
except IntegrityError as e:
return HttpResponse('{"status":"failed", "reason":"Předmět už v košíku je!"}', content_type='application/json')
return HttpResponse('{"status":"success", "reason":"Úspěšně přidáno do košíku."}', status=200)
def results(request):

View File

@ -81,14 +81,14 @@ class Main extends Component {
}
addToCart = (id) =>{
fetch(addr_prefix + "/api/cart/add?id=" + id).then(resp => resp.json()).then(json=>{
if(json.reason){
if(json.status == "failed"){
this.setState({
status_text: data.reason,
status_text: json.reason,
status: "failed",
})
}else{
this.setState({
status_text: data.success,
status_text: json.reason,
status: "success",
cart: [...this.state.cart, id],
});