3
3
from django .views .generic .edit import UpdateView , DeleteView
4
4
from django .urls import reverse_lazy
5
5
from django .shortcuts import get_object_or_404
6
+ from django .contrib .auth .models import User
6
7
from django .http import HttpResponseRedirect , HttpResponse
7
8
from django .contrib .auth .mixins import LoginRequiredMixin , UserPassesTestMixin
8
9
from .models import Post , Comment , UserProfile , Notification , ThreadModel , Message
9
10
from django .db .models import Q
10
- from .forms import PostForm , CommentForm , ProfileForm
11
+ from .forms import PostForm , CommentForm , ProfileForm , ThreadForm
11
12
12
13
13
14
class PostList (View ):
@@ -333,4 +334,30 @@ def get(self, request, *args, **kwargs):
333
334
context = {
334
335
'threads' : threads
335
336
}
336
- return render (request , 'base/inbox.html' , context )
337
+ return render (request , 'base/inbox.html' , context )
338
+
339
+
340
+ class CreateThread (View ):
341
+ def get (self , request , * args , ** kwargs ):
342
+ form = ThreadForm ()
343
+
344
+ context = {
345
+ 'form' : form
346
+ }
347
+ return render (request , 'base/create_thread.html' , context )
348
+
349
+ def post (self , request , * args , ** kwargs ):
350
+ form = ThreadForm (request .POST )
351
+ username = request .POST .get ('username' )
352
+
353
+ try :
354
+ receiver = User .objects .get (username = username )
355
+ if ThreadModel .objects .filter (use = request .user , receiver = receiver ).exists ():
356
+ thread = ThreadModel .objects .filter (user = request .user , receiver = receiver )[0 ]
357
+ return redirect ('thread' , pk = thread .pk )
358
+ elif ThreadModel .objects .filter (user = receiver , receiver = request .user ).exists ():
359
+ thread = ThreadModel .objects .filter (user = receiver , receiver = request .user )[0 ]
360
+ return redirect ('thread' , pk = thread .pk )
361
+
362
+ except :
363
+ return redirect ('thread' , pk = thread .pk )
0 commit comments