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)
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)
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)
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'))
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)
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'Сохранить')