Coverage for create_manager.py: 0%
35 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-06 16:58 +0800
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-06 16:58 +0800
1#!/usr/bin/env python
2"""Script to create a manager user for testing RBAC."""
3import os
4import sys
5import django
7# Add the project root to the path
8sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
9os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local')
11# Setup Django
12django.setup()
14from modules.authentication.models import User
15from modules.team.models import TeamMember
16from django.db import transaction
18def create_manager_user():
19 # Get organization from first existing member
20 first_member = TeamMember.objects.first()
21 if not first_member:
22 print("ERROR: No organization found. Please ensure there's at least one member in the system.")
23 return
25 org_id = first_member.tenant_id
26 print(f"Using organization: {org_id}")
28 # Create manager user
29 with transaction.atomic():
30 user, created = User.objects.get_or_create(
31 email='manager@fudo.local',
32 defaults={
33 'first_name': 'QA',
34 'last_name': 'Manager',
35 'is_active': True,
36 }
37 )
38 if created:
39 user.set_password('manager123')
40 user.save()
41 print(f"Created user: {user.email}")
42 else:
43 print(f"User already exists: {user.email}")
45 # Create or update team member with MANAGER role
46 member, created = TeamMember.objects.get_or_create(
47 tenant_id=org_id,
48 user=user,
49 defaults={'role': 'MANAGER', 'status': 'ACTIVE'}
50 )
51 if created:
52 print(f"Created team member with MANAGER role")
53 else:
54 member.role = 'MANAGER'
55 member.status = 'ACTIVE'
56 member.save()
57 print(f"Updated member to MANAGER role")
59 print("\nManager account created successfully!")
60 print("Email: manager@fudo.local")
61 print("Password: manager123")
63if __name__ == '__main__':
64 create_manager_user()