From ec6fd51ca1fe9975a4cce819f925eb4c94de3c94 Mon Sep 17 00:00:00 2001 From: CocoByte Date: Tue, 2 Jul 2024 09:00:44 -0600 Subject: [PATCH] update migrations --- ...niorofficial_portfolio_senior_official.py} | 4 +- .../migrations/0110_create_groups_v15.py | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) rename src/registrar/migrations/{0108_seniorofficial_portfolio_senior_official.py => 0109_seniorofficial_portfolio_senior_official.py} (92%) create mode 100644 src/registrar/migrations/0110_create_groups_v15.py diff --git a/src/registrar/migrations/0108_seniorofficial_portfolio_senior_official.py b/src/registrar/migrations/0109_seniorofficial_portfolio_senior_official.py similarity index 92% rename from src/registrar/migrations/0108_seniorofficial_portfolio_senior_official.py rename to src/registrar/migrations/0109_seniorofficial_portfolio_senior_official.py index e00330159..9e4d0b7b1 100644 --- a/src/registrar/migrations/0108_seniorofficial_portfolio_senior_official.py +++ b/src/registrar/migrations/0109_seniorofficial_portfolio_senior_official.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.10 on 2024-06-28 18:38 +# Generated by Django 4.2.10 on 2024-07-02 14:59 from django.db import migrations, models import django.db.models.deletion @@ -8,7 +8,7 @@ import phonenumber_field.modelfields class Migration(migrations.Migration): dependencies = [ - ("registrar", "0107_domainrequest_action_needed_reason_email"), + ("registrar", "0108_domaininformation_authorizing_official_and_more"), ] operations = [ diff --git a/src/registrar/migrations/0110_create_groups_v15.py b/src/registrar/migrations/0110_create_groups_v15.py new file mode 100644 index 000000000..bf7c7f325 --- /dev/null +++ b/src/registrar/migrations/0110_create_groups_v15.py @@ -0,0 +1,37 @@ +# This migration creates the create_full_access_group and create_cisa_analyst_group groups +# It is dependent on 0079 (which populates federal agencies) +# If permissions on the groups need changing, edit CISA_ANALYST_GROUP_PERMISSIONS +# in the user_group model then: +# [NOT RECOMMENDED] +# step 1: docker-compose exec app ./manage.py migrate --fake registrar 0035_contenttypes_permissions +# step 2: docker-compose exec app ./manage.py migrate registrar 0036_create_groups +# step 3: fake run the latest migration in the migrations list +# [RECOMMENDED] +# Alternatively: +# step 1: duplicate the migration that loads data +# step 2: docker-compose exec app ./manage.py migrate + +from django.db import migrations +from registrar.models import UserGroup +from typing import Any + + +# For linting: RunPython expects a function reference, +# so let's give it one +def create_groups(apps, schema_editor) -> Any: + UserGroup.create_cisa_analyst_group(apps, schema_editor) + UserGroup.create_full_access_group(apps, schema_editor) + + +class Migration(migrations.Migration): + dependencies = [ + ("registrar", "0109_seniorofficial_portfolio_senior_official"), + ] + + operations = [ + migrations.RunPython( + create_groups, + reverse_code=migrations.RunPython.noop, + atomic=True, + ), + ]