def fetch(self, request, key=None): cross_origin = request.META.get('HTTP_ORIGIN') if cross_origin is not None: try: if request.META['HTTP_HOST'] == urlparse(cross_origin).hostname: cross_origin = None except ValueError: pass increment_cache_key('api_updates_fetch_requests%s' % ('_cross_origin' if cross_origin is not None else '')) from c3nav.site.models import SiteUpdate result = { 'last_site_update': SiteUpdate.last_update(), 'last_map_update': MapUpdate.current_processed_cache_key(), } if cross_origin is None: result.update({ 'user': get_user_data(request), }) response = Response(result) if cross_origin is not None: response['Access-Control-Allow-Origin'] = cross_origin response['Access-Control-Allow-Credentials'] = 'true' set_tile_access_cookie(request, response) return response
def fetch(self, request, key=None): cross_origin = request.META.get('HTTP_ORIGIN') if cross_origin is not None: try: if request.META['HTTP_HOST'] == urlparse( cross_origin).hostname: cross_origin = None except ValueError: pass counter_key = 'api_updates_fetch_requests%s' % ( '_cross_origin' if cross_origin is not None else '') try: cache.incr(counter_key) except ValueError: cache.set(counter_key, 0, None) from c3nav.site.models import SiteUpdate result = { 'last_site_update': SiteUpdate.last_update(), 'last_map_update': MapUpdate.current_processed_cache_key(), } if cross_origin is None: result.update({ 'user': get_user_data(request), }) response = Response(result) if cross_origin is not None: response['Access-Control-Allow-Origin'] = cross_origin response['Access-Control-Allow-Credentials'] = 'true' set_tile_access_cookie(request, response) return response
def close_response(request): ajax = request.is_ajax() or 'ajax' in request.GET if ajax: return HttpResponse(json.dumps(get_user_data(request), cls=DjangoJSONEncoder).encode(), content_type='text/plain') redirect_path = request.GET['next'] if request.GET.get('next', '').startswith('/') else reverse('site.index') return redirect(redirect_path)
def position_list(request): return render( request, 'site/position_list.html', { 'positions': Position.objects.filter(owner=request.user), 'user_data_json': json.dumps(get_user_data(request), cls=DjangoJSONEncoder), })