No Description

views.py 3.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. from django.shortcuts import render, redirect, reverse
  2. from django.contrib.auth.decorators import login_required
  3. from pos.pos import PosSys
  4. from pos.storefront import StoreFront
  5. from django.http import JsonResponse
  6. from django.contrib import messages
  7. # Create your views here.
  8. def index(request):
  9. return render(request,'front/index.html')
  10. @login_required
  11. def myStore(request):
  12. pos = PosSys.restoreStore(request.user)
  13. storeInfo = pos.uiSys.renderStoreInfo()
  14. primaryMenu = pos.uiSys.menu('primary')
  15. formInstance = pos.uiSys.form('tableForm')
  16. print("Instance")
  17. print(formInstance)
  18. if request.method == "POST":
  19. formInstance = pos.uiSys.form('tableForm', request=request)
  20. if formInstance.is_valid():
  21. formInstance.save()
  22. print("valid")
  23. else:
  24. print(formInstance.errors)
  25. print("invalide")
  26. return redirect('front:myStore')
  27. return render(request, 'front/mystore.html', {'pos': pos, 'storeInfo': storeInfo, 'primaryMenu': primaryMenu, 'form': formInstance})
  28. def storeFrontView(request):
  29. if request.storeFront:
  30. menus = request.storeFront.getMenus()[:10]
  31. promotions = request.storeFront.getPosts(cat='Promotions')
  32. recs = request.storeFront.getPosts(cat="Recommendations")
  33. reviews = request.storeFront.getPosts(cat="Reviews")
  34. return render(request, 'front/storeFront.html', {'promotions': promotions, 'recs': recs, 'reviews': reviews, 'menus': menus})
  35. return JsonResponse({'msg': "Please provide store id in querystring"})
  36. def storeMenus(request, storeId):
  37. return render(request, 'front/storeMenus.html')
  38. def viewMenu(request, menuId):
  39. return render(request, 'front/viewMenu.html')
  40. def viewPost(request, pid):
  41. post = request.storeFront.getPostById(pid)
  42. return render(request, 'front/viewPost.html', {'post': post})
  43. def viewStoreMap(request):
  44. location = request.storeFront.location
  45. form = request.storeFront.messageForm()
  46. if request.method == 'POST':
  47. form = request.storeFront.messageForm(request=request)
  48. if form.is_valid():
  49. o = form.save(commit=False)
  50. o.store = request.storeFront.store
  51. o.save()
  52. messages.success(request, 'Thank you for your contact')
  53. return redirect(reverse('front:viewStoreMap')+f"?cstr={request.storeFront.storeId}")
  54. return render(request, 'front/storeMap.html', {'geo': location[1], 'address': location[0], 'form': form})
  55. def storeContact(request):
  56. form = request.storeFront.messageForm()
  57. if request.method == 'POST':
  58. form = request.storeFront.messageForm(request=request)
  59. if form.is_valid():
  60. o = form.save()
  61. messages.success(request, 'Thank you for your contact')
  62. return redirect(reverse('front:storeContact')+"?cstr="+request.storeFront.storeId)
  63. return render(request, 'front/storeContact.html', {'form': form})
  64. def search(request):
  65. results = None
  66. q = request.GET.get('q', '')
  67. print(q)
  68. if request.storeFront:
  69. results = request.storeFront.search(q=q)
  70. else:
  71. results = StoreFront.globalSearch(q)
  72. print(results)
  73. return render(request, 'front/search.html', {'results': results})