File size: 1,231 Bytes
5710e63 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | from app import app, db
from models import User
from werkzeug.security import generate_password_hash
import sys
def create_admin(password):
with app.app_context():
# Check if admin exists
admin = User.query.filter_by(role='admin').first()
if admin:
print(f"Admin user already exists: {admin.matric_no}")
admin.set_password(password)
admin.is_active = True
admin.status = 'approved'
db.session.commit()
print("Admin password updated.")
return
# Create new admin
admin = User(
matric_no='ADMIN',
name='System Admin',
email='admin@attendr.com',
role='admin',
is_active=True,
status='approved'
)
admin.set_password(password)
db.session.add(admin)
db.session.commit()
print(f"Admin user created successfully!")
print(f"Matric No: ADMIN")
print(f"Password: {password}")
if __name__ == '__main__':
password = 'admin' # Default password
if len(sys.argv) > 1:
password = sys.argv[1]
create_admin(password)
|