def get_context_data(self, **kwargs): data = super(ForumIndexView, self).get_context_data(**kwargs) page = self.request.GET.get('page') order = self.kwargs.get('filter', 'default') if order == 'star': topics = Topic.objects.filter(admin_star=True).all() elif order == 'latest': topics = Topic.objects.order_by('-rank', '-date_created').all() elif order == 'reply': topics = Topic.objects.order_by('-rank', '-last_replied').all() else: order = 'default' topics = Topic.objects.all() data['order'] = order topic_list, page_list = topic_pagination(page, topics) data['topics'] = topic_list data['page_list'] = page_list sections = Section.objects.filter(order__gt=0).all() s_list = [] for s in sections: if s.nodes.all(): tmp = {} tmp['name'] = s.name tmp['nodes'] = s.nodes.all() s_list.append(tmp) data['sections'] = s_list return data
def get_context_data(self, **kwargs): data = super(NodeView, self).get_context_data(**kwargs) node_id = self.kwargs['node_id'] node = get_object_or_404(Node, id=node_id) page = self.request.GET.get('page') order = self.kwargs.get('filter', 'default') if order == 'star': topics = node.topics.filter(admin_star=True).all() elif order == 'latest': topics = node.topics.order_by('rank', '-date_created').all() elif order == 'reply': topics = node.topics.order_by('rank', '-last_replied').all() else: order = 'default' topics = node.topics.all() watch = False if self.request.user.is_authenticated(): watch = self.request.user.watch_nodes.filter(id=node_id).exists() topic_list, page_list = topic_pagination(page, topics) data['node'] = node data['order'] = order data['topics'] = topic_list data['page_list'] = page_list data['watching'] = watch return data