def ajax_remove_place(request): """ Removes the SavedPlace for request.POST['pid'] and request.user. """ if request.method != 'POST': raise http.Http404() if 'pid' not in request.POST: raise http.Http404('Missing pid') if request.user.is_anonymous(): raise http.Http404('Not logged in') place, block_radius, xy_radius = parse_pid(request.POST['pid']) kwargs = {'user_id': request.user.id} if isinstance(place, Block): block, location = place, None kwargs['block__id'] = place.id else: block, location = None, place kwargs['location__id'] = place.id SavedPlace.objects.filter(**kwargs).delete() return http.HttpResponse('1')
def ajax_remove_place(request): """ Removes the SavedPlace for request.POST['pid'] and request.user. """ if request.method != 'POST': raise http.Http404() if 'pid' not in request.POST: raise http.Http404('Missing pid') if not request.user: raise http.Http404('Not logged in') place, block_radius, xy_radius = parse_pid(request.POST['pid']) kwargs = {'user_id': request.user.id} if isinstance(place, Block): block, location = place, None kwargs['block__id'] = place.id else: block, location = None, place kwargs['location__id'] = place.id SavedPlace.objects.filter(**kwargs).delete() return http.HttpResponse('1')
def ajax_save_place(request): """ Creates a SavedPlace for request.POST['pid'] and request.user. """ if request.method != 'POST': raise http.Http404() if 'pid' not in request.POST: raise http.Http404('Missing pid') if not request.user: raise http.Http404('Not logged in') place, block_radius, xy_radius = parse_pid(request.POST['pid']) kwargs = {'user_id': request.user.id} if isinstance(place, Block): block, location = place, None kwargs['block__id'] = place.id else: block, location = None, place kwargs['location__id'] = place.id # Validate that the SavedPlace hasn't already been created for this user, # to avoid duplicates. try: sp = SavedPlace.objects.get(**kwargs) except SavedPlace.DoesNotExist: pass else: return http.HttpResponse('0') # Already exists. SavedPlace.objects.create( user_id=request.user.id, block=block, location=location, nickname=request.POST.get('nickname', '').strip(), ) return http.HttpResponse('1')
def ajax_save_place(request): """ Creates a SavedPlace for request.POST['pid'] and request.user. """ if request.method != 'POST': raise http.Http404() if 'pid' not in request.POST: raise http.Http404('Missing pid') if request.user.is_anonymous(): raise http.Http404('Not logged in') place, block_radius, xy_radius = parse_pid(request.POST['pid']) kwargs = {'user_id': request.user.id} if isinstance(place, Block): block, location = place, None kwargs['block__id'] = place.id else: block, location = None, place kwargs['location__id'] = place.id # Validate that the SavedPlace hasn't already been created for this user, # to avoid duplicates. try: sp = SavedPlace.objects.get(**kwargs) except SavedPlace.DoesNotExist: pass else: return http.HttpResponse('0') # Already exists. SavedPlace.objects.create( user_id=request.user.id, block=block, location=location, nickname=request.POST.get('nickname', '').strip(), ) return http.HttpResponse('1')