Small api logic changes, small order changes
This commit is contained in:
@@ -217,5 +217,18 @@ class Order(models.Model):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@staticmethod
|
||||
def get_all_for_user(user):
|
||||
if user.is_staff:
|
||||
return Order.objects.filter().order_by('create_time')
|
||||
else:
|
||||
return Order.objects.filter(published=True, moderated=True).order_by('create_time')
|
||||
|
||||
@staticmethod
|
||||
def get_for_user_by_id(user, order_id):
|
||||
q = Order.get_all_for_user(user).filter(id=order_id)
|
||||
if len(q) == 0:
|
||||
return None
|
||||
else:
|
||||
return q[0]
|
||||
|
||||
|
@@ -20,5 +20,6 @@ from . import views
|
||||
urlpatterns = [
|
||||
path('', views.orders_list, name='orders-list'),
|
||||
path('create', views.order_create, name='order-create'),
|
||||
path('view/<int:order_id>', views.order_view, name='order-view'),
|
||||
]
|
||||
|
||||
|
@@ -1,15 +1,12 @@
|
||||
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:
|
||||
if request.user.is_staff:
|
||||
orders = Order.objects.filter()
|
||||
else:
|
||||
orders = Order.objects.filter(published=True, moderated=True)
|
||||
orders.order_by('create_time')
|
||||
orders = Order.get_all_for_user(request.user)
|
||||
return render(request, 'orders/orders-list.html', {'orders': orders[:50]})
|
||||
else:
|
||||
return HttpResponseRedirect('/accounts/register')
|
||||
@@ -36,3 +33,10 @@ def order_create(request):
|
||||
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})
|
||||
|
Reference in New Issue
Block a user