summaryrefslogtreecommitdiff
path: root/animism-align/cli/commands/admin/changepassword.py
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/cli/commands/admin/changepassword.py')
-rw-r--r--animism-align/cli/commands/admin/changepassword.py23
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()