import os def setup(): from authentication.models import ExtendedUser, EventPermission from inventory.models import Event from django.contrib.auth.models import Permission, Group permissions = ['add_item', 'view_item', 'view_file', 'delete_item', 'change_item'] if not ExtendedUser.objects.filter(username='admin').exists(): admin = ExtendedUser.objects.create_superuser('admin', 'admin@example.com', 'admin') admin.set_password('admin') admin.user_permissions.add(*Permission.objects.all()) admin.save() if not ExtendedUser.objects.filter(username='testuser').exists(): testuser = ExtendedUser.objects.create_user('testuser', 'testuser@example.com', 'testuser') testuser.set_password('testuser') testuser.user_permissions.add(*Permission.objects.all()) testuser.save() team = Group.objects.get(name='Team') team.permissions.add( *Permission.objects.all() ) if not ExtendedUser.objects.filter(username='testuser2').exists(): testuser2 = ExtendedUser.objects.create_user('testuser2', 'testuser2@example.com', 'testuser2') testuser2.set_password('testuser2') testuser2.groups.add(team) testuser2.save() event1 = Event.objects.get_or_create(id=1, name='first test event', slug='TEST1', start='2023-12-18 00:00:00.000000', end='2023-12-27 00:00:00.000000', pre_start='2023-12-31 00:00:00.000000', post_end='2024-01-04 00:00:00.000000')[ 0] event2 = Event.objects.get_or_create(id=2, name='second test event', slug='TEST2', start='2024-12-18 00:00:00.000000', end='2024-12-27 00:00:00.000000', pre_start='2024-12-31 00:00:00.000000', post_end='2025-01-04 00:00:00.000000')[ 0] # for permission in permissions: # EventPermission.objects.create(event=event_37c3, user=foo, # permission=Permission.objects.get(codename=permission)) from tickets.models import IssueThread from mail.models import Email issue_thread = IssueThread.objects.get_or_create( id=1, name="test", event=Event.objects.get(slug='TEST1') )[0] mail1 = Email.objects.get_or_create( id=1, subject='test subject', body='test', sender='test1@test', recipient='test2@test', issue_thread=issue_thread, )[0] mail1_reply = Email.objects.get_or_create( id=2, subject='Message received', body='Thank you for your message.', sender='test2@test', recipient='test1@test', in_reply_to=mail1.reference, issue_thread=issue_thread, )[0] def main(): os.environ.setdefault("DJANGO_SETTINGS_MODULE", "core.settings") import django django.setup() from django.core.management import call_command call_command('migrate') setup() print('testdata initialised') if __name__ == '__main__': main()