Example #1
0
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))
Example #2
0
 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