def racks_index(request): # might be creating a new rack... if request.method == 'POST' and \ request.META.get('CONTENT_TYPE') == 'application/json': return newrack_json(request) # determine the appropriate racks query racks = Rack.objects.all() try: board_gid = int(request.GET.get('cb', '0')) except ValueError: board_gid = 0 if board_gid != 0: # racks for a particular community board cb = get_object_or_404(CommunityBoard, gid=board_gid) racks = cb.racks else: try: boro_gid = int(request.GET.get('boro', '0')) if boro_gid != 0: boro = get_object_or_404(Borough, gid=boro_gid) else: boro = Borough.brooklyn() except ValueError: boro = Borough.brooklyn() racks = racks.filter(location__within=boro.the_geom) vrfy = request.GET.get('verified') if vrfy: racks = Rack.objects.filter_by_verified(vrfy, racks) # set up pagination information try: cur_page_num = int(request.GET.get('page', '1')) except ValueError: cur_page_num = 1 per_page = 7 page, paginator = make_paginator(racks, cur_page_num, per_page) template_params = {'paginator': paginator, 'page_obj': page, } # and return the appropriate template based on on request type if request.is_ajax(): return render_to_response('racklist.html', template_params, context_instance=RequestContext(request)) else: boards = CommunityBoard.objects.filter(borough=Borough.brooklyn()) template_params['boards'] = boards return render_to_response('verify.html', template_params, context_instance=RequestContext(request))
def _make_cb(self): from fixcity.bmabr.models import CommunityBoard, Borough from decimal import Decimal borough = Borough(boroname='Brooklyn', gid=1, borocode=1, the_geom=self.geom, shape_leng=Decimal("339789.04731400002"), shape_area=Decimal("635167251.876999974"), ) borough.save() cb = CommunityBoard(gid=1, borocd=1, board=1, the_geom=self.geom, borough=borough) cb.save() return cb