Example #1
0
    def login(self, request):
        _message, _code = _(u'Please log in.'), 401

        # Try to get an already logged in user
        if request.session.get('user_id', None):
            return redirect_to('portal/index')

        if request.authorization:
            auth = request.authorization
            try:
                user = User.query.get(auth.username)
                if user.check_password(request.authorization.password):
                    self.set_user(request, user)
                    request.flash(_(u'You are now logged in.'), True)
                    return redirect_to('portal/index')
                else:
                    _message, _code = _(u'Invalid login.'), 403
            except db.NoResultFound:
                _message, _code = _(u'Invalid login'), 403

        # ask for login
        response = Response(
            _message, _code,
            {'WWW-Authenticate': 'Basic realm="%s' % self.realm})
        abort(response)
Example #2
0
def activate_user(data):
    try:
        u = User.query.get(data["user"])
    except db.NoResultFound:
        return redirect_to("portal/index")
    u.status = "normal"
    db.session.commit()
    ctx.current_request.flash(_(u"Activation successful, you can now login with your credentials"))
    return redirect_to("portal/login")
Example #3
0
def activate_user(data):
    try:
        u = User.query.get(data['user'])
    except db.NoResultFound:
        return redirect_to('portal/index')
    u.status = 'normal'
    db.session.commit()
    ctx.current_request.flash(
        _(u'Activation successful, you can now login with your credentials'))
    return redirect_to('portal/login')
Example #4
0
 def perform_login(self, request, username, password, permanent=False):
     try:
         user = User.query.get(username)
     except db.NoResultFound:
         raise LoginUnsucessful(self.login_failed_message)
     if user.check_password(password):
         self.set_user(request, user)
         if permanent:
             request.session.permanent = True
         request.flash(_(u'You are now logged in.'))
         return redirect_to('portal/index')
     else:
         raise LoginUnsucessful(self.login_failed_message)
Example #5
0
 def perform_login(self, request, username, password, permanent=False):
     try:
         user = User.query.get(username)
     except db.NoResultFound:
         raise LoginUnsucessful(self.login_failed_message)
     if user.check_password(password):
         self.set_user(request, user)
         if permanent:
             request.session.permanent = True
         request.flash(_(u"You are now logged in."))
         return redirect_to("portal/index")
     else:
         raise LoginUnsucessful(self.login_failed_message)
Example #6
0
    def login(self, request):
        _message, _code = _(u"Please log in."), 401

        # Try to get an already logged in user
        if request.session.get("user_id", None):
            return redirect_to("portal/index")

        if request.authorization:
            auth = request.authorization
            try:
                user = User.query.get(auth.username)
                if user.check_password(request.authorization.password):
                    self.set_user(request, user)
                    request.flash(_(u"You are now logged in."), True)
                    return redirect_to("portal/index")
                else:
                    _message, _code = _(u"Invalid login."), 403
            except db.NoResultFound:
                _message, _code = _(u"Invalid login"), 403

        # ask for login
        response = Response(_message, _code, {"WWW-Authenticate": 'Basic realm="%s' % self.realm})
        abort(response)
Example #7
0
    def register(self, request):
        """Called like a view function with only the request.  Has to do the
        register heavy-lifting.  Auth systems that only use the internal
        database do not have to override this method.  Implementers that
        override this function *have* to call `after_register` to finish
        the registration of the new user.  If `before_register` is unnused
        it does not have to be called, otherwise as documented.
        """
        rv = self.before_register(request)
        if rv is not None:
            return rv

        form = get_registration_form(request)(request.form)
        if form.validate_on_submit():
            user = User(username=form.username.data, email=form.email.data, password=form.password.data)
            db.session.commit()
            r = self.after_register(request, user)
            if isinstance(r, Response):
                return r
            return redirect_to("portal/index")
        return {"form": form, "random_pw": form.password.data}
Example #8
0
    def register(self, request):
        """Called like a view function with only the request.  Has to do the
        register heavy-lifting.  Auth systems that only use the internal
        database do not have to override this method.  Implementers that
        override this function *have* to call `after_register` to finish
        the registration of the new user.  If `before_register` is unnused
        it does not have to be called, otherwise as documented.
        """
        rv = self.before_register(request)
        if rv is not None:
            return rv

        form = get_registration_form(request)(request.form)
        if form.validate_on_submit():
            user = User(username=form.username.data,
                        email=form.email.data,
                        password=form.password.data)
            db.session.commit()
            r = self.after_register(request, user)
            if isinstance(r, Response):
                return r
            return redirect_to('portal/index')
        return {'form': form, 'random_pw': form.password.data}
Example #9
0
 def decorated(*args, **kwargs):
     if ctx.current_request.user.is_anonymous:
         ctx.current_request.flash(_(u'You must login to view this!'))
         return redirect_to('portal/login', _next=ctx.current_request.url)
     return func(*args, **kwargs)
Example #10
0
 def decorated(*args, **kwargs):
     if ctx.current_request.user.is_anonymous:
         ctx.current_request.flash(_(u'You must login to view this!'))
         return redirect_to('portal/login', _next=ctx.current_request.url)
     return func(*args, **kwargs)