def login_from_google(self, google_user, isadmin): self.__email = google_user.email() self.__isadmin = isadmin self.__logged = True user_db = DbFableUser.get_from_email(self.__email) if user_db is None: logging.debug('User not found: creating one.') DbFableUser.create(self.__email, 'ggl5x82393')
def get(self): qs = None # Destination after signing up/in qsq = self.request.get('qs') token = self.request.get('token') given_email = self.request.get('mail') user_exists = self.request.get('user_exists') if len(qsq) > 0: qs = urllib.unquote_plus(qsq) self.template_values['google_login'] = users.create_login_url( dest_url=qs) if token and given_email: user = DbFableUser.get_from_email(given_email) if user.remove_token(token): logging.debug('Token successfully removed.') self.session['user_email'] = given_email self.redirect('/thankyou?tokenized=1') else: if user_exists is not None: self.template_values['exists'] = user_exists if self.logged.is_logged: redir = '/' if qs is not None: redir = qs self.redirect(redir) # User is already logged in else: self.render()
def _set_new_password(self): newpwd = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) logging.debug('New password is > ' + newpwd) email_user = DbFableUser.get_from_email(self.email_address) email_user.password = newpwd email_user.put() self.sendforgotpassword(newpwd)
def get(self): qs = None # Destination after signing up/in qsq = self.request.get('qs') token = self.request.get('token') given_email = self.request.get('mail') user_exists = self.request.get('user_exists') if len(qsq) > 0: qs = urllib.unquote_plus(qsq) self.template_values['google_login'] = users.create_login_url(dest_url=qs) if token and given_email: user = DbFableUser.get_from_email(given_email) if user.remove_token(token): logging.debug('Token successfully removed.') self.session['user_email'] = given_email self.redirect('/thankyou?tokenized=1') else: if user_exists is not None: self.template_values['exists'] = user_exists if self.logged.is_logged: redir = '/' if qs is not None: redir = qs self.redirect(redir) # User is already logged in else: self.render()
def post(self): given_email = self.request.get('email') token = str(random.randint(10000, 99999)) password = self.request.get('password') if DbFableUser.create_with_token(given_email, password, token): Register.sendconfirmationmail(given_email, token) self.redirect('/thankyou') else: self.redirect('/register?user_exists=' + given_email)
def _set_new_password(self): newpwd = ''.join( random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) logging.debug('New password is > ' + newpwd) email_user = DbFableUser.get_from_email(self.email_address) email_user.password = newpwd email_user.put() self.sendforgotpassword(newpwd)
def from_email(cls, user_email): logging.debug('Checking user: '******'User found on DB!') webuser.login(user_email, dbuser.isadmin) else: logging.debug('User NOT found on DB. Using empty webuser') return webuser
def authorize(email, password): logging.debug('Authorizing user: '******'Unknown user') return LoginResults.KO_EMAIL if user_db.password != password: logging.debug('User known, but wrong password') return LoginResults.KO_PWD if user_db.isadmin: return LoginResults.OK_ADMIN return LoginResults.OK
def __init__(self, user_email, fable_id): """ Constructs a Fabulator object. -google_user: the current google user -fable_id: the fable ID of the fable on DB """ self.the_user = DbFableUser.get_from_email(user_email) if self.the_user is not None: if fable_id < 0: self._createnewfable(user_email) else: self._getexistingfable(user_email, fable_id)
def get_fable(user_email, fable_id): """ Get the db_fable of the user with the given id if it exists, else create one. fable_id = int id of the fable """ dbfableuser = DbFableUser.get_from_email(user_email) afable = None if dbfableuser: logging.debug('Found DbFable user ' + dbfableuser.email) logging.debug('Looking for fable #' + str(fable_id)) storedfable = DbFable.get_fable(user_email, fable_id) if storedfable: logging.debug('Fable #' + str(fable_id) + ' found.') afable = storedfable else: logging.debug( 'Cannot find fable #' + str(fable_id) + ' for user ' + dbfableuser.email) else: logging.debug('DbFable user NOT FOUND!') return afable
def get_fable(user_email, fable_id): """ Get the db_fable of the user with the given id if it exists, else create one. fable_id = int id of the fable """ dbfableuser = DbFableUser.get_from_email(user_email) afable = None if dbfableuser: logging.debug('Found DbFable user ' + dbfableuser.email) logging.debug('Looking for fable #' + str(fable_id)) storedfable = DbFable.get_fable(user_email, fable_id) if storedfable: logging.debug('Fable #' + str(fable_id) + ' found.') afable = storedfable else: logging.debug('Cannot find fable #' + str(fable_id) + ' for user ' + dbfableuser.email) else: logging.debug('DbFable user NOT FOUND!') return afable
def get_user_db(self): """ Get the DB entity of this user """ return DbFableUser.get_from_email(self.logged.email)
def get_all_users(): return DbFableUser.query()
def get_db_user(self): return DbFableUser.get_from_email(self.__email)