Beispiel #1
0
def queue_add(request, response_format='html'):
    "Queue add"

    if not request.user.profile.is_admin('anaf.services'):
        return user_denied(request,
                           message="You don't have administrator access to the Service Support module")

    if request.POST:
        if 'cancel' not in request.POST:
            queue = TicketQueue()
            form = QueueForm(
                request.user.profile, request.POST, instance=queue)
            if form.is_valid():
                queue = form.save()
                queue.set_user_from_request(request)
                return HttpResponseRedirect(reverse('services_queue_view', args=[queue.id]))
        else:
            return HttpResponseRedirect(reverse('services_settings_view'))
    else:
        form = QueueForm(request.user.profile)

    context = _get_default_context(request)
    context.update({'form': form})

    return render_to_response('services/queue_add', context,
                              context_instance=RequestContext(request), response_format=response_format)
Beispiel #2
0
def queue_add(request, response_format='html'):
    "Queue add"

    if not request.user.profile.is_admin('anaf.services'):
        return user_denied(
            request,
            message=
            "You don't have administrator access to the Service Support module"
        )

    if request.POST:
        if 'cancel' not in request.POST:
            queue = TicketQueue()
            form = QueueForm(request.user.profile,
                             request.POST,
                             instance=queue)
            if form.is_valid():
                queue = form.save()
                queue.set_user_from_request(request)
                return HttpResponseRedirect(
                    reverse('services_queue_view', args=[queue.id]))
        else:
            return HttpResponseRedirect(reverse('services_settings_view'))
    else:
        form = QueueForm(request.user.profile)

    context = _get_default_context(request)
    context.update({'form': form})

    return render_to_response('services/queue_add',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Beispiel #3
0
def queue_edit(request, queue_id, response_format='html'):
    "Queue edit"

    queue = get_object_or_404(TicketQueue, pk=queue_id)
    if not request.user.profile.has_permission(queue, mode='w'):
        return user_denied(request,
                           message="You don't have access to this Queue")

    if request.POST:
        if 'cancel' not in request.POST:
            form = QueueForm(request.user.profile,
                             request.POST,
                             instance=queue)
            if form.is_valid():
                queue = form.save()
                return HttpResponseRedirect(
                    reverse('services_queue_view', args=[queue.id]))
        else:
            return HttpResponseRedirect(
                reverse('services_queue_view', args=[queue.id]))
    else:
        form = QueueForm(request.user.profile, instance=queue)

    context = _get_default_context(request)
    context.update({'queue': queue, 'form': form})

    return render_to_response('services/queue_edit',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Beispiel #4
0
def queue_create(request):
    bac = request.user.get_profile().billing_account
    intnumbers, extnumbers, formset_intnumber, formset_extnumber = formsets_init(bac.id)
    if request.POST:
        if request.POST.get('save'):
            form = QueueForm(request.POST, request.FILES, bac=bac)
            formset_intnumber, formset_extnumber = formsets_post_init(request, formset_intnumber, formset_extnumber)
            if form.is_valid():
                queue = form.save(request=request)
                try:
                    with transaction.commit_on_success(using=settings.BILLING_DB):
                        formsets_save(queue, formset_intnumber, formset_extnumber, intnumbers, extnumbers)
                except Exception, e:
                    print 'queue_create Exception', e
                    raise Http404
                return HttpResponseRedirect(reverse('queue_list'))
        else:
            return HttpResponseRedirect(reverse('queue_list'))
Beispiel #5
0
def queue_edit(request, queue_id, response_format='html'):
    "Queue edit"

    queue = get_object_or_404(TicketQueue, pk=queue_id)
    if not request.user.profile.has_permission(queue, mode='w'):
        return user_denied(request, message="You don't have access to this Queue")

    if request.POST:
        if 'cancel' not in request.POST:
            form = QueueForm(
                request.user.profile, request.POST, instance=queue)
            if form.is_valid():
                queue = form.save()
                return HttpResponseRedirect(reverse('services_queue_view', args=[queue.id]))
        else:
            return HttpResponseRedirect(reverse('services_queue_view', args=[queue.id]))
    else:
        form = QueueForm(request.user.profile, instance=queue)

    context = _get_default_context(request)
    context.update({'queue': queue, 'form': form})

    return render_to_response('services/queue_edit', context,
                              context_instance=RequestContext(request), response_format=response_format)
Beispiel #6
0
 queue_id = int(queue_id)
 bac = request.user.get_profile().billing_account
 try:
     queue = Queue.objects.get(pk=queue_id)
     if queue.billing_account_id != bac.id:
         print 'queue_edit queue.billing_account_id != billing_account_id'
         raise Http404
 except Queue.DoesNotExist, e:
     raise Http404  # не нашли очередь с таким id => 404
 intnumbers, extnumbers, formset_intnumber, formset_extnumber = formsets_init(bac.id, queue=queue)
 if request.POST:
     if request.POST.get("save"):
         form = QueueForm(request.POST, request.FILES, bac=bac, queue=queue)
         formset_intnumber, formset_extnumber = formsets_post_init(request, formset_intnumber, formset_extnumber)
         if form.is_valid():
             queue = form.save(request=request)
             try:
                 with transaction.commit_on_success(using=settings.BILLING_DB):
                     formsets_save(queue, formset_intnumber, formset_extnumber, intnumbers, extnumbers)
             except Exception, e:
                 print 'queue_create Exception', e
                 raise Http404
             return HttpResponseRedirect(reverse('queue_list'))
     else:
         return HttpResponseRedirect(reverse('queue_list'))
 else:
     init_intnumbers = [{'number_dyn' : number.id} for number in queue.internal_numbers.all()]
     init_extnumbers = [{'extnumber' : number.id} for number in queue.external_numbers.all()]
     formset_intnumber, formset_extnumber = formsets_get_init(formset_intnumber, formset_extnumber, init_intnumbers, init_extnumbers)
     form = QueueForm(bac=bac, instance=queue)
 return get_context(form=form, formset_intnumber=formset_intnumber, formset_extnumber=formset_extnumber, title=u'Редактирование очереди', button=u'Сохранить')