Beispiel #1
0
 def validate_python(self, value, state):
     super(UniqueUserValidator, self).validate_python(value, state)
     if re.match("^[a-zA-Z0-9_-]*[a-zA-Z_-][a-zA-Z0-9_-]*$", value):
         reg = DBSession.query(app_model.User).filter_by(user_name=value).first()
         user = DBSession.query(app_model.User).filter_by(user_name=value).first()
         if reg or user:
             raise Invalid(_('username already in use.'), value, state)
     else:
         raise Invalid(_('Invalid username'), value, state)
Beispiel #2
0
 def validate_python(self, value, state):
     super(UniqueEmailValidator, self).validate_python(value, state)
     if re.match("^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$", value):
         reg = DBSession.query(app_model.User).filter_by(email_address=value).first()
         user = DBSession.query(app_model.User).filter_by(email_address=value).first()
         if reg or user:
             raise Invalid(_('Email address has already been taken'), value, state)
     else:
         raise Invalid(_('Invalid email'), value, state)
Beispiel #3
0
 def generate_code(cls, email):
     code_space = string.ascii_letters + string.digits
     def _generate_code_impl():
         base = ''.join(random.sample(code_space, 8))
         base += email
         base += str(time.time())
         return hashlib.sha1(base).hexdigest()
     code = _generate_code_impl()
     while DBSession.query(cls).filter_by(code=code).first():
         code = _generate_code_impl()
     return code
 def generate_code(cls, email):
     code_space = string.ascii_letters + string.digits
     def _generate_code_impl():
         base = ''.join(random.sample(code_space, 8))
         base += email
         base += str(time.time())
         return hashlib.sha1(base.encode('utf-8')).hexdigest()
     code = _generate_code_impl()
     while DBSession.query(cls).filter_by(code=code).first():
         code = _generate_code_impl()
     return code
Beispiel #5
0
 def get_inactive(cls, email_address, code):
     return DBSession.query(Registration).filter_by(activated=None)\
                                         .filter_by(code=code)\
                                         .filter_by(email_address=email_address).first()
Beispiel #6
0
 def clear_expired(cls):
     expired = DBSession.query(cls).filter_by(activated=None)\
                                   .filter(Registration.time<datetime.now()-timedelta(7)).delete()
 def by_email(self, email):
     return DBSession.query(Registration).filter_by(email_address=email).first()
 def get_inactive(cls, code):
     return DBSession.query(Registration).filter_by(activated=None)\
                                         .filter_by(code=code).first()
 def clear_expired(cls):
     for expired_reg in DBSession.query(cls).filter_by(activated=None)\
                                   .filter(Registration.time<datetime.now()-timedelta(days=2)):
         DBSession.delete(expired_reg)
Beispiel #10
0
 def pending_activation(self):
     return DBSession.query(Registration).filter(Registration.activated==None)