diff options
Diffstat (limited to 'animism-align/cli/commands/admin/changepassword.py')
| -rw-r--r-- | animism-align/cli/commands/admin/changepassword.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/animism-align/cli/commands/admin/changepassword.py b/animism-align/cli/commands/admin/changepassword.py new file mode 100644 index 0000000..fd96aa0 --- /dev/null +++ b/animism-align/cli/commands/admin/changepassword.py @@ -0,0 +1,23 @@ +import click + +@click.command('changepassword') +@click.option('-u', '--username', 'opt_username', required=True, + help='Username to change') +@click.pass_context +def cli(ctx, opt_username): + from getpass import getpass + from app.utils.auth_utils import encrypt_password + from app.sql.common import db, Session, User + + session = Session() + user = session.query(User).filter(User.username == opt_username).first() + if not user: + session.close() + raise ValueError("User does not exists") + + password = encrypt_password(getpass()) + + user.password = password + session.add(user) + session.commit() + session.close() |
