Пример #1
0
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))