Merge pull request #836 from Benbb96/0.2.x

A ticket cannot depends on itself or on a ticket already depending on it
This commit is contained in:
Garret Wassermann 2020-06-12 21:46:57 -04:00 committed by GitHub
commit 630cfd9179
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1475,16 +1475,17 @@ def ticket_dependency_add(request, ticket_id):
raise PermissionDenied() raise PermissionDenied()
if not _is_my_ticket(request.user, ticket): if not _is_my_ticket(request.user, ticket):
raise PermissionDenied() raise PermissionDenied()
if request.method == 'POST':
form = TicketDependencyForm(request.POST) form = TicketDependencyForm(request.POST or None)
if form.is_valid(): # A ticket cannot depends on itself or on a ticket already depending on it
ticketdependency = form.save(commit=False) form.fields['depends_on'].queryset = Ticket.objects.exclude(
ticketdependency.ticket = ticket Q(id=ticket.id) | Q(ticketdependency__depends_on=ticket)
if ticketdependency.ticket != ticketdependency.depends_on: )
ticketdependency.save() if form.is_valid():
return HttpResponseRedirect(reverse('helpdesk:view', args=[ticket.id])) ticketdependency = form.save(commit=False)
else: ticketdependency.ticket = ticket
form = TicketDependencyForm() ticketdependency.save()
return HttpResponseRedirect(reverse('helpdesk:view', args=[ticket.id]))
return render(request, 'helpdesk/ticket_dependency_add.html', { return render(request, 'helpdesk/ticket_dependency_add.html', {
'ticket': ticket, 'ticket': ticket,
'form': form, 'form': form,