11from django .shortcuts import render , get_object_or_404 , redirect
22from django .http import HttpResponse
3- from .models import Ticket
4- from .forms import AddTicketForm
3+ from .models import Ticket , Comment
4+ from .forms import AddTicketForm , AddCommentForm
55
66
77# Create your views here.
@@ -15,7 +15,17 @@ def view_tickets(request):
1515def view_ticket (request , pk ):
1616 """Display single ticket"""
1717 ticket = Ticket .objects .filter (id = pk )[0 ]
18- return render (request , 'view_ticket.html' , {'ticket' : ticket })
18+ comments = Comment .objects .filter (ticket_id = pk )
19+ # If post (add comment button click)
20+ form = AddCommentForm (request .POST , request .FILES , instance = None )
21+ if (request .method == "POST" ):
22+ if form .is_valid ():
23+ comment_body = form .cleaned_data .get ("comment_body" )
24+ comment = Comment (
25+ ticket_id = pk , comment_body = comment_body , user_id = request .user .id )
26+ comment .save ()
27+ return redirect (view_ticket , pk )
28+ return render (request , 'view_ticket.html' , {'ticket' : ticket , 'comments' : comments , 'form' : form })
1929
2030
2131def add_ticket (request , pk = None ):
@@ -56,6 +66,28 @@ def cancel_ticket(request, pk=None):
5666 ticket = get_object_or_404 (Ticket , pk = pk ) if pk else None
5767 ticket .status = "Cancelled"
5868 ticket .priority = "N/A"
59- # set priorty to NA?
6069 ticket .save ()
6170 return redirect (view_tickets )
71+
72+
73+ def delete_ticket (request , pk = None ):
74+ ticket = get_object_or_404 (Ticket , pk = pk ) if pk else None
75+ ticket .delete ()
76+ return redirect (view_tickets )
77+
78+
79+ # def add_comment(request):
80+ # """TESTAdd Ticket"""
81+ # print('test')
82+ # # On Submit
83+ # if (request.method == "POST"):
84+ # form = AddCommentForm(request.POST, request.FILES, instance=None)
85+ # if form.is_valid():
86+ # comment = form.save(commit=False)
87+ # # ticket.submitted_by = request.user
88+ # comment.save()
89+ # form.save_m2m()
90+ # return redirect(view_tickets)
91+ # else:
92+ # form = AddCommentForm(instance=None)
93+ # return render(request, 'view_ticket.html', {'form': form})
0 commit comments