mirror of https://github.com/sipwise/repoapi.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
# Generated by Django 3.2.13 on 2022-06-14 16:12
|
|
from django.contrib.auth.management import create_permissions
|
|
from django.db import migrations
|
|
|
|
|
|
def add_permissions(apps, schema_editor):
|
|
"""ContentType table is populated after all the migrations applied"""
|
|
for app_config in apps.get_app_configs():
|
|
app_config.models_module = True
|
|
create_permissions(app_config, verbosity=0)
|
|
app_config.models_module = None
|
|
|
|
|
|
def forwards_func(apps, schema_editor):
|
|
add_permissions(apps, schema_editor)
|
|
Group = apps.get_model("auth", "Group")
|
|
Permission = apps.get_model("auth", "Permission")
|
|
ContentType = apps.get_model("contenttypes", "ContentType")
|
|
db_alias = schema_editor.connection.alias
|
|
|
|
devops_grp = Group.objects.using(db_alias).get(name="devops")
|
|
|
|
BuildInfo = apps.get_model("buildinfo", "BuildInfo")
|
|
ct = ContentType.objects.get_for_model(BuildInfo)
|
|
|
|
perm_codenames = []
|
|
for perm in ("add", "change", "delete", "view"):
|
|
perm_codenames.append(f"{perm}_buildinfo")
|
|
|
|
for codename in perm_codenames:
|
|
perm = Permission.objects.using(db_alias).get(
|
|
content_type=ct, codename=codename
|
|
)
|
|
devops_grp.permissions.add(perm)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("buildinfo", "0001_initial"),
|
|
("repoapi", "0011_ldap_groups"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(forwards_func),
|
|
]
|