def add_or_update_ticket(request, project_id, ticket_id=None): project = get_object_or_404(Project, pk=project_id) has_permissions_or_403(request.user, "change", project) adding = ticket_id is None if adding: ticket = Ticket(author=request.user, project=project) else: ticket = get_object_or_404(Ticket, pk=ticket_id) if request.method == 'POST': form = TicketForm(request.POST, instance=ticket, parent_project=project) if form.is_valid(): ticket = form.save() if adding: ok_msg = _('Ticket creation successful') ticket.send_mails('create') else: ok_msg = _('Ticket update successfull') ticket.send_mails('update') messages.success(request, ok_msg) return HttpResponseRedirect(reverse('ticket_detail_url', kwargs={'project_id' : project.pk, 'object_id' : ticket.pk})) else: # adding/updating failed if adding: fail_msg = _('Ticket creation failed. Correct errors and try again') else: fail_msg = _('Ticket update failed. Correct errors and try again') messages.error(request, fail_msg) else: # GET form = TicketForm(instance = ticket, parent_project=project) return render(request, 'core/add_ticket.html', {'tform' : form, 'project' : project})
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 }
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 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 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 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}
def update_ticket(request,object_id,project_id): ticket = get_object_or_404(Ticket, pk=object_id) project = ticket.project has_permissions_or_403(request.user, "change", project) if request.method == "POST": tform = TicketForm(request.POST, instance=ticket) if tform.is_valid(): ticket = tform.save(commit=False) ticket.save() tform.save_m2m() messages.success(request,_('Ticket update successful.')) return HttpResponseRedirect(reverse('ticket_detail_url', kwargs={'project_id' : ticket.project.pk, 'object_id' : ticket.pk})) else: tform.fields['version'].queryset = project.version_set print tform.errors messages.error(request,_('Ticket update failed. Corrert errors below and try again.')) else: tform = TicketForm(instance=ticket) tform.fields['version'].queryset = project.version_set return render(request, 'core/add_ticket.html',{'tform' : tform, 'project' : ticket.project, 'ticket_id' : ticket.pk})