def add_feed(request): if request.method == 'POST': feed_form = FeedForm(request.POST) if feed_form.is_valid(): feed_form.save() # TODO: add listener to update live streams when a new feed is added response = {'status': 1} else: response = {'status': 0} return HttpResponse(json.dumps(response), mimetype='application/json') else: raise Http404
def post(self, request, *args, **kwargs): feed = Feeds.objects.get(id=kwargs.get('feed_id')) image = PicturesUser.objects.get(id=kwargs.get('image_id')) feed_form = FeedForm(request.POST, instance=feed) image_form = PicturesForm(data=request.POST, files=request.FILES, instance=image) if feed_form.is_valid() and image_form.is_valid(): feed_form.save() image_form.save() serialize_feed = FeedSerialize( Feeds.objects.get(id=kwargs.get('feed_id'))).data image_new = PicturesUser.objects.get(id=kwargs.get('image_id')) serialize_feed['image'] = image_new.image.url serialize_feed['username'] = feed.user.username return JsonResponse(serialize_feed, safe=False)
def get_context_data(self, **kwargs): context = super(ViewPost, self).get_context_data(**kwargs) context['comment_data'] = Comments.objects.filter( post_id=context.get('feeds').id) context['comment_form'] = CommentForm() context['search_form'] = SearchForm() context['user_data'] = self.request.user context['current_user'] = self.request.user context['feed_form'] = FeedForm() context['picture_form'] = PicturesForm() return context
def feededit(request, pk): feed = Feed.objects.get(pk=pk) if request.method == 'POST': form = FeedForm(request.POST, instance=feed) if form.is_valid(): form.save() return HttpResponseRedirect( reverse('feed:myposts', args=(feed.user_id, ))) else: form = FeedForm(instance=feed) return render(request, 'feed/feedit.html', {'form': form})
def feed(request): if request.method == 'POST': form = FeedForm(request.POST) if form.is_valid(): s_tags = form.cleaned_data['tags'] feed = form.save(commit=False) feed.moderator = request.user # for tag in s_tags: # feed.tags.add(tag) feed.save() form.save_m2m() feed.initclasses() return HttpResponseRedirect('/') else: form = FeedForm() return render(request, 'feeds/feed.html', {'form': form})
def feedview(request): obj = Feed.objects.all() page = request.GET.get('page', 1) paginator = Paginator(obj, 5) # commlist = try: pages = paginator.page(page) except PageNotAnInteger: pages = paginator.page(1) except EmptyPage: pages = paginator.page(paginator.num_pages) # Validating the Feed Post Data and Comment Data if request.method == 'POST': form = FeedForm(request.POST, request.FILES) comment = CommentForm(request.POST) like = LikeForm(request.POST) # Feed object if request.POST.get('items_id'): feed_obj = Feed.objects.get(pk=request.POST.get('items_id')) already_liked = feed_obj.like_set.filter( user=request.user) and True or False # Feed Form Data if form.is_valid(): feed = form.save(commit=False) feed.user = request.user feed.save() return HttpResponseRedirect(reverse('feed:feed')) # return HttpResponse('Am I here..') # Comment Form Data elif comment.is_valid(): comment = comment.save(commit=False) comment.feed = feed_obj comment.user = request.user comment.save() return HttpResponseRedirect(reverse('feed:feed')) # Like Form Data elif like.is_valid() and already_liked == False: like_model = like.save(commit=False) like_model.like = like.cleaned_data['like'] like_model.user = request.user like_model.post = feed_obj like_model.save() return HttpResponseRedirect(reverse('feed:feed')) else: return HttpResponseRedirect(reverse('feed:feed')) # return HttpResponse('Am I here.. ?') else: form = FeedForm() comment = CommentForm() # like = LikeForm() return render(request, 'feed/feed.html', locals())
def post(self, request, *args, **kwargs): caption = FeedForm(request.POST) image = PicturesForm(data=request.POST, files=request.FILES) if caption.is_valid() and image.is_valid(): caption = caption.save(commit=False) image = image.save(commit=False) image.user_id = request.user.id image.save() caption.user_id = request.user.id caption.images_id = image.id caption.save() serialize = FeedSerialize(caption) new_post = serialize.data new_post['username'] = caption.user.username new_post['image'] = caption.images.image.url new_post['image_id'] = image.id try: new_post['prof_pic'] = caption.user.account.prof_pic.url return JsonResponse(new_post, safe=False) except: return JsonResponse(new_post, safe=False)
def feed(request): luser = request.user feed = Feed.objects.filter( Q(Q(user__friends__freq_usr=luser) | Q(user__friends__freq_accp=luser), user__friends__friends='Yes') | Q(user=luser)).distinct() feed_form = FeedForm() comment_form = CommentsForm() page = request.GET.get('page', 1) paginator = Paginator(feed, 5) # print('stage 1') try: page_obj = paginator.page(page) except PageNotAnInteger: page_obj = paginator.page(1) except EmptyPage: page_obj = paginator.page(paginator.num_pages) if request.method == 'POST': feed_form = FeedForm(request.POST, request.FILES) request_data = (request.FILES.get('image', False) or request.FILES.get('video', False) or request.POST.get('post_info', False)) # print(request.FILES.get('image',False) or request.FILES.get('video', False) or request.POST.get('post_info',False)) # print(request.POST.get('video', False ), request_data) if feed_form.is_valid() and request_data != False: # if len(feed_form.cleaned_data['post_info']) > 0: feed_obj = feed_form.save(commit=False) feed_obj.user = request.user feed_obj.save() # print('success') return HttpResponseRedirect(reverse('feed:feed')) else: print(feed_form.errors) return render(request, 'feed/feed.html', locals())
def test_feed_form_is_invalid(self): form = FeedForm(self.data) self.assertFalse(form.is_valid())
def test_feed_form_is_valid(self): # self.data.update(image) # print(self.data) form = FeedForm(self.data, self.image) # print(form.errors) self.assertTrue(form.is_valid())
def test_feed_form_has_fields(self): form = FeedForm() expected = ['post_info', 'image'] actual = list(form.fields) self.assertSequenceEqual(expected, actual)
class FeedsView(TemplateView): """ Feeds View GET - render template, send context data POST - return json response to display recently added comments """ template_name = 'feed/users_page.html' comment_form = CommentForm() feed_form = FeedForm() picture_form = PicturesForm() search_form = SearchForm() def get(self, request, *args, **kwargs): followers = Followers.objects.filter( follow=True, follower_username=request.user.username).values('followed_user_id') feed_data = Feeds.objects.filter( user_id__in=followers, archived=False) | Feeds.objects.filter( user_id=request.user.id, archived=False) comment_data = Comments.objects.filter( post_id__in=feed_data.values('id')) feed_data._result_cache = None comment_data._result_cache = None package = { 'feed_data': feed_data.order_by('-id'), 'comment_data': comment_data, 'user_data': request.user, 'comment_form': self.comment_form, 'feed_form': self.feed_form, 'picture_form': self.picture_form, 'search_form': self.search_form, 'current_user': self.request.user, } return render(request, self.template_name, package) def post(self, request, *args, **kwargs): form = CommentForm(self.request.POST) feed = Feeds.objects.get(id=kwargs.get('feed_id')) if form.is_valid(): comment = form.save(commit=False) comment.post_id = feed.id comment.user_id = self.request.user.id comment.save() comment.refresh_from_db() serializer = CommentSerialize(Comments.objects.get(id=comment.id)) serialized = serializer.data serialized['username'] = comment.user.username serialized['current_user'] = request.user.username return JsonResponse(serialized, safe=False)