Add order respondes
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
import traceback
|
||||
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.shortcuts import render
|
||||
from django.urls import reverse
|
||||
|
||||
from .forms import *
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
@@ -37,7 +41,49 @@ def order_create(request):
|
||||
|
||||
@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)
|
||||
images = OrderImage.objects.filter(order=order)
|
||||
return render(request, 'orders/order-view.html', {"order": order, "images": images})
|
||||
render_vars = {}
|
||||
try:
|
||||
order = Order.get_all_for_user(request.user)
|
||||
order = order.select_related('address_city').get(id=order_id)
|
||||
render_vars["order"] = order
|
||||
|
||||
render_vars["images"] = OrderImage.objects.filter(order=order)
|
||||
|
||||
render_vars["can_responde"] = order.owner_id != request.user.id
|
||||
|
||||
if render_vars["can_responde"]:
|
||||
render_vars["respondes_count"] = OrderRespond.objects.filter(order_id=order_id).count()
|
||||
|
||||
render_vars["is_responde"] = OrderRespond.objects.filter(user_id=request.user.id, order_id=order_id).count() > 0
|
||||
|
||||
render_vars["respond_users"] = OrderRespond.objects.filter(order_id=order_id).\
|
||||
select_related('user').order_by('create_time')
|
||||
|
||||
except Exception:
|
||||
traceback.print_exc()
|
||||
render_vars["order"] = None
|
||||
return render(request, 'orders/order-view.html', render_vars)
|
||||
|
||||
|
||||
@login_required
|
||||
def order_respond(request, order_id):
|
||||
try:
|
||||
if request.method == 'POST':
|
||||
action = None
|
||||
if "action" in request.POST:
|
||||
action = request.POST["action"]
|
||||
else:
|
||||
print("order_respond: no action param found!")
|
||||
|
||||
if action == "respond":
|
||||
r = OrderRespond(order_id=order_id, user=request.user)
|
||||
r.save()
|
||||
print("order_respond: save respond!")
|
||||
|
||||
if action == "unrespond":
|
||||
OrderRespond.objects.filter(order_id=order_id, user=request.user).delete()
|
||||
|
||||
except Exception:
|
||||
traceback.print_exc()
|
||||
|
||||
return HttpResponseRedirect(f'/orders/view/{order_id}')
|
||||
|
||||
Reference in New Issue
Block a user