def get_context_data(self, **kwargs): data = super(TopicView, self).get_context_data(**kwargs) topic_id = self.kwargs['topic_id'] topic = get_object_or_404(Topic, id=topic_id) data['topic'] = topic topic.viewed += 1 topic.save() replies = topic.replies.all() paginator = Paginator(replies, 10) page = self.request.GET.get('page') try: reply_list = paginator.page(page) except PageNotAnInteger: reply_list = paginator.page(paginator.num_pages) except EmptyPage: reply_list = paginator.page(paginator.num_pages) page_list = get_pagination(reply_list.number, paginator.num_pages, 2) ilike = False if self.request.user.is_authenticated(): ilike = self.request.user.like_topics.filter(id=topic_id).exists() data['replies'] = reply_list data['page_list'] = page_list data['form'] = ReplyForm() data['ilike'] = ilike return data
def get_context_data(self, **kwargs): data = super(UserTopicView, self).get_context_data(**kwargs) user_id = self.kwargs.get('user_id') user = get_object_or_404(User, username=user_id) user_topics = user.topics.order_by('-date_created').all() paginator = Paginator(user_topics, 10) page = self.request.GET.get('page') try: topics = paginator.page(page) except PageNotAnInteger: topics = paginator.page(1) except EmptyPage: topics = paginator.page(paginator.num_pages) page_list = get_pagination(topics.number, paginator.num_pages, 2) data['see_user'] = user data['topics'] = topics data["page_list"] = page_list return data
def get_context_data(self, **kwargs): data = super(NotificationView, self).get_context_data(**kwargs) notifications = self.request.user.notifications.all() paginator = Paginator(notifications, 10) page = self.request.GET.get('page') try: noti_list = paginator.page(page) except PageNotAnInteger: noti_list = paginator.page(1) except EmptyPage: noti_list = paginator.page(paginator.num_pages) page_list = get_pagination(noti_list.number, paginator.num_pages, 2) data["noti_list"] = noti_list data["page_list"] = page_list profile = self.request.user.profile profile.has_notification = False profile.save() return data