def reset_password(self, data): from rhodecode.lib.celerylib import tasks, run_task from rhodecode.lib import auth user_email = data['email'] try: try: user = User.get_by_email(user_email) new_passwd = auth.PasswordGenerator().gen_password( 8, auth.PasswordGenerator.ALPHABETS_BIG_SMALL) if user: user.password = auth.get_crypt_password(new_passwd) user.api_key = auth.generate_api_key(user.username) Session().add(user) Session().commit() log.info('change password for %s' % user_email) if new_passwd is None: raise Exception('unable to generate new password') except Exception: log.error(traceback.format_exc()) Session().rollback() run_task(tasks.send_email, user_email, _('Your new password'), _('Your new RhodeCode password:%s') % (new_passwd)) log.info('send new password mail to %s' % user_email) except Exception: log.error('Failed to update user password') log.error(traceback.format_exc()) return True
def reset_user_password(user_email): from rhodecode.lib import auth log = get_logger(reset_user_password) DBS = get_session() try: try: user = User.get_by_email(user_email) new_passwd = auth.PasswordGenerator().gen_password(8, auth.PasswordGenerator.ALPHABETS_BIG_SMALL) if user: user.password = auth.get_crypt_password(new_passwd) user.api_key = auth.generate_api_key(user.username) DBS.add(user) DBS.commit() log.info('change password for %s' % user_email) if new_passwd is None: raise Exception('unable to generate new password') except: log.error(traceback.format_exc()) DBS.rollback() run_task(send_email, user_email, 'Your new password', 'Your new RhodeCode password:%s' % (new_passwd)) log.info('send new password mail to %s' % user_email) except: log.error('Failed to update user password') log.error(traceback.format_exc()) return True
def reset_password(self, data): from rhodecode.lib.celerylib import tasks, run_task from rhodecode.lib import auth user_email = data['email'] try: try: user = User.get_by_email(user_email) new_passwd = auth.PasswordGenerator().gen_password(8, auth.PasswordGenerator.ALPHABETS_BIG_SMALL) if user: user.password = auth.get_crypt_password(new_passwd) user.api_key = auth.generate_api_key(user.username) Session().add(user) Session().commit() log.info('change password for %s' % user_email) if new_passwd is None: raise Exception('unable to generate new password') except Exception: log.error(traceback.format_exc()) Session().rollback() run_task(tasks.send_email, user_email, _('Your new password'), _('Your new RhodeCode password:%s') % (new_passwd)) log.info('send new password mail to %s' % user_email) except Exception: log.error('Failed to update user password') log.error(traceback.format_exc()) return True
def reset_user_password(user_email): try: log = reset_user_password.get_logger() except: log = logging.getLogger(__name__) from rhodecode.lib import auth from rhodecode.model.db import User try: try: sa = get_session() user = sa.query(User).filter(User.email == user_email).scalar() new_passwd = auth.PasswordGenerator().gen_password(8, auth.PasswordGenerator.ALPHABETS_BIG_SMALL) if user: user.password = auth.get_crypt_password(new_passwd) user.api_key = auth.generate_api_key(user.username) sa.add(user) sa.commit() log.info("change password for %s", user_email) if new_passwd is None: raise Exception("unable to generate new password") except: log.error(traceback.format_exc()) sa.rollback() run_task(send_email, user_email, "Your new RhodeCode password", "Your new RhodeCode password:%s" % (new_passwd)) log.info("send new password mail to %s", user_email) except: log.error("Failed to update user password") log.error(traceback.format_exc()) return True
def reset_password(self, data): from rhodecode.lib.celerylib import tasks, run_task from rhodecode.lib import auth user_email = data['email'] pre_db = True try: user = User.get_by_email(user_email) new_passwd = auth.PasswordGenerator().gen_password( 8, auth.PasswordGenerator.ALPHABETS_BIG_SMALL) if user: user.password = auth.get_crypt_password(new_passwd) user.api_key = auth.generate_api_key(user.username) Session().add(user) Session().commit() log.info('change password for %s' % user_email) if new_passwd is None: raise Exception('unable to generate new password') pre_db = False run_task(tasks.send_email, user_email, _('Your new password'), _('Your new RhodeCode password:%s') % (new_passwd, )) log.info('send new password mail to %s' % user_email) except Exception: log.error('Failed to update user password') log.error(traceback.format_exc()) if pre_db: # we rollback only if local db stuff fails. If it goes into # run_task, we're pass rollback state this wouldn't work then Session().rollback() return True
def create_default_user(self): log.info('creating default user') #create default user for handling default permissions. def_user = User() def_user.username = '******' def_user.password = get_crypt_password(str(uuid.uuid1())[:8]) def_user.api_key = generate_api_key('default') def_user.name = 'Anonymous' def_user.lastname = 'User' def_user.email = '*****@*****.**' def_user.admin = False def_user.active = False try: self.sa.add(def_user) self.sa.commit() except: self.sa.rollback() raise
def create_user(self, username, password, email='', admin=False): log.info('creating administrator user %s', username) new_user = User() new_user.username = username new_user.password = get_crypt_password(password) new_user.api_key = generate_api_key(username) new_user.name = 'RhodeCode' new_user.lastname = 'Admin' new_user.email = email new_user.admin = admin new_user.active = True try: self.sa.add(new_user) self.sa.commit() except: self.sa.rollback() raise
def reset_password(self, data): from rhodecode.lib.celerylib import tasks, run_task from rhodecode.lib import auth user_email = data["email"] pre_db = True try: user = User.get_by_email(user_email) new_passwd = auth.PasswordGenerator().gen_password(8, auth.PasswordGenerator.ALPHABETS_BIG_SMALL) if user: user.password = auth.get_crypt_password(new_passwd) user.api_key = auth.generate_api_key(user.username) Session().add(user) Session().commit() log.info("change password for %s" % user_email) if new_passwd is None: raise Exception("unable to generate new password") pre_db = False run_task( tasks.send_email, user_email, _("Your new password"), _("Your new RhodeCode password:%s") % (new_passwd,), ) log.info("send new password mail to %s" % user_email) except Exception: log.error("Failed to update user password") log.error(traceback.format_exc()) if pre_db: # we rollback only if local db stuff fails. If it goes into # run_task, we're pass rollback state this wouldn't work then Session().rollback() return True