Example #1
0
 def index(self, name=None, password = None, referer=None):
     if name: # submitting
         user = User.query.filter_by(username = name).first()
         if user and user.password == userinfo.md5pass(password, user.password):
             if user.auth == 1:
                 userinfo.set_login_sesion_info(user)
                 if referer:
                     controller.http_redirect(referer)
                 else:
                     controller.http_redirect(controller.base_url()+'/welcome/')
             else:
                 return template.render("login.html" 
                     , error_reason = "auth" 
                     , referer = referer 
                     )                    
         else:                
             return template.render("login.html"
                 , error_reason = "failed" 
                 , referer = referer 
                 )
     else:
         referer = controller.get_header('Referer')
         if not referer:
             referer = controller.base_url()+"/welcome/"
         return template.render("login.html"
             , hide_login_register = True
             , referer = referer
             , error_reason = None)
Example #2
0
    def index(self, name=None, email=None, password1=None, password2=None):
        if not name:
            return template.render("register.html")
        # Server side validation
        if not userinfo.validateUsername(name):
            return "Invalid username"
        if not email:
            return "Email is missing"
        if not password1:
            return "Password is missing"
        if not userinfo.validateEmail(email):
            return "Invalid email"

        if User.query.filter_by(username=name).first():
            return template.render("register.html" \
          , user_already_exists=True, submit=True)

        if User.query.filter_by(email=email).first():
            return serve_template("register.html" \
         , user_email_exists=True, submit=True)
        authkey = userinfo.generate_auth_key()
        password = userinfo.md5pass(password1)
        # Clean the password fields - security
        password1 = None
        password2 = None
        # Insert the new user
        new_user = User(\
         username = name, \
         email = email, \
         password = password, \
         authkey = authkey, \
         auth = 0, \
         t_register = datetime.now(), \
         t_login = datetime.now(), \
         t_seen = datetime.now() )
        sender = apt_portal.get_config("mail", "register_sender")
        template.sendmail("register.mail" \
         , sender = sender \
         , destination = email \
         , username = name \
         , authkey = authkey \
         , sitename = "localhost" \
        )
        return template.render("register.html", submit=True)
Example #3
0
    def index(self, name=None, email=None, password1=None, password2=None):
        if not name:
            return template.render("register.html")
        # Server side validation
        if not userinfo.validateUsername(name):
            return "Invalid username"		
        if not email:
            return "Email is missing"
        if not password1:
            return "Password is missing"            
        if not userinfo.validateEmail(email): 
            return "Invalid email"

        if User.query.filter_by(username = name).first():
            return template.render("register.html" \
        		, user_already_exists=True, submit=True)
        
        if User.query.filter_by(email = email).first():
            return serve_template("register.html" \
        	, user_email_exists=True, submit=True)        
        authkey = userinfo.generate_auth_key()
        password = userinfo.md5pass(password1)
        # Clean the password fields - security
        password1 = None
        password2 = None
        # Insert the new user
        new_user = User(\
        	username = name, \
        	email = email, \
        	password = password, \
        	authkey = authkey, \
        	auth = 0, \
        	t_register = datetime.now(), \
        	t_login = datetime.now(), \
        	t_seen = datetime.now() )
        sender = apt_portal.get_config("mail", "register_sender")
        template.sendmail("register.mail" \
        	, sender = sender \
        	, destination = email \
        	, username = name \
        	, authkey = authkey \
        	, sitename = "localhost" \
        )
        return template.render("register.html", submit=True)