Exemplo n.º 1
0
def add_constituency(request):
    my_constituencies = request.user.current_constituencies.all()

    if len(my_constituencies) > 0:
        neighbours = Constituency.neighbours(my_constituencies[0])
        neighbours = neighbours.exclude(pk__in=my_constituencies)
    else:
        neighbours = []

    context = {
        'my_constituencies': my_constituencies,
        'constituencies': list(neighbours)
    }

    # searching for a constituency by postcode or placename
    if request.method == "GET":
        if request.GET.has_key("q"):
            place = request.GET["q"]

            context['constituencies'] = Constituency.objects.filter(
                name__icontains=place)

            const = geo.constituency(place)
            if const != None:
                context['constituencies'] = Constituency.objects.filter(
                    name=const) | context['constituencies']

            if context['constituencies'].count() == 0:
                context['search_fail'] = "Alas, we can't find '%s'" % place

    # adding another constituency
    if request.method == "POST":
        if request.POST.has_key('add') and request.POST.has_key('add_c'):
            add_c = request.POST.getlist('add_c')
            if type(add_c) != types.ListType:
                add_c = [add_c]
            constituencies = Constituency.objects.all().filter(slug__in=add_c)
            constituencies = constituencies.exclude(pk__in=my_constituencies)
            request.user.constituencies.add(*constituencies.all())
            request.user.save()
            return HttpResponseRedirect("/add_constituency/")

    return render_with_context(request, 'add_constituency.html', context)
Exemplo n.º 2
0
def add_constituency(request):
    my_constituencies = request.user.current_constituencies.all()

    if len(my_constituencies) > 0:
        neighbours = Constituency.neighbours(my_constituencies[0])
        neighbours = neighbours.exclude(pk__in=my_constituencies)
    else:
        neighbours = []
    
    context = {'my_constituencies': my_constituencies,
               'constituencies': list(neighbours)}

    # searching for a constituency by postcode or placename
    if request.method == "GET":
        if request.GET.has_key("q"):
            place = request.GET["q"]
            
            context['constituencies'] = Constituency.objects.filter(name__icontains=place)
            
            const = geo.constituency(place)
            if const != None:
                context['constituencies'] = Constituency.objects.filter(name=const) | context['constituencies']
            
            if context['constituencies'].count() == 0:
                context['search_fail'] = "Alas, we can't find '%s'" % place

    # adding another constituency
    if request.method == "POST":
        if request.POST.has_key('add') and request.POST.has_key('add_c'):
            add_c = request.POST.getlist('add_c')
            if type(add_c) != types.ListType:
                add_c = [add_c]
            constituencies = Constituency.objects.all().filter(slug__in=add_c)
            constituencies = constituencies.exclude(pk__in=my_constituencies)
            request.user.constituencies.add(*constituencies.all())
            request.user.save()
            return HttpResponseRedirect("/add_constituency/")

    return render_with_context(request,
                               'add_constituency.html',
                               context)