Example #1
0
        def inner(request, *args, **kwargs):
            if mandatory and not request.is_ajax():
                return HttpResponseBadRequest()

            if request.is_ajax():
                # return json response
                try:
                    return render_to_json(func(request, *args, **kwargs))
                except Exception as exception:
                    return render_to_json(exception)
            else:
                # return standard response
                return func(request, *args, **kwargs)
Example #2
0
        def inner(request, *args, **kwargs):
            if mandatory and not request.is_ajax():
                return HttpResponseBadRequest()

            if request.is_ajax():
                # json response
                try:
                    return render_to_json(func(request, *args, **kwargs))
                except Exception as exception:
                    return render_to_json(exception)
            else:
                # conventional response
                return func(request, *args, **kwargs)
Example #3
0
        def inner(request, *args, **kwargs):
            if mandatory and not request.is_ajax():
                return HttpResponseBadRequest()

            if request.is_ajax():
                # return json response
                try:
                    return render_to_json(func(request, *args, **kwargs), request, **ajax_kwargs)
                except Exception as exception:
                    return render_to_json(exception, request)
            else:
                # return standard response
                return func(request, *args, **kwargs)
Example #4
0
 def process_response(self, request, response):
     """
     If the request was made by AJAX then convert response to JSON,
     otherwise return the original response.
     """
     if request.is_ajax():
         return render_to_json(response)
     return response
Example #5
0
        def inner(request, *args, **kwargs):
            if mandatory and not request.is_ajax():
                return HttpResponseBadRequest()

            if request.is_ajax():
                # return json response
                try:
                    # Validate operation and return them gracefully (405)
                    if good_operations is not None and (isinstance(good_operations, tuple) and request.method not in good_operations or isinstance(good_operations, basestring) and request.method != good_operations):
                        raise HttpResponseNotAllowed(permitted_methods=good_operations)

                    out = func(request, *args, **kwargs)
                    return render_to_json(out, cls=SimpleJSONEncoder)
                except Exception as exception:
                    return render_to_json(simplified_error(exception), cls=SimpleJSONEncoder)
            else:
                # return standard response
                return func(request, *args, **kwargs)
Example #6
0
def venue_create(request):
    if request.method == 'POST':
        venue_create_form = VenueForm(request.POST)
        if venue_create_form.is_valid():
            venue = Venue.objects.create(
                quadra=venue_create_form.cleaned_data["quadra"],
                address=venue_create_form.cleaned_data["address"],
                location=venue_create_form.cleaned_data["location"],
            )
            if(request.is_ajax()) :
                response = {"id":venue.pk, "append-fragments" : {"#id_venue" : "<option value='%s'>%s</option>" % (venue.pk,venue.quadra)}}
                return render_to_json(response)
            return redirect(reverse("venue", args=(venue.pk,)))
    return render(request, "venue/venue_create.html", {
        "venue_form":VenueForm,
    })
Example #7
0
def venue_create(request):
    if request.method == 'POST':
        venue_create_form = VenueForm(request.POST)
        if venue_create_form.is_valid():
            venue = Venue.objects.create(
                quadra=venue_create_form.cleaned_data["quadra"],
                address=venue_create_form.cleaned_data["address"],
                location=venue_create_form.cleaned_data["location"],
            )
            if (request.is_ajax()):
                response = {
                    "id": venue.pk,
                    "append-fragments": {
                        "#id_venue":
                        "<option value='%s'>%s</option>" %
                        (venue.pk, venue.quadra)
                    }
                }
                return render_to_json(response)
            return redirect(reverse("venue", args=(venue.pk, )))
    return render(request, "venue/venue_create.html", {
        "venue_form": VenueForm,
    })
Example #8
0
def index(request):
    filters = [f for f in request.GET.getlist("f")]
    if filters:
        request.session['init_filters'] = filters
    else:
        filters = request.session.get('init_filters', DEFAULT_FILTERS)

    inits = request.guard.make_intiatives_query(filters).prefetch_related(
        "supporting")

    bereiche = [f for f in request.GET.getlist('b')]
    if bereiche:
        inits = inits.filter(bereich__in=bereiche)

    ids = [i for i in request.GET.getlist('id')]

    if ids:
        inits = inits.filter(id__in=ids)

    elif request.GET.get('s', None):
        searchstr = request.GET.get('s')

        if len(searchstr) >= settings.MIN_SEARCH_LENGTH:
            if connection.vendor == 'postgresql':
                inits = inits.annotate(search=SearchVector(
                    'title', 'subtitle', 'summary', 'problem', 'forderung',
                    'kosten', 'fin_vorschlag', 'arbeitsweise',
                    'init_argument')).filter(search=searchstr)
            else:
                inits = inits.filter(
                    Q(title__icontains=searchstr)
                    | Q(subtitle__icontains=searchstr))

    inits = sorted(inits, key=lambda x: x.sort_index or timedelta(days=1000))

    # now we filter for urgency

    if request.is_ajax():
        return render_to_json({
            'fragments': {
                "#init-card-{}".format(init.id):
                render_to_string("fragments/initiative/card.html",
                                 context=dict(initiative=init),
                                 request=request)
                for init in inits
            },
            'inner-fragments': {
                '#init-list':
                render_to_string("fragments/initiative/list.html",
                                 context=dict(initiatives=inits),
                                 request=request)
            },
            # FIXME: ugly work-a-round as long as we use django-ajax
            #        for rendering - we have to pass it as a dict
            #        or it chokes on rendering :(
            'initiatives':
            json.loads(JSONRenderer().render(
                SimpleInitiativeSerializer(inits, many=True).data, ))
        })

    count_inbox = request.guard.make_intiatives_query(['i']).count()

    return render(request,
                  'initproc/index.html',
                  context=dict(initiatives=inits,
                               inbox_count=count_inbox,
                               filters=filters))
Example #9
0
 def process_response(self, request, response):
     if request.is_ajax():
         return render_to_json(response)
     return response