예제 #1
0
 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')
예제 #2
0
 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')
예제 #3
0
 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()
예제 #4
0
 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)
예제 #5
0
 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()
예제 #6
0
 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)
예제 #7
0
 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)
예제 #8
0
 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)
예제 #9
0
 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
예제 #10
0
 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
예제 #11
0
 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
예제 #12
0
 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)
예제 #13
0
 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)
예제 #14
0
 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
예제 #15
0
 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
예제 #16
0
 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
예제 #17
0
 def get_user_db(self):
     """ Get the DB entity of this user """
     return DbFableUser.get_from_email(self.logged.email)
예제 #18
0
def get_all_users():
    return DbFableUser.query()
예제 #19
0
 def get_user_db(self):
     """ Get the DB entity of this user """
     return DbFableUser.get_from_email(self.logged.email)
예제 #20
0
 def get_db_user(self):
     return DbFableUser.get_from_email(self.__email)
예제 #21
0
 def get_db_user(self):
     return DbFableUser.get_from_email(self.__email)