def test_index(self): """index contains forums list""" response = self.client.get(reverse('misago:index')) for node in get_forums_list(self.user): self.assertIn(node.name, response.content) if node.level > 1: self.assertIn(node.get_absolute_url(), response.content)
def test_index_no_perms(self): """index contains no visible forums""" override_acl(self.user, {'visible_forums': []}) response = self.client.get(reverse('misago:index')) for node in get_forums_list(self.user): self.assertNotIn(node.name, response.content) if node.level > 1: self.assertNotIn(node.get_absolute_url(), response.content)
def category(request, forum): allow_browse_forum(request.user, forum) if forum.level == 1: return dj_redirect(forum.get_absolute_url()) forums = get_forums_list(request.user, forum) return render(request, 'misago/forums/category.html', { 'category': forum, 'forums': forums, 'path': get_forum_path(forum), })
def dispatch(self, request, *args, **kwargs): forum = self.get_forum(request, **kwargs) validate_slug(forum, kwargs['forum_slug']) forum.labels = Label.objects.get_forum_labels(forum) if forum.lft + 1 < forum.rght: forum.subforums = get_forums_list(request.user, forum) else: forum.subforums = [] page_number = kwargs.pop('page', None) cleaned_kwargs = self.clean_kwargs(request, kwargs) link_name = request.resolver_match.view_name sorting = self.Sorting(link_name, cleaned_kwargs) cleaned_kwargs = sorting.clean_kwargs(cleaned_kwargs) filtering = self.Filtering(forum, link_name, cleaned_kwargs) cleaned_kwargs = filtering.clean_kwargs(cleaned_kwargs) if cleaned_kwargs != kwargs: return redirect(link_name, **cleaned_kwargs) threads = self.Threads(request.user, forum) sorting.sort(threads) filtering.filter(threads) actions = self.Actions(user=request.user, forum=forum) if request.method == 'POST': response = actions.handle_post(request, threads.get_queryset()) if response: return response return self.render(request, { 'link_name': link_name, 'links_params': cleaned_kwargs, 'forum': forum, 'path': get_forum_path(forum), 'threads': threads.list(page_number), 'threads_count': threads.count(), 'page': threads.page, 'paginator': threads.paginator, 'threads_actions': actions, 'selected_threads': actions.get_selected_ids(), 'sorting': sorting, 'filtering': filtering, })
def dispatch(self, request, *args, **kwargs): forum = self.get_forum(request, **kwargs) forum.labels = Label.objects.get_forum_labels(forum) if forum.lft + 1 < forum.rght: forum.subforums = get_forums_list(request.user, forum) else: forum.subforums = [] page_number = kwargs.pop('page', None) cleaned_kwargs = self.clean_kwargs(request, kwargs) sorting = self.Sorting(self.link_name, cleaned_kwargs) cleaned_kwargs = sorting.clean_kwargs(cleaned_kwargs) filtering = self.Filtering(forum, self.link_name, cleaned_kwargs) cleaned_kwargs = filtering.clean_kwargs(cleaned_kwargs) if cleaned_kwargs != kwargs: return redirect('misago:forum', **cleaned_kwargs) threads = self.Threads(request.user, forum) sorting.sort(threads) filtering.filter(threads) return self.render(request, { 'link_name': self.link_name, 'links_params': cleaned_kwargs, 'forum': forum, 'path': get_forum_path(forum), 'threads': threads.list(page_number), 'page': threads.page, 'paginator': threads.paginator, 'sorting': sorting, 'filtering': filtering, })
def forum_index(request): return render(request, 'misago/index.html', { 'categories': get_forums_list(request.user), })
def forum_index(request): return render( request, "misago/index.html", {"categories": get_forums_list(request.user), "ranks_online": get_ranks_online(request.user)}, )
def test_get_forum_path(self): """get_forums_list returns all children of root nodes""" for node in get_forums_list(self.user): parent_nodes = len(get_forum_path(node)) self.assertEqual(parent_nodes, node.level)
def test_root_forums_list_with_parents(self): """get_forums_list returns all children of given node""" for i, node in enumerate(get_forums_list(self.user)): child_nodes = len(get_forums_list(self.user, node)) self.assertEqual(child_nodes, len(node.get_descendants()))
def test_root_forums_list_no_parent(self): """get_forums_list returns all children of root nodes""" self.assertEqual(len(get_forums_list(self.user)), 3)
def forum_index(request): return render( request, 'misago/index.html', { 'categories': get_forums_list(request.user), 'ranks_online': get_ranks_online(request.user), })