Esempio n. 1
0
 def redirect_to_firstlogin(request: morepath.Request):
     if request.path.startswith('/__static__/'):
         return handler(request)
     if request.path == '/logout':
         return handler(request)
     userid = request.identity.userid
     if userid:
         col = get_user_collection(request)
         userobj = col.get_by_userid(userid)
         if userobj['state'] == 'new' and not request.path.startswith(
                 '/firstlogin'):
             resp = morepath.redirect(request.relative_url('/firstlogin'))
             resp.headers['Cache-Control'] = 'no-store'
             return resp
     return handler(request)
Esempio n. 2
0
    def redirect_to_firstlogin(request: morepath.Request):
        for path in EXCLUDE_PREFIXES:
            if request.path.startswith(path):
                return handler(request)

        for path in EXCLUDE_PATHS:
            if request.path == path:
                return handler(request)

        userid = request.identity.userid
        if userid:
            col = request.get_collection("morpfw.pas.user")
            userobj = col.get_by_userid(userid)
            if userobj and userobj["state"] == "new" and not request.path.startswith("/firstlogin"):
                resp = morepath.redirect(request.relative_url("/firstlogin"))
                resp.headers["Cache-Control"] = "no-store"
                return resp
        return handler(request)