def append_to_queue(request): dd = {} try: queue_name = request.POST['queue_name'] username = request.POST['username'] special_requests = request.POST['special_requests'] user = User.objects.get(username=username) queue = Queue.objects.get(name=queue_name) status = Status.objects.get(name="Pending") max_pos = QueueItem.objects.filter(queue__name=queue_name, active=True).aggregate(models.Max('position')) if max_pos['position__max'] > -1: new_pos = max_pos['position__max'] + 1 else: new_pos = 0 qi = QueueItem() qi.position = new_pos qi.queue = queue qi.user = user qi.special_requirements = special_requests qi.status = status qi.active = True qi.save() msg = " Queue item added to %s queue." % queue_name dd.update({ "status": msg }) except Exception: dd.update({ "status": " Could not append to this queue." }) raise return render_to_response('append_to_queue.js', dd, context_instance=RequestContext(request))