Beispiel #1
0
 def post(self, request):
     if request.POST.get('email'):
         name = request.POST.get('name')
         phone = request.POST.get('phone')
         email = request.POST.get('email')
         customer = Customer(name=name, phone=phone, email=email)
         customer.save()
         qrcode_path = customer.qrcode_create()
         customer.qrcode = qrcode_path
         customer.save()
         order = Order(customer=customer, )
         order.save()
         cart = request.session.get('cart')
         if cart:
             for product_id, quantity in cart.items():
                 cart = Cart(product_id=product_id,
                             quantity=quantity,
                             order=order,
                             complete=True)
                 cart.save()
             del request.session['cart']
             request.session.save()
     cart = order.cart_set.all()
     context = {'cart': cart, 'order': order}
     return render(request, 'shop/order.html', context)
Beispiel #2
0
def order(request):
    if request.method == 'GET':
        beers = Card.objects.all()
        context = {'beers': beers}
        return render(request, 'order_page.html', context)
    elif request.method == 'POST' and 'back' in request.POST:
        return redirect('main_page')
    elif request.method == 'POST' and 'confirm' in request.POST:
        name = request.POST.get('name_1')
        address = request.POST.get('address')
        if not name or not address:
            beers = Card.objects.all()
            context = {'beers': beers, 'valid': 'Please, fill in your name and address'}
            return render(request, 'order_page.html', context)
        else:
            customer = Customer(name=name, address=address)
            customer.save()
            all_card = Card.objects.all()
            for orders in all_card:
                Order.objects.create(beer=orders.beer, value=orders.value, customer=customer)
            card = Card.objects.all()
            card.delete()
            return render(request, 'succ_page.html')
    else:
        id_del = request.POST.get('id')
        all_card = Card.objects.get(id=id_del)
        all_card.delete()
        beers = Card.objects.all()
        context = {'beers': beers}
        return render(request, 'order_page.html', context)
Beispiel #3
0
    def post(self, request):
        email = request.POST['email']
        fname = request.POST['fname']
        lname = request.POST['lname']
        phone = request.POST['phone']
        house = request.POST['house']
        street = request.POST['street']
        state = request.POST['state']
        city = request.POST['city']
        pin = request.POST['pin']
        pass1 = request.POST['pass1']
        pass2 = request.POST['pass2']
        uname = email
        print(uname, fname, lname, email, phone, pass1)

        values = {
            'email': email,
            'fname': fname,
            'lname': lname,
            'phone': phone,
            'house': house,
            'street': street,
            'state': state,
            'city': city,
            'pin': pin,
        }

        # Form Validations
        if User.objects.filter(email=email):
            messages.success(request, "E-mail Already Registered!!!")
            return render(request, 'signup.html', values)
        if len(fname) > 10 and len(lname) > 10:
            messages.success(request, "First or Last Name too long!!!")
            return render(request, 'signup.html', values)
        if not fname.isalpha() or not lname.isalpha():
            messages.warning(request, "Name must contain only letters.")
            return render(request, 'signup.html', values)
        if len(str(phone)) != 10:
            messages.warning(request, "Phone number must contain 10 digits.")
            return render(request, 'signup.html', values)
        if len(pass1) < 5:
            messages.warning(
                request,
                "Password too short!!! It must have atleast 5 characters.")
            return render(request, 'signup.html', values)
        if pass1 != pass2:
            messages.warning(request, "Passwords don't match!!!")
            return render(request, 'signup.html', values)

        new_user = User.objects.create_user(
            uname,
            email=email,
            password=pass1,
            first_name=fname.capitalize(),
            last_name=lname.capitalize(),
        )
        new_user.save()

        customer = Customer(
            user=new_user,
            phone=phone,
            house_no=house,
            street=street.capitalize(),
            state=state.capitalize(),
            city=city.capitalize(),
            pin=pin,
        )
        customer.save()

        user = authenticate(request, username=email, password=pass1)
        if user is not None:
            login(request, user)

        messages.success(request, "Account Created Successfully!!!")
        return redirect('ShopHome')