Consolidate password verification
This commit is contained in:
+15
-12
@@ -17,6 +17,15 @@ from .models import (
|
||||
)
|
||||
|
||||
|
||||
def validate_password(password, confirm):
|
||||
"""Validate password and confirmation match with min length."""
|
||||
if password != confirm:
|
||||
return "Error: Passwords do not match."
|
||||
if len(password) < 8:
|
||||
return "Error: Password must be at least 8 characters."
|
||||
return None
|
||||
|
||||
|
||||
def cmd_user_list(args, app):
|
||||
"""List all users."""
|
||||
users = User.select().order_by(User.username)
|
||||
@@ -53,12 +62,9 @@ def cmd_user_add(args, app):
|
||||
password = getpass.getpass("Password: ")
|
||||
password_confirm = getpass.getpass("Confirm password: ")
|
||||
|
||||
if password != password_confirm:
|
||||
print("Error: Passwords do not match.")
|
||||
return 1
|
||||
|
||||
if len(password) < 8:
|
||||
print("Error: Password must be at least 8 characters.")
|
||||
error = validate_password(password, password_confirm)
|
||||
if error:
|
||||
print(error)
|
||||
return 1
|
||||
|
||||
# Hash password and create user
|
||||
@@ -102,12 +108,9 @@ def cmd_user_passwd(args, app):
|
||||
password = getpass.getpass("New password: ")
|
||||
password_confirm = getpass.getpass("Confirm password: ")
|
||||
|
||||
if password != password_confirm:
|
||||
print("Error: Passwords do not match.")
|
||||
return 1
|
||||
|
||||
if len(password) < 8:
|
||||
print("Error: Password must be at least 8 characters.")
|
||||
error = validate_password(password, password_confirm)
|
||||
if error:
|
||||
print(error)
|
||||
return 1
|
||||
|
||||
user.password_hash = app.password_hasher.hash(password)
|
||||
|
||||
Reference in New Issue
Block a user