def manage_ticket(request, ticket_id=None): # site_vars = utils.site_vars() # Common data common_data = common_ticket_data() if ticket_id: # Check if existis or raise 404 ticket_rights = rights.get_rights_for_ticket(user=request.user, queue=None, ticket_id=ticket_id) if ticket_rights.can_edit or request.user.is_superuser: actual_ticket = get_object_or_404(Ticket, pk=ticket_id) actual_files = Attachment.objects.filter(ticket_rel=ticket_id) actual_comments = Comments.objects.filter( ticket_rel=ticket_id).order_by('-id') actual_logs = Logs.objects.filter( log_ticket=ticket_id).order_by('-id') actual_microtasks = Microtasks.objects.filter( ticket_rel=ticket_id).order_by('-id') else: raise Http404( "You dont have enough permissions to edit this ticket") else: # If not, assign a new ticket instance to be use as instance of form actual_ticket = Ticket() # POST mode if request.method == 'POST': form_ticket = TicketForm(request.POST, instance=actual_ticket, request=request, prefix="ticket") form_attach = AttachmentForm(request.POST, request.FILES, prefix="attach") if form_ticket.is_valid() and form_attach.is_valid(): # The ticket part new_ticket_form = form_ticket.save(commit=False) new_ticket_form.create_user = request.user saved_ticket = new_ticket_form.save() # Seconf, save the attach part # instance = Attachment( # ticket_rel=new_ticket_form,file_name=request.FILES['attach-file_name']) # instance.save() if form_attach.has_changed(): new_form_attach = form_attach.save(commit=False) new_form_attach.ticket_rel = new_ticket_form new_form_attach.save() if 'update-signal' in request.POST: return redirect('tickets-edit ticket_id') elif 'save-signal' in request.POST: return redirect('tickets-list') else: if 'save-signal' in request.POST: return redirect('tickets-list') else: # Non-POST mode, show only form_ticket = TicketForm(instance=actual_ticket, request=request, prefix="ticket") form_attach = AttachmentForm(instance=actual_ticket, prefix="attach") return render(request, 'core/tickets/create_edit_ticket.html', locals())
def view_ticket(request, ticket_id=None): # Common data common_data = common_ticket_data() if ticket_id: # Check if existis or raise 404 ticket_rights = rights.get_rights_for_ticket(user=request.user, queue=None, ticket_id=ticket_id) if ticket_rights.can_view: actual_ticket = get_object_or_404(Ticket, pk=ticket_id) actual_files = Attachment.objects.filter(ticket_rel=ticket_id) actual_comments = Comments.objects.filter( ticket_rel=ticket_id).order_by('-id') actual_logs = Logs.objects.filter( log_ticket=ticket_id).order_by('-id') actual_microtasks = Microtasks.objects.filter( ticket_rel=ticket_id).order_by('-id') if ticket_rights.can_edit or request.user.is_superuser: can_edit = True else: can_edit = False else: raise Http404( "You dont have enough permissions to see this ticket") else: # If not, assign a new ticket instance to be use as instance of form raise Http404("No ticket selected") # POST mode form_ticket = TicketForm(instance=actual_ticket, request=request, prefix="ticket") form_attach = AttachmentForm(instance=actual_ticket, prefix="attach") return render(request, 'core/tickets/view.html', locals())
def index(request): form = TicketForm() certificate_list = Certificate.objects.all() return render(request, 'index.html', { 'form': form, 'certificate_list': certificate_list, })
def confirm_arrival(request): form = TicketForm(request.GET) if form.is_valid(): ticket = form.cleaned_data['ticket'] ticket.confirm_arrival() ticket.save() return JsonResponse({'success': True}) else: return JsonResponse(form.errors)
def ticket_form(request): try: email = Setup.objects.all()[0].email except: email = '*****@*****.**' print email if request.method == "POST": form = TicketForm(data=request.POST) if form.is_valid(): ticket = form.save(commit=False) ticket.status = 1 ticket.save() message = u'Имя: %s\nТелефон:%s\nE-mail: %s\n' % ( ticket.name, ticket.phone, ticket.email) print settings.EMAIL_HOST_USER send_mail(u'lumen-ltd.com - Заявка с сайта', message, settings.EMAIL_HOST_USER, [ email, ]) return {'success': True} else: return {'success': False} return {'success': False}