from django.utils.encoding import force_unicode from django.utils.html import escape, conditional_escape from itertools import chain from wiki import models from wiki.conf import settings from wiki.editors import getEditor from wiki.core.diff import simple_merge from django.forms.widgets import HiddenInput from wiki.core.plugins.base import PluginSettingsFormMixin from django.contrib.auth.forms import UserCreationForm from wiki.core import permissions from wiki.core.compat import get_user_model User = get_user_model() class SpamProtectionMixin(): """Check a form for spam. Only works if properties 'request' and 'revision_model' are set.""" revision_model = models.ArticleRevision def check_spam(self): """Check that user or IP address does not perform content edits that are not allowed. current_revision can be any object inheriting from models.BaseRevisionMixin """ request = self.request user = None ip_address = None
from django.conf import settings as django_settings from django.contrib import messages from django.contrib.auth import logout as auth_logout, login as auth_login from django.contrib.auth.forms import AuthenticationForm from django.core.urlresolvers import reverse from django.shortcuts import redirect, render_to_response from django.template.context import RequestContext from django.utils.translation import ugettext as _ from django.views.generic.base import View from django.views.generic.edit import CreateView, FormView from wiki import forms from wiki.conf import settings from wiki.core.compat import get_user_model User = get_user_model() class Signup(CreateView): model = User form_class = forms.UserCreationForm template_name = "wiki/accounts/signup.html" def dispatch(self, request, *args, **kwargs): # Let logged in super users continue if not request.user.is_anonymous() and not request.user.is_superuser: return redirect('wiki:root') # If account handling is disabled, don't go here if not settings.ACCOUNT_HANDLING: return redirect(settings.SIGNUP_URL) # Allow superusers to use signup page...