diff --git a/django_v2/scripts/run_project.sh b/django_v2/scripts/run_project.sh index a5f162f3ca7d4d23c50bacaa7663d238c443955e..67e6169ea1b2bc36d153477f1fa898b7f647e595 100755 --- a/django_v2/scripts/run_project.sh +++ b/django_v2/scripts/run_project.sh @@ -51,6 +51,9 @@ function main () { # Run project migrations. python manage.py migrate + # Generate project seeds. + python manage.py seed + echo "" echo -e "${text_blue}Setup complete. Running project serve at ${text_orange}http://127.0.0.1:8022/${text_reset}" echo "" diff --git a/django_v2/test_app/management/__init__.py b/django_v2/test_app/management/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/django_v2/test_app/management/commands/__init__.py b/django_v2/test_app/management/commands/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/django_v2/test_app/management/commands/seed.py b/django_v2/test_app/management/commands/seed.py new file mode 100644 index 0000000000000000000000000000000000000000..96c8630717d9a0338091512799cf9d1a35825700 --- /dev/null +++ b/django_v2/test_app/management/commands/seed.py @@ -0,0 +1,98 @@ +""" +Command to generate default project models. +""" + +# Third-Party Imports. +from django.contrib.auth import get_user_model +from django.contrib.auth.models import Group, Permission +from django.contrib.contenttypes.models import ContentType +from django.core.management.base import BaseCommand +from django.db.utils import IntegrityError + + +class Command(BaseCommand): + help = 'Creates default project models.' + + def handle(self, *args, **kwargs): + """ + The logic of the command. + """ + self.generate_default_users() + self.generate_permissions() + + def generate_default_users(self): + """Generates default users to login with.""" + default_password = 'temppass2' + + try: + super_user = get_user_model().objects.create( + username='test_superuser', + first_name='SuperUserFirst', + last_name='SuperUserLast', + is_superuser=True, + is_staff=True, + is_active=True, + ) + super_user.set_password(default_password) + super_user.save() + except IntegrityError: + pass + + try: + admin_user = get_user_model().objects.create( + username='test_admin', + first_name='AdminUserFirst', + last_name='AdminUserLast', + is_superuser=False, + is_staff=True, + is_active=True, + ) + admin_user.set_password(default_password) + admin_user.save() + except IntegrityError: + pass + + try: + inactive_user = get_user_model().objects.create( + username='test_inactive', + first_name='InactiveUserFirst', + last_name='InactiveUserLast', + is_superuser=False, + is_staff=False, + is_active=False, + ) + inactive_user.set_password(default_password) + inactive_user.save() + except IntegrityError: + pass + + try: + standard_user = get_user_model().objects.create( + username='test_user', + first_name='UserFirst', + last_name='UserLast', + is_superuser=False, + is_staff=False, + is_active=True, + ) + standard_user.set_password(default_password) + standard_user.save() + except IntegrityError: + pass + + def generate_permissions(self): + """Generates default general permission/groups.""" + try: + content_type = ContentType.objects.get_for_model(get_user_model()) + test_permission = Permission.objects.create( + content_type=content_type, + codename='test_permission', + name='Test Permission', + ) + except IntegrityError: + pass + + try: + test_group = Group.objects.create(name='test_group') + except IntegrityError: + pass diff --git a/django_v3/scripts/run_project.sh b/django_v3/scripts/run_project.sh index 5472263e01cee6f5fee3a59e54d8835b02d78ca1..84e3741b09c615881a6ba22047f0aef6d27efe36 100755 --- a/django_v3/scripts/run_project.sh +++ b/django_v3/scripts/run_project.sh @@ -51,6 +51,9 @@ function main () { # Run project migrations. python manage.py migrate + # Generate project seeds. + python manage.py seed + echo "" echo -e "${text_blue}Setup complete. Running project serve at ${text_orange}http://127.0.0.1:8032/${text_reset}" echo "" diff --git a/django_v3/test_app/management/__init__.py b/django_v3/test_app/management/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/django_v3/test_app/management/commands/__init__.py b/django_v3/test_app/management/commands/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/django_v3/test_app/management/commands/seed.py b/django_v3/test_app/management/commands/seed.py new file mode 100644 index 0000000000000000000000000000000000000000..96c8630717d9a0338091512799cf9d1a35825700 --- /dev/null +++ b/django_v3/test_app/management/commands/seed.py @@ -0,0 +1,98 @@ +""" +Command to generate default project models. +""" + +# Third-Party Imports. +from django.contrib.auth import get_user_model +from django.contrib.auth.models import Group, Permission +from django.contrib.contenttypes.models import ContentType +from django.core.management.base import BaseCommand +from django.db.utils import IntegrityError + + +class Command(BaseCommand): + help = 'Creates default project models.' + + def handle(self, *args, **kwargs): + """ + The logic of the command. + """ + self.generate_default_users() + self.generate_permissions() + + def generate_default_users(self): + """Generates default users to login with.""" + default_password = 'temppass2' + + try: + super_user = get_user_model().objects.create( + username='test_superuser', + first_name='SuperUserFirst', + last_name='SuperUserLast', + is_superuser=True, + is_staff=True, + is_active=True, + ) + super_user.set_password(default_password) + super_user.save() + except IntegrityError: + pass + + try: + admin_user = get_user_model().objects.create( + username='test_admin', + first_name='AdminUserFirst', + last_name='AdminUserLast', + is_superuser=False, + is_staff=True, + is_active=True, + ) + admin_user.set_password(default_password) + admin_user.save() + except IntegrityError: + pass + + try: + inactive_user = get_user_model().objects.create( + username='test_inactive', + first_name='InactiveUserFirst', + last_name='InactiveUserLast', + is_superuser=False, + is_staff=False, + is_active=False, + ) + inactive_user.set_password(default_password) + inactive_user.save() + except IntegrityError: + pass + + try: + standard_user = get_user_model().objects.create( + username='test_user', + first_name='UserFirst', + last_name='UserLast', + is_superuser=False, + is_staff=False, + is_active=True, + ) + standard_user.set_password(default_password) + standard_user.save() + except IntegrityError: + pass + + def generate_permissions(self): + """Generates default general permission/groups.""" + try: + content_type = ContentType.objects.get_for_model(get_user_model()) + test_permission = Permission.objects.create( + content_type=content_type, + codename='test_permission', + name='Test Permission', + ) + except IntegrityError: + pass + + try: + test_group = Group.objects.create(name='test_group') + except IntegrityError: + pass diff --git a/django_v4/scripts/run_project.sh b/django_v4/scripts/run_project.sh index 16b7a877e0bcc92e2d761b6b7e25d646c8f5075e..66beb5620fd0731ff4ab63b66913c90bcc5f61bd 100755 --- a/django_v4/scripts/run_project.sh +++ b/django_v4/scripts/run_project.sh @@ -51,6 +51,9 @@ function main () { # Run project migrations. python manage.py migrate + # Generate project seeds. + python manage.py seed + echo "" echo -e "${text_blue}Setup complete. Running project serve at ${text_orange}http://127.0.0.1:8041/${text_reset}" echo "" diff --git a/django_v4/test_app/management/__init__.py b/django_v4/test_app/management/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/django_v4/test_app/management/commands/__init__.py b/django_v4/test_app/management/commands/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/django_v4/test_app/management/commands/seed.py b/django_v4/test_app/management/commands/seed.py new file mode 100644 index 0000000000000000000000000000000000000000..96c8630717d9a0338091512799cf9d1a35825700 --- /dev/null +++ b/django_v4/test_app/management/commands/seed.py @@ -0,0 +1,98 @@ +""" +Command to generate default project models. +""" + +# Third-Party Imports. +from django.contrib.auth import get_user_model +from django.contrib.auth.models import Group, Permission +from django.contrib.contenttypes.models import ContentType +from django.core.management.base import BaseCommand +from django.db.utils import IntegrityError + + +class Command(BaseCommand): + help = 'Creates default project models.' + + def handle(self, *args, **kwargs): + """ + The logic of the command. + """ + self.generate_default_users() + self.generate_permissions() + + def generate_default_users(self): + """Generates default users to login with.""" + default_password = 'temppass2' + + try: + super_user = get_user_model().objects.create( + username='test_superuser', + first_name='SuperUserFirst', + last_name='SuperUserLast', + is_superuser=True, + is_staff=True, + is_active=True, + ) + super_user.set_password(default_password) + super_user.save() + except IntegrityError: + pass + + try: + admin_user = get_user_model().objects.create( + username='test_admin', + first_name='AdminUserFirst', + last_name='AdminUserLast', + is_superuser=False, + is_staff=True, + is_active=True, + ) + admin_user.set_password(default_password) + admin_user.save() + except IntegrityError: + pass + + try: + inactive_user = get_user_model().objects.create( + username='test_inactive', + first_name='InactiveUserFirst', + last_name='InactiveUserLast', + is_superuser=False, + is_staff=False, + is_active=False, + ) + inactive_user.set_password(default_password) + inactive_user.save() + except IntegrityError: + pass + + try: + standard_user = get_user_model().objects.create( + username='test_user', + first_name='UserFirst', + last_name='UserLast', + is_superuser=False, + is_staff=False, + is_active=True, + ) + standard_user.set_password(default_password) + standard_user.save() + except IntegrityError: + pass + + def generate_permissions(self): + """Generates default general permission/groups.""" + try: + content_type = ContentType.objects.get_for_model(get_user_model()) + test_permission = Permission.objects.create( + content_type=content_type, + codename='test_permission', + name='Test Permission', + ) + except IntegrityError: + pass + + try: + test_group = Group.objects.create(name='test_group') + except IntegrityError: + pass