views.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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 attend_table(request, year, month):
  20. attend_list = Attendance.objects.all().order_by('date')
  21. filtered_list=[]
  22. for a in attend_list:
  23. a_date = a.date
  24. if a_date.strftime('%m/%Y') == month+'/'+year:
  25. filtered_list.append(a)
  26. sum_calls = sum(l.calls for l in filtered_list)
  27. sum_visits = sum(l.visits for l in filtered_list)
  28. sum_orders = sum(l.order_count for l in filtered_list)
  29. sum_price = sum(l.orders_price for l in filtered_list)
  30. t = loader.get_template('asuzr/attendance.html')
  31. c = Context({
  32. 'attend_list': filtered_list,
  33. 'sum_calls': sum_calls,
  34. 'sum_visits': sum_visits,
  35. 'sum_orders': sum_orders,
  36. 'sum_price': sum_price,
  37. })
  38. return HttpResponse(t.render(c))
  39. def orders_table(request, year, month, day):
  40. p_date = datetime.strptime(day+'/'+month+'/'+year, '%d/%m/%Y')
  41. order_list = Order.objects.filter(date=p_date).order_by('id')
  42. sum_price = sum(l.price for l in order_list)
  43. t = loader.get_template('asuzr/orders.html')
  44. c = Context({
  45. 'order_list': order_list,
  46. 'sum_price': sum_price,
  47. })
  48. return HttpResponse(t.render(c))
  49. def get_filtered_list(p_list, year, month):
  50. filtered_list=[]
  51. for a in p_list:
  52. a_date = a.date
  53. if a_date.strftime('%m/%Y').lstrip('0') == '/'.join((month,year)).lstrip('0'):
  54. filtered_list.append(a)
  55. return filtered_list
  56. def get_orders_by_date(dt):
  57. order_list = Order.objects.filter(date=dt).order_by('id')
  58. return order_list
  59. def attend_order_table(request, year, month):
  60. attend_list = Attendance.objects.all().order_by('date')
  61. filtered_attend_list=get_filtered_list(attend_list, year, month)
  62. order_list = Order.objects.all().order_by('id')
  63. filtered_order_list = get_filtered_list(order_list, year, month)
  64. plan = OrderPlan.objects.all()
  65. filtered_plan = get_filtered_list(plan, year, month)
  66. sum_calls = sum(l.calls for l in filtered_attend_list)
  67. sum_visits = sum(l.visits for l in filtered_attend_list)
  68. sum_orders = sum(l.order_count for l in filtered_attend_list)
  69. sum_price = sum(l.orders_price for l in filtered_attend_list)
  70. sum_order_price = sum(l.price for l in filtered_order_list)
  71. t = loader.get_template('asuzr/attend_order.html')
  72. c = Context({
  73. 'attend_list': filtered_attend_list,
  74. 'order_list': filtered_order_list,
  75. 'sum_calls': sum_calls,
  76. 'sum_visits': sum_visits,
  77. 'sum_orders': sum_orders,
  78. 'sum_price': sum_price,
  79. 'sum_order_price': sum_order_price,
  80. 'plan': filtered_plan[0],
  81. })
  82. return HttpResponse(t.render(c))
  83. def main(request, day, month, year):
  84. attend_list = Attendance.objects.all().order_by('date')
  85. filtered_attend_list=get_filtered_list(attend_list, year, month)
  86. p_date = datetime.strptime(day+'/'+month+'/'+year, '%d/%m/%Y')
  87. order_list = Order.objects.filter(date=p_date).order_by('id')
  88. plan = OrderPlan.objects.all()
  89. filtered_plan = get_filtered_list(plan, year, month)
  90. sum_calls = sum(l.calls for l in filtered_attend_list)
  91. sum_visits = sum(l.visits for l in filtered_attend_list)
  92. sum_orders = sum(l.order_count for l in filtered_attend_list)
  93. sum_price = sum(l.orders_price for l in filtered_attend_list)
  94. sum_order_price = sum(l.price for l in order_list)
  95. plan_balance = filtered_plan[0].plan-sum_price
  96. d_date = p_date.strftime("%d/%m/%Y")
  97. t = loader.get_template('asuzr/attend_order.html')
  98. c = Context({
  99. 'attend_list': filtered_attend_list,
  100. 'order_list': order_list,
  101. 'sum_calls': sum_calls,
  102. 'sum_visits': sum_visits,
  103. 'sum_orders': sum_orders,
  104. 'sum_price': sum_price,
  105. 'sum_order_price': sum_order_price,
  106. 'plan': filtered_plan[0],
  107. 'balance': plan_balance,
  108. 'd_date': d_date,
  109. })
  110. return HttpResponse(t.render(c))