from django.views.decorators.http import require_POST from django.views.generic.edit import ModelFormMixin from django.views.decorators.csrf import csrf_protect from django.views import generic from pybb import compat, defaults, util from pybb.compat import get_atomic_func from pybb.forms import PostForm, MovePostForm, AdminPostForm, AttachmentFormSet, \ PollAnswerFormSet, PollForm, ForumSubscriptionForm, ModeratorForm from pybb.models import Category, Forum, ForumSubscription, Topic, Post, TopicReadTracker, \ ForumReadTracker, PollAnswerUser from pybb.permissions import perms from pybb.templatetags.pybb_tags import pybb_topic_poll_not_voted User = compat.get_user_model() username_field = compat.get_username_field() Paginator, pure_pagination = compat.get_paginator_class() class PaginatorMixin(object): def get_paginator(self, queryset, per_page, orphans=0, allow_empty_first_page=True, **kwargs): kwargs = {} if pure_pagination: kwargs['request'] = self.request return Paginator(queryset, per_page, orphans=0,
from django.utils.decorators import method_decorator from django.views.decorators.http import require_POST from django.views.generic.edit import ModelFormMixin from django.views.decorators.csrf import csrf_protect from django.views import generic from pybb import compat, defaults, util from pybb.compat import get_atomic_func from pybb.forms import PostForm, AdminPostForm, AttachmentFormSet, PollAnswerFormSet, PollForm from pybb.models import Category, Forum, Topic, Post, TopicReadTracker, ForumReadTracker, PollAnswerUser from pybb.permissions import perms from pybb.templatetags.pybb_tags import pybb_topic_poll_not_voted User = compat.get_user_model() username_field = compat.get_username_field() Paginator, pure_pagination = compat.get_paginator_class() class PaginatorMixin(object): def get_paginator(self, queryset, per_page, orphans=0, allow_empty_first_page=True, **kwargs): kwargs = {} if pure_pagination: kwargs["request"] = self.request return Paginator(queryset, per_page, orphans=0, allow_empty_first_page=True, **kwargs) class RedirectToLoginMixin(object): """ mixin which redirects to settings.LOGIN_URL if the view encounters an PermissionDenied exception and the user is not authenticated. Views inheriting from this need to implement get_login_redirect_url(), which returns the URL to redirect to after login (parameter "next") """