mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-22 10:46:06 +02:00
Merge branch 'za/1924-remove-domain-info-for-analysts' into za/1948-remove-draft-domain-and-websites
This commit is contained in:
commit
88ae1f92b1
5 changed files with 48 additions and 10 deletions
|
@ -1436,6 +1436,13 @@ class DomainInformationInline(admin.StackedInline):
|
||||||
"submitter",
|
"submitter",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def has_change_permission(self, request, obj=None):
|
||||||
|
"""Custom has_change_permission override so that we can specify that
|
||||||
|
analysts can edit this through this inline, but not through the model normally"""
|
||||||
|
if request.user.has_perm("registrar.analyst_access_permission"):
|
||||||
|
return True
|
||||||
|
return super().has_change_permission(request, obj)
|
||||||
|
|
||||||
def formfield_for_manytomany(self, db_field, request, **kwargs):
|
def formfield_for_manytomany(self, db_field, request, **kwargs):
|
||||||
"""customize the behavior of formfields with manytomany relationships. the customized
|
"""customize the behavior of formfields with manytomany relationships. the customized
|
||||||
behavior includes sorting of objects in lists as well as customizing helper text"""
|
behavior includes sorting of objects in lists as well as customizing helper text"""
|
||||||
|
|
37
src/registrar/migrations/0081_create_groups_v10.py
Normal file
37
src/registrar/migrations/0081_create_groups_v10.py
Normal file
|
@ -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", "0080_create_groups_v09"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(
|
||||||
|
create_groups,
|
||||||
|
reverse_code=migrations.RunPython.noop,
|
||||||
|
atomic=True,
|
||||||
|
),
|
||||||
|
]
|
|
@ -26,11 +26,6 @@ class UserGroup(Group):
|
||||||
"model": "contact",
|
"model": "contact",
|
||||||
"permissions": ["change_contact"],
|
"permissions": ["change_contact"],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"app_label": "registrar",
|
|
||||||
"model": "domaininformation",
|
|
||||||
"permissions": ["change_domaininformation"],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"app_label": "registrar",
|
"app_label": "registrar",
|
||||||
"model": "domainrequest",
|
"model": "domainrequest",
|
||||||
|
|
|
@ -2026,8 +2026,8 @@ class TestDomainInformationAdmin(TestCase):
|
||||||
# Get the other contact
|
# Get the other contact
|
||||||
other_contact = domain_info.other_contacts.all().first()
|
other_contact = domain_info.other_contacts.all().first()
|
||||||
|
|
||||||
p = "userpass"
|
p = "adminpass"
|
||||||
self.client.login(username="staffuser", password=p)
|
self.client.login(username="superuser", password=p)
|
||||||
|
|
||||||
response = self.client.get(
|
response = self.client.get(
|
||||||
"/admin/registrar/domaininformation/{}/change/".format(domain_info.pk),
|
"/admin/registrar/domaininformation/{}/change/".format(domain_info.pk),
|
||||||
|
@ -2071,8 +2071,8 @@ class TestDomainInformationAdmin(TestCase):
|
||||||
domain_request.approve()
|
domain_request.approve()
|
||||||
domain_info = DomainInformation.objects.filter(domain=domain_request.approved_domain).get()
|
domain_info = DomainInformation.objects.filter(domain=domain_request.approved_domain).get()
|
||||||
|
|
||||||
p = "userpass"
|
p = "adminpass"
|
||||||
self.client.login(username="staffuser", password=p)
|
self.client.login(username="superuser", password=p)
|
||||||
response = self.client.get(
|
response = self.client.get(
|
||||||
"/admin/registrar/domaininformation/{}/change/".format(domain_info.pk),
|
"/admin/registrar/domaininformation/{}/change/".format(domain_info.pk),
|
||||||
follow=True,
|
follow=True,
|
||||||
|
|
|
@ -34,7 +34,6 @@ class TestGroups(TestCase):
|
||||||
"view_logentry",
|
"view_logentry",
|
||||||
"change_contact",
|
"change_contact",
|
||||||
"view_domain",
|
"view_domain",
|
||||||
"change_domaininformation",
|
|
||||||
"add_domaininvitation",
|
"add_domaininvitation",
|
||||||
"view_domaininvitation",
|
"view_domaininvitation",
|
||||||
"change_domainrequest",
|
"change_domainrequest",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue