def detail(request, pk): flag = get_object_or_404(CommentFlag, pk=pk) if request.method == 'POST': form = CommentFlagForm(user=request.user, data=request.POST, instance=flag) if form.is_valid(): form.save() messages.info(request, _("The flag has been moderated!")) return redirect(reverse("spirit:admin:flag:index")) else: form = CommentFlagForm(instance=flag) flags = yt_paginate( Flag.objects.filter(comment=flag.comment), per_page=config.comments_per_page, page_number=request.GET.get('page', 1) ) context = { 'flag': flag, 'flags': flags, 'form': form } return render(request, 'spirit/comment/flag/admin/detail.html', context)
def index_active(request): categories = ( Category.objects .visible() .parents() .ordered()) topics = ( Topic.objects .visible() .global_() .with_bookmarks(user=request.user) .order_by('-is_globally_pinned', '-last_active') .select_related('category')) topics = yt_paginate( topics, per_page=config.topics_per_page, page_number=request.GET.get('page', 1)) return render( request=request, template_name='spirit/topic/active.html', context={ 'categories': categories, 'topics': topics})
def index(request): categories = Category.objects\ .visible()\ .parents() cat = get_topic_by_mysort(*categories) topics = Topic.objects \ .visible() \ .global_() \ .with_bookmarks(user=request.user) \ .order_by('-is_globally_pinned', '-date') \ .select_related('category') topics_true = [i for i in topics if not i.is_removed] topics = topics_true topics = yt_paginate(topics, per_page=config.topics_per_page, page_number=request.GET.get('page', 1)) topics = fill_likes_count_and_first_comment_by_topics(topics) for t in topics: t.last_active = t.last_active + datetime.timedelta(hours=8) # strdatetime = now.strftime("%Y-%m-%d %H:%M:%S") t.last_active = t.last_active.strftime("%Y-%m-%d") t.date = t.date + datetime.timedelta(hours=8) t.date = t.date.strftime("%Y-%m-%d") context = {'categories': cat, 'topics': topics} return render(request, 'spirit/topic/active.html', context)
def detail(request, pk): flag = get_object_or_404(CommentFlag, pk=pk) if request.method == 'POST': form = CommentFlagForm(user=request.user, data=request.POST, instance=flag) if form.is_valid(): form.save() messages.info(request, _("The flag has been moderated!")) return redirect(reverse("spirit:admin:flag:index")) else: form = CommentFlagForm(instance=flag) flags = yt_paginate( Flag.objects.filter(comment=flag.comment), ##@TODO create djconfig replacement per_page=10, page_number=request.GET.get('page', 1) ) context = { 'flag': flag, 'flags': flags, 'form': form } return render(request, 'spirit/comment/flag/admin/detail.html', context)
def detail(request, pk): loggedinuser = request.user profile = Profile.objects.get(user=loggedinuser) flag = get_object_or_404(CommentFlag, pk=pk) form = CommentFlagForm(user=request.user, data=post_data(request), instance=flag) if is_post(request) and form.is_valid(): form.save() messages.info(request, _("The flag has been moderated!")) return redirect(reverse("spirit:admin:flag:index")) flags = yt_paginate(Flag.objects.filter(comment=flag.comment), per_page=config.comments_per_page, page_number=request.GET.get('page', 1)) return render(request=request, template_name='spirit/comment/flag/admin/detail.html', context={ 'flag': flag, 'flags': flags, 'form': form, 'profile': profile })
def _index(request, queryset, template): flags = yt_paginate( queryset, per_page=config.comments_per_page, page_number=request.GET.get('page', 1) ) context = {'flags': flags, } return render(request, template, context)
def _index(request, queryset, template): loggedinuser = request.user profile = Profile.objects.get(user=loggedinuser) flags = yt_paginate(queryset, per_page=config.comments_per_page, page_number=request.GET.get('page', 1)) context = {'flags': flags, 'profile': profile} return render(request, template, context)
def _index(request, queryset, template): flags = yt_paginate(queryset, per_page=config.comments_per_page, page_number=request.GET.get('page', 1)) context = { 'flags': flags, } return render(request, template, context)
def _index(request, queryset, template): flags = yt_paginate( queryset, ##@TODO create djconfig replacement per_page=10, page_number=request.GET.get('page', 1) ) context = {'flags': flags, } return render(request, template, context)
def index(request): notifications = yt_paginate(TopicNotification.objects.for_access( request.user).with_related_data(), per_page=config.topics_per_page, page_number=request.GET.get('page', 1)) return render(request=request, template_name='spirit/topic/notification/index.html', context={'notifications': notifications})
def _index(request, queryset, template): flags = yt_paginate( queryset, ##@TODO create djconfig replacement per_page=10, page_number=request.GET.get('page', 1)) context = { 'flags': flags, } return render(request, template, context)
def _activity(request, pk, slug, queryset, template, reverse_to, context_name, per_page): p_user = get_object_or_404(User, pk=pk) if p_user.st.slug != slug: return HttpResponsePermanentRedirect( reverse(reverse_to, kwargs={'pk': p_user.pk, 'slug': p_user.st.slug})) items = yt_paginate( queryset, per_page=per_page, page_number=request.GET.get('page', 1)) return render( request=request, template_name=template, context={'p_user': p_user, context_name: items})
def index(request): topics = ( Topic.objects .with_bookmarks(user=request.user) .filter(topics_private__user=request.user)) topics = yt_paginate( topics, per_page=config.topics_per_page, page_number=request.GET.get('page', 1) ) return render( request=request, template_name='spirit/topic/private/index.html', context={'topics': topics})
def detail(request, pk, slug): categories = Category.objects\ .visible()\ .parents() cat = get_topic_by_mysort(*categories) category = get_object_or_404(Category.objects.visible(), pk=pk) if category.slug != slug: return HttpResponsePermanentRedirect(category.get_absolute_url()) subcategories = Category.objects\ .visible()\ .children(parent=category) topics = Topic.objects\ .unremoved()\ .with_bookmarks(user=request.user)\ .for_category(category=category)\ .order_by('-is_globally_pinned', '-is_pinned', '-date')\ .select_related('category') topics_true = [i for i in topics if not i.is_removed] topics = topics_true topics = yt_paginate(topics, per_page=config.topics_per_page, page_number=request.GET.get('page', 1)) topics = fill_likes_count_and_first_comment_by_topics(topics) for i in topics: i.last_active = i.last_active + datetime.timedelta(hours=8) # strdatetime = now.strftime("%Y-%m-%d %H:%M:%S") i.last_active = i.last_active.strftime("%Y-%m-%d") i.date = i.date + datetime.timedelta(hours=8) i.date = i.date.strftime("%Y-%m-%d") context = { 'topcategories': cat, #在渲染一个帖子分类的时候,显示所有的帖子分类,原来的情况是如果选了一个帖子分类,其他的帖子分类不会显示 'category': category, 'subcategories': subcategories, 'topics': topics } return render(request, 'spirit/category/detail.html', context)
def voters(request, pk): # TODO: check if user has access to this topic/poll choice = get_object_or_404( CommentPollChoice.objects.unremoved().select_related('poll'), pk=pk) if not choice.poll.can_show_results: raise PermissionDenied choice_votes = (CommentPollVote.objects.unremoved().for_choice( choice=choice).select_related('voter__st')) choice_votes = yt_paginate(choice_votes, per_page=config.topics_per_page, page_number=request.GET.get('page', 1)) context = {'choice': choice, 'votes': choice_votes} return render(request, 'spirit/comment/poll/voters.html', context)
def index_author(request): # Show created topics but exclude those the user is participating on # TODO: show all, show join link in those the user is not participating # TODO: move to manager topics = ( Topic.objects .filter( user=request.user, category_id=settings.ST_TOPIC_PRIVATE_CATEGORY_PK) .exclude(topics_private__user=request.user)) topics = yt_paginate( topics, per_page=config.topics_per_page, page_number=request.GET.get('page', 1) ) return render( request=request, template_name='spirit/topic/private/index_author.html', context={'topics': topics})
def _index(request, queryset, template): users = yt_paginate(queryset.order_by('-date_joined', '-pk'), per_page=config.topics_per_page, page_number=request.GET.get('page', 1)) return render(request, template, context={'users': users})