39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from django.http import HttpResponseRedirect
|
|
from django.shortcuts import render
|
|
from .forms import *
|
|
|
|
|
|
def orders_list(request):
|
|
if request.user.is_authenticated:
|
|
if request.user.is_staff:
|
|
orders = Order.objects.filter()
|
|
else:
|
|
orders = Order.objects.filter(published=True, moderated=True)
|
|
orders.order_by('create_time')
|
|
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})
|