def admin_pw_reset_clear(self, username): ok, err = userdb.clear_password_token(username) if ok: self.logger.info( "Admin user '%s' cleared the reset token on account '%s'", self.username, username) else: self.logger.info("Error trying to clear reset token for '%s': %s", username, err)
def reset_token_commands(args): if args.clear_reset_password: username = args.clear_reset_password else: username = args.reset_password # duplicate some minimal setup needed for this to work config.logging_config.pop('filename', None) args.logfile = "<stdout>" # make the log message easier to read init_logging(config.logging_config) if not check_config(): err_exit("Errors in config. Exiting.") if config.dgl_mode: userdb.ensure_user_db_exists() userdb.upgrade_user_db() userdb.ensure_settings_db_exists() user_info = userdb.get_user_info(username) if not user_info: err_exit("Reset/clear password failed; invalid user: %s" % username) # don't crash on the default config if config.lobby_url is None: config.lobby_url = "[insert lobby url here]" if args.clear_reset_password: ok, msg = userdb.clear_password_token(username) if not ok: err_exit("Error clearing password reset token for %s: %s" % (username, msg)) else: print("Password reset token cleared for account '%s'." % username) else: ok, msg = userdb.generate_forgot_password(username) if not ok: err_exit("Error generating password reset token for %s: %s" % (username, msg)) else: if not user_info[1]: logging.warning("No email set for account '%s', use caution!" % username) print("Setting a password reset token on account '%s'." % username) print("Email: %s\nMessage body to send to user:\n%s\n" % (user_info[1], msg))