views.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. from datetime import datetime
  2. from django.conf import settings
  3. from django.template.context import RequestContext
  4. from django.views.generic import list_detail
  5. from django.shortcuts import render_to_response, get_object_or_404
  6. from django.template import loader
  7. from django.http import HttpResponse
  8. from django.core.xheaders import populate_xheaders
  9. DEFAULT_TEMPLATE = 'marketplace/guide/default.html'
  10. from marketplace.models import *
  11. def index(request):
  12. categories = Category.objects.all()
  13. features = Business.objects.filter(status=3)[:3]
  14. guides= Guide.objects.filter(published=True, pub_date__lte=datetime.now)
  15. return render_to_response('marketplace/index.html', locals(),
  16. context_instance=RequestContext(request))
  17. def category_index(request, slug):
  18. category=get_object_or_404(Category, slug=slug)
  19. subcategories=Subcategory.objects.filter(category=category)
  20. businesses=Business.objects.filter(categories=category)
  21. return render_to_response('marketplace/category_index.html', locals(),
  22. context_instance=RequestContext(request))
  23. def subcategory_index(request, category_slug, slug):
  24. category=get_object_or_404(Category, slug=category_slug)
  25. subcategory=get_object_or_404(Subcategory, slug=slug)
  26. businesses=Business.objects.filter(subcategories=subcategory)
  27. return render_to_response('marketplace/subcategory_index.html', locals(),
  28. context_instance=RequestContext(request))
  29. def business_detail(request, slug):
  30. business=get_object_or_404(Business, slug=slug)
  31. if business.hours_set.all():
  32. hours = business.hours_set.all()
  33. if business.dininghours_set.all():
  34. dining_hours = business.dininghours_set.all()
  35. if business.menu_set:
  36. menus = business.menu_set.all()
  37. if business.point:
  38. latitude=business.point.lat_lon.split(",")[0]
  39. longitude=business.point.lat_lon.split(",")[1]
  40. gmaps_api_key=settings.GOOGLE_API_KEY
  41. return render_to_response('marketplace/business_detail.html', locals(),
  42. context_instance=RequestContext(request))
  43. def guide_index(request):
  44. guides = Guide.objects.filter(published=True, featured=True, pub_date__lte=datetime.now)
  45. return render_to_response('marketplace/guide_index.html', locals(),
  46. context_instance=RequestContext(request))
  47. def guide_detail(request, slug):
  48. guide=get_object_or_404(Guide, slug=slug)
  49. if guide.template_name:
  50. t = loader.select_template((guide.template_name, DEFAULT_TEMPLATE))
  51. else:
  52. t = loader.get_template(DEFAULT_TEMPLATE)
  53. c = RequestContext(request, {
  54. 'guide': guide,
  55. })
  56. response = HttpResponse(t.render(c))
  57. populate_xheaders(request, response, guide, guide.id)
  58. return response