Source code for tcms.core.migrations.0001_squashed

# Generated by Django 2.0.7 on 2018-07-25 14:28

from django.db import migrations


[docs]def forwards_add_initial_data(apps, schema_editor): group_model = apps.get_model("auth", "Group") group_model.objects.bulk_create( [ group_model(name="Administrator"), group_model(name="Tester"), ] ) site_model = apps.get_model("sites", "Site") site_model.objects.create(name="localhost", domain="127.0.0.1:8000")
[docs]def reverse_remove_initial_data(apps, schema_editor): group_model = apps.get_model("auth", "Group") group_model.objects.filter(name__in=["Administrator", "Tester"]).delete() site_model = apps.get_model("sites", "Site") site_model.objects.filter(name="localhost").delete()
[docs]def forwards_add_default_perms(apps, schema_editor): group_model = apps.get_model("auth", "Group") permission_model = apps.get_model("auth", "Permission") admin = group_model.objects.get(name="Administrator") all_perms = permission_model.objects.all() admin.permissions.add(*all_perms) tester = group_model.objects.get(name="Tester") # apply all permissions for test case & product management for app_name in [ "bugs", "django_comments", "management", "linkreference", "testcases", "testplans", "testruns", ]: app_perms = permission_model.objects.filter( content_type__app_label__contains=app_name ) tester.permissions.add(*app_perms)
[docs]def reverse_remove_default_perms(apps, schema_editor): group_model = apps.get_model("auth", "Group") admin = group_model.objects.get(name="Administrator") admin.permissions.clear() tester = group_model.objects.get(name="Tester") tester.permissions.clear()
[docs]class Migration(migrations.Migration): initial = True dependencies = [ ("sites", "0001_initial"), ] operations = [ migrations.RunPython( code=forwards_add_initial_data, reverse_code=reverse_remove_initial_data, ), migrations.RunPython( code=forwards_add_default_perms, reverse_code=reverse_remove_default_perms, ), ]