コード例 #1
0
ファイル: user.py プロジェクト: jeffjirsa/rhodecode
    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
コード例 #2
0
ファイル: tasks.py プロジェクト: elfixit/rhodecode
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
コード例 #3
0
ファイル: user.py プロジェクト: greenboxindonesia/rhodecode
    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
コード例 #4
0
ファイル: tasks.py プロジェクト: pombredanne/rhodecode
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
コード例 #5
0
    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
コード例 #6
0
ファイル: db_manage.py プロジェクト: pombredanne/rhodecode
 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
コード例 #7
0
ファイル: db_manage.py プロジェクト: pombredanne/rhodecode
    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
コード例 #8
0
ファイル: user.py プロジェクト: nzinfo/rhodecode
    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