views.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. from django.shortcuts import render
  2. from django.http import HttpResponse
  3. from django.template import Context, loader
  4. from asuzr.models import Product
  5. from asuzr.models import Attendance
  6. from asuzr.models import Order
  7. from asuzr.models import OrderPlan
  8. from datetime import datetime, date, time
  9. # Create your views here.
  10. def prod_list(request):
  11. product_list = Product.objects.all()
  12. t = loader.get_template('asuzr/prod_list.html')
  13. c = Context({
  14. 'product_list': product_list,
  15. })
  16. return HttpResponse(t.render(c))
  17. def prod_detail(request, prod_id):
  18. return HttpResponse("This is %s" % prod_id)
  19. def get_filtered_list(p_list, year, month):
  20. filtered_list=[]
  21. for a in p_list:
  22. a_date = a.date
  23. if a_date.strftime('%m/%Y').lstrip('0') == '/'.join((month,year)).lstrip('0'):
  24. filtered_list.append(a)
  25. return filtered_list
  26. def get_orders_by_date(dt):
  27. order_list = Order.objects.filter(date=dt).order_by('id')
  28. return order_list
  29. def main(request, day, month, year):
  30. attend_list = Attendance.objects.all().order_by('date')
  31. filtered_attend_list=get_filtered_list(attend_list, year, month)
  32. p_date = datetime.strptime(day+'/'+month+'/'+year, '%d/%m/%Y')
  33. order_list = Order.objects.filter(date=p_date).order_by('id')
  34. plan = OrderPlan.objects.all()
  35. filtered_plan = get_filtered_list(plan, year, month)
  36. sum_calls = sum(l.calls for l in filtered_attend_list)
  37. sum_visits = sum(l.visits for l in filtered_attend_list)
  38. sum_orders = sum(l.order_count for l in filtered_attend_list)
  39. sum_price = sum(l.orders_price for l in filtered_attend_list)
  40. sum_order_price = sum(l.price for l in order_list)
  41. plan_balance = filtered_plan[0].plan-sum_price
  42. d_date = p_date.strftime("%d/%m/%Y")
  43. t = loader.get_template('asuzr/attend_order.html')
  44. c = Context({
  45. 'attend_list': filtered_attend_list,
  46. 'order_list': order_list,
  47. 'sum_calls': sum_calls,
  48. 'sum_visits': sum_visits,
  49. 'sum_orders': sum_orders,
  50. 'sum_price': sum_price,
  51. 'sum_order_price': sum_order_price,
  52. 'plan': filtered_plan[0],
  53. 'balance': plan_balance,
  54. 'd_date': d_date,
  55. })
  56. return HttpResponse(t.render(c))
  57. def orders (request):
  58. order_list = Order.objects.filter(is_done=False).order_by('-id')
  59. t=loader.get_template('asuzr/orders.html')
  60. c=Context({
  61. 'order_list': order_list,
  62. })
  63. return HttpResponse(t.render(c))