示例#1
0
def login_view(request):
    username = password = ''

    # if already logged in
    if request.user.is_authenticated:
        return HttpResponseRedirect(reverse(STR_OPPIA_HOME))

    if request.POST:
        form = LoginForm(request.POST)
        username = request.POST.get('username')
        password = request.POST.get('password')
        next_page = filter_redirect(request.POST)

        user = authenticate(username=username, password=password)
        if user is not None and user.is_active:
            login(request, user)
            if next_page is not None:
                parsed_uri = urlparse(next_page)
                if parsed_uri.netloc == '':
                    return HttpResponseRedirect(next_page)
                else:
                    return HttpResponseRedirect(reverse(STR_OPPIA_HOME))
            else:
                return HttpResponseRedirect(reverse(STR_OPPIA_HOME))
    else:
        form = LoginForm(initial={
            'next': filter_redirect(request.GET),
        })

    return render(request, 'common/form/form.html', {
        'username': username,
        'form': form,
        'title': _(u'Login')
    })
示例#2
0
def register(request):
    self_register = SettingProperties \
        .get_bool(constants.OPPIA_ALLOW_SELF_REGISTRATION,
                  settings.OPPIA_ALLOW_SELF_REGISTRATION)
    if not self_register:
        raise Http404

    if request.method == 'POST':  # if form submitted...
        form = RegisterForm(request.POST)
        if form.is_valid():  # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("username")
            password = form.cleaned_data.get("password")
            register_form_process(form)

            u = authenticate(username=username, password=password)
            if u is not None and u.is_active:
                login(request, u)
                return HttpResponseRedirect('thanks/')
    else:
        form = RegisterForm(initial={
            'next': filter_redirect(request.GET),
        })

    return render(request, STR_COMMON_FORM, {
        'form': form,
        'title': _(u'Register')
    })
示例#3
0
    def form_valid(self, form):
        username = form.cleaned_data.get("username")
        password = form.cleaned_data.get("password")
        next_page = filter_redirect(self.request.POST)

        user = authenticate(username=username, password=password)
        if user is not None and user.is_active:
            login(self.request, user)
            if next_page is not None:
                parsed_uri = urlparse(next_page)
                if parsed_uri.netloc == '':
                    return HttpResponseRedirect(next_page)

        return HttpResponseRedirect(reverse(STR_OPPIA_HOME))
示例#4
0
 def get_initial(self):
     return {'next': filter_redirect(self.request.GET) }