43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
from django.http import HttpResponseRedirect
|
|
from django.shortcuts import render
|
|
from .forms import *
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
|
|
def orders_list(request):
|
|
if request.user.is_authenticated:
|
|
orders = Order.get_all_for_user(request.user)
|
|
return render(request, 'orders/orders-list.html', {'orders': orders[:50]})
|
|
else:
|
|
return HttpResponseRedirect('/accounts/register')
|
|
|
|
|
|
def order_create(request):
|
|
if request.user.is_authenticated:
|
|
if request.method == 'POST':
|
|
order = Order(owner=request.user)
|
|
form = BaseOrderCreationForm(request.POST, instance=order)
|
|
if form.is_valid():
|
|
form.save()
|
|
return HttpResponseRedirect('/orders/')
|
|
else:
|
|
form = BaseOrderCreationForm()
|
|
else:
|
|
if request.method == 'POST':
|
|
order = Order()
|
|
form = UnregisteredUserOrderCreationForm(request.POST, instance=order)
|
|
if form.is_valid():
|
|
form.save()
|
|
return HttpResponseRedirect('/dev')
|
|
else:
|
|
form = UnregisteredUserOrderCreationForm()
|
|
print(form.visible_fields)
|
|
return render(request, 'orders/order-create.html', {'form': form})
|
|
|
|
|
|
@login_required
|
|
def order_view(request, order_id):
|
|
order = Order.get_all_for_user(request.user)
|
|
order = order.select_related('address_city').get(id=order_id)
|
|
return render(request, 'orders/order-view.html', {"order": order})
|