diff --git a/src/registrar/admin.py b/src/registrar/admin.py index b2d9e9e97..c2be81066 100644 --- a/src/registrar/admin.py +++ b/src/registrar/admin.py @@ -4361,7 +4361,7 @@ class DomainAdmin(ListHeaderAdmin, ImportExportRegistrarModelAdmin): if ( request.user.has_perm("registrar.full_access_permission") or request.user.has_perm("registrar.analyst_access_permission") - or request.user.has_perm("registrar.omb_analyst_access_permission") + or request.user.groups.filter(name="omb_analysts_group").exists() ): return True return super().has_change_permission(request, obj) diff --git a/src/registrar/assets/src/js/getgov-admin/domain-request-form.js b/src/registrar/assets/src/js/getgov-admin/domain-request-form.js index e7bf8f00e..16acaf91c 100644 --- a/src/registrar/assets/src/js/getgov-admin/domain-request-form.js +++ b/src/registrar/assets/src/js/getgov-admin/domain-request-form.js @@ -465,23 +465,25 @@ class CustomizableEmailBase { } initializeModalConfirm() { + // When the modal confirm button is present, add a listener if (this.modalConfirm) { this.modalConfirm.addEventListener("click", () => { this.textarea.removeAttribute('readonly'); this.textarea.focus(); - hideElement(this.directEditButton); - hideElement(this.modalTrigger); + hideElement(this.directEditButton); + hideElement(this.modalTrigger); }); } } initializeDirectEditButton() { + // When the direct edit button is present, add a listener if (this.directEditButton) { this.directEditButton.addEventListener("click", () => { this.textarea.removeAttribute('readonly'); this.textarea.focus(); - hideElement(this.directEditButton); - hideElement(this.modalTrigger); + hideElement(this.directEditButton); + hideElement(this.modalTrigger); }); } } diff --git a/src/registrar/decorators.py b/src/registrar/decorators.py index fcff02b32..d607935a2 100644 --- a/src/registrar/decorators.py +++ b/src/registrar/decorators.py @@ -112,7 +112,7 @@ def _user_has_permission(user, request, rules, **kwargs): permission_checks = [ (IS_STAFF, lambda: user.is_staff), (IS_CISA_ANALYST, lambda: user.has_perm("registrar.analyst_access_permission")), - (IS_OMB_ANALYST, lambda: user.has_perm("registrar.omb_analyst_access_permission")), + (IS_OMB_ANALYST, lambda: user.groups.filter(name="omb_analysts_group").exists()), (IS_FULL_ACCESS, lambda: user.has_perm("registrar.full_access_permission")), ( IS_DOMAIN_MANAGER, diff --git a/src/registrar/migrations/0144_alter_user_options.py b/src/registrar/migrations/0144_alter_user_options.py deleted file mode 100644 index 88b06afe8..000000000 --- a/src/registrar/migrations/0144_alter_user_options.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.2.17 on 2025-03-06 20:00 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("registrar", "0143_create_groups_v18"), - ] - - operations = [ - migrations.AlterModelOptions( - name="user", - options={ - "permissions": [ - ("analyst_access_permission", "Analyst Access Permission"), - ("omb_analyst_access_permission", "OMB Analyst Access Permission"), - ("full_access_permission", "Full Access Permission"), - ] - }, - ), - ] diff --git a/src/registrar/models/user.py b/src/registrar/models/user.py index 7ee4fefdf..d5476ab9a 100644 --- a/src/registrar/models/user.py +++ b/src/registrar/models/user.py @@ -40,7 +40,6 @@ class User(AbstractUser): permissions = [ ("analyst_access_permission", "Analyst Access Permission"), - ("omb_analyst_access_permission", "OMB Analyst Access Permission"), ("full_access_permission", "Full Access Permission"), ] diff --git a/src/registrar/models/user_group.py b/src/registrar/models/user_group.py index c70879943..331e36605 100644 --- a/src/registrar/models/user_group.py +++ b/src/registrar/models/user_group.py @@ -158,11 +158,6 @@ class UserGroup(Group): "model": "domain", "permissions": ["view_domain"], }, - { - "app_label": "registrar", - "model": "user", - "permissions": ["omb_analyst_access_permission"], - }, { "app_label": "registrar", "model": "domaininvitation",