from datetime import datetime from django.conf import settings from django.template.context import RequestContext from django.views.generic import list_detail from django.shortcuts import render_to_response, get_object_or_404 from django.template import loader from django.http import HttpResponse from django.core.xheaders import populate_xheaders DEFAULT_TEMPLATE = 'marketplace/guide/default.html' from marketplace.models import * def index(request): categories = Category.objects.all() features = Business.objects.filter(status=3)[:3] guides= Guide.objects.filter(published=True, pub_date__lte=datetime.now) return render_to_response('marketplace/index.html', locals(), context_instance=RequestContext(request)) def category_index(request, slug): category=get_object_or_404(Category, slug=slug) subcategories=Subcategory.objects.filter(category=category) businesses=Business.objects.filter(categories=category) return render_to_response('marketplace/category_index.html', locals(), context_instance=RequestContext(request)) def subcategory_index(request, category_slug, slug): category=get_object_or_404(Category, slug=category_slug) subcategory=get_object_or_404(Subcategory, slug=slug) businesses=Business.objects.filter(subcategories=subcategory) return render_to_response('marketplace/subcategory_index.html', locals(), context_instance=RequestContext(request)) def business_detail(request, slug): business=get_object_or_404(Business, slug=slug) if business.hours_set.all(): hours = business.hours_set.all() if business.dininghours_set.all(): dining_hours = business.dininghours_set.all() if business.menu_set: menus = business.menu_set.all() if business.point: latitude=business.point.lat_lon.split(",")[0] longitude=business.point.lat_lon.split(",")[1] gmaps_api_key=settings.GOOGLE_API_KEY return render_to_response('marketplace/business_detail.html', locals(), context_instance=RequestContext(request)) def guide_index(request): guides = Guide.objects.filter(published=True, featured=True, pub_date__lte=datetime.now) return render_to_response('marketplace/guide_index.html', locals(), context_instance=RequestContext(request)) def guide_detail(request, slug): guide=get_object_or_404(Guide, slug=slug) if guide.template_name: t = loader.select_template((guide.template_name, DEFAULT_TEMPLATE)) else: t = loader.get_template(DEFAULT_TEMPLATE) c = RequestContext(request, { 'guide': guide, }) response = HttpResponse(t.render(c)) populate_xheaders(request, response, guide, guide.id) return response