mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-25 20:18:38 +02:00
3634: Update admin table descriptions [AB] (#3760)
* Update admin table descriptions * Add Host rename migration
This commit is contained in:
parent
e894d596a9
commit
bd8b2a5a25
16 changed files with 154 additions and 20 deletions
17
src/registrar/migrations/0147_alter_hostip_options.py
Normal file
17
src/registrar/migrations/0147_alter_hostip_options.py
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Generated by Django 4.2.20 on 2025-04-29 21:17
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("registrar", "0146_remove_domainrequest_eop_stakeholder_email_and_more"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name="hostip",
|
||||||
|
options={"verbose_name": "Host IP", "verbose_name_plural": "Host IPs"},
|
||||||
|
),
|
||||||
|
]
|
|
@ -14,6 +14,10 @@ class HostIP(TimeStampedModel):
|
||||||
available when registry is not available.
|
available when registry is not available.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Host IP"
|
||||||
|
verbose_name_plural = "Host IPs"
|
||||||
|
|
||||||
address = models.CharField(
|
address = models.CharField(
|
||||||
max_length=46,
|
max_length=46,
|
||||||
null=False,
|
null=False,
|
||||||
|
|
|
@ -36,6 +36,20 @@
|
||||||
{% include "django/admin/includes/descriptions/portfolio_invitation_description.html" %}
|
{% include "django/admin/includes/descriptions/portfolio_invitation_description.html" %}
|
||||||
{% elif opts.model_name == 'allowedemail' %}
|
{% elif opts.model_name == 'allowedemail' %}
|
||||||
{% include "django/admin/includes/descriptions/allowed_email_description.html" %}
|
{% include "django/admin/includes/descriptions/allowed_email_description.html" %}
|
||||||
|
{% elif opts.model_name == 'federalagency' %}
|
||||||
|
{% include "django/admin/includes/descriptions/federal_agency_description.html" %}
|
||||||
|
{% elif opts.model_name == 'hostip' %}
|
||||||
|
{% include "django/admin/includes/descriptions/host_ip_description.html" %}
|
||||||
|
{% elif opts.model_name == 'portfolio' %}
|
||||||
|
{% include "django/admin/includes/descriptions/portfolio_description.html" %}
|
||||||
|
{% elif opts.model_name == 'seniorofficial' %}
|
||||||
|
{% include "django/admin/includes/descriptions/senior_official_description.html" %}
|
||||||
|
{% elif opts.model_name == 'suborganization' %}
|
||||||
|
{% include "django/admin/includes/descriptions/suborganization_description.html" %}
|
||||||
|
{% elif opts.model_name == 'waffleflag' %}
|
||||||
|
{% include "django/admin/includes/descriptions/waffle_flag_description.html" %}
|
||||||
|
{% elif opts.model_name == 'domaingroup' %}
|
||||||
|
{% include "django/admin/includes/descriptions/domain_group_description.html" %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<p>This table does not have a description yet.</p>
|
<p>This table does not have a description yet.</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
<p>This table is an email allow list for <strong>non-production</strong> environments.</p>
|
|
||||||
<p>
|
<p>
|
||||||
If an email is sent out and the email does not exist within this table (or is not a subset of it),
|
This table contains all email addresses that have been added to the allowlist for
|
||||||
then no email will be sent.
|
<strong>non-production</strong> environments.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If an email is triggered and the intended recipient doesn’t appear within this table
|
||||||
|
(or isn’t a subset of an entry in this table), then the message won’t be sent to that email address.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If this table is populated in a production environment, it won’t have an effect on sending emails and
|
||||||
|
will simply be ignored.
|
||||||
</p>
|
</p>
|
||||||
<p>If this table is populated in a production environment, no change will occur as it will simply be ignored.</p>
|
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
<p>
|
<p>
|
||||||
Contacts include anyone who has access to the registrar (known as “users”) and anyone listed in a domain request,
|
This table contains anyone listed in a non-portfolio domain request, including other employees
|
||||||
including other employees and senior officials.
|
and senior officials. They aren't necessarily users with an account for the registrar unless
|
||||||
Only contacts who have access to the registrar will have
|
they are also in the <a class="text-underline" href="{% url 'admin:registrar_user_changelist' %}">Users</a> table.
|
||||||
a corresponding record within the <a class="text-underline" href="{% url 'admin:registrar_user_changelist' %}">Users</a> table.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Updating someone’s contact information here will not affect that person’s Login.gov information.
|
Updating someone’s contact information here will not affect that person’s User record or Login.gov information.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<p>This table isn’t being used in the registrar yet and can be ignored.</p>
|
|
@ -1,11 +1,36 @@
|
||||||
<p>
|
<p>
|
||||||
This table contains all domain requests that have been started within the registrar and the status of those requests.
|
This table contains all .gov domain requests. If a green checkmark appears next to the “requested domain”
|
||||||
Updating values here will immediately update the corresponding values that users see in the registrar.
|
in this table, then it came from a portfolio organization. Updating values in this table will immediately
|
||||||
|
update the corresponding values that users see in the registrar.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Once a domain request has been adjudicated, the details of that request should not be modified.
|
A domain request will have one of the following
|
||||||
To update attributes (like an organization’s name) after a domain’s approval,
|
<a class="text-underline" href="https://get.gov/help/domain-requests/#check-the-status-of-your-domain-request">statuses</a>:
|
||||||
go to <a class="text-underline" href="{% url 'admin:registrar_domain_changelist' %}">Domains</a>.
|
</p>
|
||||||
Similar fields display on each Domain page, but edits made there will not affect the corresponding domain request.
|
<ul>
|
||||||
|
<li>Started</li>
|
||||||
|
<li>Submitted *</li>
|
||||||
|
<li>In review</li>
|
||||||
|
<li>Action needed *</li>
|
||||||
|
<li>Rejected *</li>
|
||||||
|
<li>Withdrawn *</li>
|
||||||
|
<li>Ineligible</li>
|
||||||
|
<li>Approved *</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you change the status to one of those marked with an asterisk, then an email will be sent to the creator of that request.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Once a domain request has been adjudicated (i.e., set to Rejected, Withdrawn, Ineligible, or Approved), the details of that
|
||||||
|
request should not be modified. To update attributes (like an organization’s name) after a domain’s approval, go to
|
||||||
|
<a class="text-underline" href="{% url 'admin:registrar_domain_changelist' %}">Domains</a>. Similar fields display on each
|
||||||
|
domain page, but edits made there will not affect the corresponding request.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If a domain is accidentally approved, an entry will be added to the
|
||||||
|
<a class="text-underline" href="{% url 'admin:registrar_domain_changelist' %}">Domains</a> table and an approval email will
|
||||||
|
be sent. However, if the status is changed back before name servers are added, the request can be processed normally.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
<p>This table is used to populate “federal agency” drop-down menus in the registrar and in the following Django tables:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a class="text-underline" href="{% url 'admin:registrar_domainrequest_changelist' %}">Domain requests</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-underline" href="{% url 'admin:registrar_domain_changelist' %}">Domains</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-underline" href="{% url 'admin:registrar_portfolio_changelist' %}">Portfolios</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-underline" href="{% url 'admin:registrar_seniorofficial_changelist' %}">Senior officials</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If a federal agency name is incorrect or needs to be changed, you should edit the existing record rather than create a
|
||||||
|
new one. That way relationships with that record do not break within other Django tables.
|
||||||
|
</p>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<p>
|
||||||
|
This table contains all IP addresses associated with name servers for .gov domains.
|
||||||
|
A single name server can have multiple IP addresses in any combination of ip v4 or v6.
|
||||||
|
This table is primarily used for troubleshooting.
|
||||||
|
</p>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<p>
|
||||||
|
This table contains all portfolios in the registrar.
|
||||||
|
Portfolios are used to group an organization with all its domains, requests, suborganizations, and members.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
For portfolio organizations, the mailing address is stored in this table, and the senior official is listed in the
|
||||||
|
<a class="text-underline" href="{% url 'admin:registrar_seniorofficial_changelist' %}">Senior officials</a> table.
|
||||||
|
For non-portfolio organizations, that information is managed at the domain or request level.
|
||||||
|
</p>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<p>This table includes all senior officials that can be associated with a portfolio organization.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To maintain data integrity, each organization should have only one senior official.
|
||||||
|
When adding a new senior official, selecting a federal agency will automatically link the official to that agency’s portfolio.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The senior official for non-portfolio organizations is managed at the domain or request level.
|
||||||
|
Those contacts do not appear in this table.
|
||||||
|
</p>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<p>
|
||||||
|
This table contains all suborganizations created for portfolio organizations.
|
||||||
|
A suborganization is any entity (agency, bureau, office) that falls under the overarching organization.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Domains or requests within a portfolio can be linked to a suborganization.
|
||||||
|
If linked, the suborganization’s name will be publicly shown as the domain registrant.
|
||||||
|
</p>
|
|
@ -8,4 +8,4 @@
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you add or remove someone to a portfolio by using this table, those actions won’t trigger notification emails.
|
If you add or remove someone to a portfolio by using this table, those actions won’t trigger notification emails.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
<p>Waffle flags control whether certain features are turned on or off in the registrar.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can adjust settings for specific user groups (superusers, staff), but the setting for "Everyone"
|
||||||
|
takes priority and overrides individual group settings.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>If “Everyone” is set to:</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>Unknown</strong> > the system will use the specific settings for each user group</li>
|
||||||
|
<li><strong>No</strong> > the feature will be turned off for all user groups</li>
|
||||||
|
<li><strong>Yes</strong> > the feature will be turned on for all user groups</li>
|
||||||
|
</ul>
|
|
@ -3536,7 +3536,7 @@ class TestContactAdmin(TestCase):
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
# Test for a description snippet
|
# Test for a description snippet
|
||||||
self.assertContains(response, "Contacts include anyone who has access to the registrar (known as “users”)")
|
self.assertContains(response, "This table contains anyone listed in a non-portfolio domain request")
|
||||||
self.assertContains(response, "Show more")
|
self.assertContains(response, "Show more")
|
||||||
|
|
||||||
def test_readonly_when_restricted_staffuser(self):
|
def test_readonly_when_restricted_staffuser(self):
|
||||||
|
@ -3867,7 +3867,7 @@ class TestFederalAgencyAdmin(TestCase):
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
# Test for a description snippet
|
# Test for a description snippet
|
||||||
self.assertContains(response, "This table does not have a description yet.")
|
self.assertContains(response, "If a federal agency name is incorrect")
|
||||||
self.assertContains(response, "Show more")
|
self.assertContains(response, "Show more")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -294,7 +294,7 @@ class TestDomainRequestAdmin(MockEppLib):
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
# Test for a description snippet
|
# Test for a description snippet
|
||||||
self.assertContains(response, "This table contains all domain requests")
|
self.assertContains(response, "This table contains all .gov domain requests")
|
||||||
self.assertContains(response, "Show more")
|
self.assertContains(response, "Show more")
|
||||||
|
|
||||||
@less_console_noise_decorator
|
@less_console_noise_decorator
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue