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)
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)
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)
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
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)
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, })
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, })
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))
def process_response(self, request, response): if request.is_ajax(): return render_to_json(response) return response