diff --git a/src/registrar/forms/application_wizard.py b/src/registrar/forms/application_wizard.py index 119125bc2..b8cc92a5d 100644 --- a/src/registrar/forms/application_wizard.py +++ b/src/registrar/forms/application_wizard.py @@ -6,6 +6,8 @@ from phonenumber_field.formfields import PhoneNumberField # type: ignore from django import forms from django.core.validators import RegexValidator +from django.urls import reverse +from django.utils.safestring import mark_safe from api.views import DOMAIN_API_MESSAGES @@ -179,11 +181,19 @@ class TribalGovernmentForm(RegistrarForm): self.cleaned_data["federally_recognized_tribe"] or self.cleaned_data["state_recognized_tribe"] ): + todo_url = reverse("todo") raise forms.ValidationError( - "Only tribes recognized by the U.S. federal government or by a U.S." - " state government are eligible for .gov domains. Please email" - " registrar@dotgov.gov to tell us more about your tribe and why you" - " want a .gov domain.", + # no sec because we are using it to include an internal URL + # into a link. There should be no user-facing input in the + # HTML indicated here. + mark_safe( # nosec + "Only tribes recognized by the U.S. federal government " + "or by a U.S. state government are eligible for .gov " + 'domains. Please tell us more ' + "about your tribe and why you want a .gov domain.".format( + todo_url + ) + ), code="invalid", ) @@ -682,14 +692,11 @@ class AnythingElseForm(RegistrarForm): class RequirementsForm(RegistrarForm): is_policy_acknowledged = forms.BooleanField( - label=( - "I read and agree to the requirements for registering " - "and operating .gov domains." - ), + label=("I read and agree to the requirements for operating .gov domains."), error_messages={ "required": ( "Check the box if you read and agree to the requirements for" - " registering and operating .gov domains." + " operating .gov domains." ) }, ) diff --git a/src/registrar/templates/application_org_election.html b/src/registrar/templates/application_org_election.html index fa6e1611b..96bda439b 100644 --- a/src/registrar/templates/application_org_election.html +++ b/src/registrar/templates/application_org_election.html @@ -5,6 +5,7 @@

Is your organization an election office?

+

Answer “yes” if the primary purpose of your organization is to manage elections.

{% endblock %} @@ -12,4 +13,4 @@ {% with add_class="usa-radio__input--tile" %} {% input_with_errors forms.0.is_election_board %} {% endwith %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/registrar/templates/application_purpose.html b/src/registrar/templates/application_purpose.html index e02e3c5c7..722a01285 100644 --- a/src/registrar/templates/application_purpose.html +++ b/src/registrar/templates/application_purpose.html @@ -2,14 +2,13 @@ {% load field_helpers %} {% block form_instructions %} -

.Gov domain names are intended for use on the internet. They should be registered - with an intent to deploy services, not simply to reserve a name. .Gov domains should - not be registered for primarily internal use.

+

.Gov domain names are for use on the internet. Don’t register a .gov to simply reserve a +domain name or for mainly internal use.

-

Describe the reason for your domain request. Explain how you plan to use this - domain. Will you use it for a website and/or email? Are you moving your website from - another top-level domain (like .com or .org)? Read about activities that - are prohibited on .gov domains.

+

Describe the reason for your domain request. Explain how you plan to use this domain. +Who is your intended audience? Will you use it for a website and/or email? Are you moving +your website from another top-level domain (like .com or .org)? +Read about activities that are prohibited on .gov domains.

{% endblock %} @@ -17,4 +16,4 @@ {% with attr_maxlength=500 %} {% input_with_errors forms.0.purpose %} {% endwith %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/registrar/templates/application_requirements.html b/src/registrar/templates/application_requirements.html index fbab0246e..ef0a4c7ef 100644 --- a/src/registrar/templates/application_requirements.html +++ b/src/registrar/templates/application_requirements.html @@ -2,55 +2,44 @@ {% load field_helpers %} {% block form_instructions %} -

The .gov domain exists to support a broad diversity of government missions and - public initiatives. Generally, the .gov registry does not review or audit how - government organizations use their domains. However, misuse of an individual .gov - domain can reflect upon the integrity of the entire .gov space. There are categories - of misuse that are statutorily prohibited or abusive in nature.

+

Please read this page. Check the box at the bottom to show that you agree to the requirements for operating .gov domains.

+

The .gov domain space exists to support a broad diversity of government missions. Generally, we don’t examine how government organizations use their domains. However, misuse of a .gov domain can reflect upon the integrity of the entire .gov space. There are categories of misuse that are statutorily prohibited or abusive in nature.

-

Prohibited activities for .gov domains

-

Commercial purposes

+

What you can’t do with .gov domains

-

A .gov domain must not be used for commercial purposes, such as advertising - benefitting private individuals or entities.

+

Commercial purposes

+ +

.Gov domains must not be used for commercial purposes, such as advertising that benefits private individuals or entities.

Political campaigns

-

A .gov domain must not be used for political campaigns.

+

.Gov domains must not be used for political campaigns.

Illegal content

-

A .gov domain must not be used to distribute or promote material whose distribution - violates applicable law.

+

.Gov domains must not be used to distribute or promote material whose distribution violates applicable law.

Malicious cyber activity

.Gov is a trusted and safe space. .Gov domains must not distribute malware, host open redirects, or otherwise engage in malicious cyber activity.

-

Required activities for .gov domain registrants

+

What .gov domain registrants must do

Keep your contact information updated

-

As a .gov domain registrant, maintain current and accurate contact information in the - .gov registrar. We strongly recommend that you create and use a security contact.

+

.Gov domain registrants must maintain accurate contact information in the .gov registrar.

Be responsive if we contact you

-

Registrants should respond in a timely manner to communications about required and - prohibited activities.

+

Registrants should respond promptly to communications about potential violations to these requirements.

-

Domains can be suspended or terminated for violations

+

Failure to comply with these requirements could result in domain suspension or termination

-

The .gov program may need to suspend or terminate a domain registration for - violations. Registrants should respond in a timely manner to communications about - prohibited activities.

- -

When we discover a violation, we will make reasonable efforts to contact a - registrant, including: +

We may need to suspend or terminate a domain registration for violations. When we discover a violation, we’ll make reasonable efforts to contact a registrant, including:

-

We understand the critical importance of the availability of .gov domains. - Suspending or terminating a .gov domain is reserved only for prolonged, unresolved - serious violations where the registrant is non-responsive. We will make extensive - efforts to contact registrants and to identify potential solutions, and will make - reasonable accommodations for remediation timelines proportional to the severity of - the issue.

- -

Requirements for authorizing officials

- -

Your authorizing official is the person within your organization who can authorize - your domain request. This is generally the highest ranking or highest elected official - in your organization.

- -

Executive branch federal agencies

- -

Domain requests from executive branch agencies must be authorized by CIOs or agency - heads.

- -

Domain requests from executive branch agencies are subject to guidance issued by - the U.S. Office of Management and Budget.

- -

Judicial branch federal agencies

- -

Domain requests for judicial branch agencies, except the U.S. Supreme Court, must - be authorized by the director or CIO of the Administrative Office (AO) of the United - States Courts.

- -

Domain requests from the U.S. Supreme Court must be authorized by the director of - information technology for the U.S. Supreme Court.

- -

Legislative branch federal agencies

- -

U.S. Senate

- -

Domain requests from the U.S. Senate must come from the Senate Sergeant at Arms.

- -

U.S. House of Representatives

- -

Domain requests from the U.S. House of Representatives must come from the House - Chief Administrative Officer.

- -

Other legislative branch agencies

- -

Domain requests from legislative branch agencies must come from the agency’s head - or CIO.

- -

Domain requests from legislative commissions must come from the head of the - commission, or the head or CIO of the parent agency, if there is one.

- -

Interstate

- -

Domain requests from interstate organizations must be authorized by the - highest-ranking executive (president, director, chair, or equivalent) or one of the - state’s governors or CIOs.

- -

U.S. states and territories

- -

States and territories: executive branch

- -

Domain requests from states and territories must be authorized by the governor or - the state CIO.

- -

States and territories: judicial and legislative branches

- -

Domain requests from state legislatures and courts must be authorized by an - agency’s CIO or highest-ranking executive.

- -

Tribal governments

- -

Domain requests from federally-recognized tribal governments must be authorized by - tribal chiefs as noted by the - Bureau of Indian - Affairs.

- -

Counties

- -

Domain requests from counties must be authorized by the chair of the county - commission or the equivalent highest elected official.

- -

Cities

- -

Domain requests from cities must be authorized by the mayor or the equivalent - highest elected official.

- -

Special districts

- -

Domain requests from special districts must be authorized by the highest-ranking - executive (president, director, chair, or equivalent) or state CIOs for state-based - organizations.

- -

School districts

- -

Domain requests from school district governments must be authorized by the highest-ranking - executive (the chair of a school district’s board or a superintendent).

- -

Requirements for .gov domain names

- -

.Gov domains must: -

-

- -

HSTS preloading

- -

The .gov program will preload all newly registered .gov domains for HTTP Strict - Transport Security (HSTS).

- -

HSTS is a simple and widely-supported standard that protects visitors by ensuring - that their browsers always connect to a website over HTTPS. HSTS removes the need to - redirect users from http:// to https:// URLs. (This redirection is a security risk - that HSTS eliminates.)

- -

HSTS preloading impacts web traffic only. Once a domain is on the HSTS preload - list, modern web browsers will enforce HTTPS connections for all websites hosted on - the .gov domain. Users will not be able to click through warnings to reach a site. - Non-web uses of .gov (email, VPN, APIs, etc.) are not affected.

+

We understand the critical importance of the availability of .gov domains. Suspending or terminating a .gov domain is reserved for prolonged, unresolved, serious violations where the registrant is non-responsive. We'll make extensive efforts to contact registrants and to identify potential solutions. We'll make reasonable accommodations for remediation timelines based on the severity of the issue.

{% endblock %} - {% block form_fields %}
@@ -191,4 +59,4 @@ {% input_with_errors forms.0.is_policy_acknowledged %}
-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/registrar/templates/includes/form_errors.html b/src/registrar/templates/includes/form_errors.html index a5dd99efc..7dc99b235 100644 --- a/src/registrar/templates/includes/form_errors.html +++ b/src/registrar/templates/includes/form_errors.html @@ -1,23 +1,14 @@ {% comment %} -Commenting the code below to turn off the error because -we are showing the caution dialog instead. But saving in -case we want to revert this. +This only shows non-field errors at the top of form pages. +The individual field errors are not shown at the top of the +page, they are shown on each individual field. +{% endcomment %} {% if form.errors %} -{% for error in form.non_field_errors %} + {% for error in form.non_field_errors %}
{{ error|escape }}
{% endfor %} - {% for field in form %} - {% for error in field.errors %} -
-
- {{ error|escape }} -
-
- {% endfor %} - {% endfor %} {% endif %} -{% endcomment %} \ No newline at end of file diff --git a/src/registrar/tests/test_forms.py b/src/registrar/tests/test_forms.py index 2ad81e643..a388bd9a3 100644 --- a/src/registrar/tests/test_forms.py +++ b/src/registrar/tests/test_forms.py @@ -123,7 +123,7 @@ class TestFormValidation(TestCase): form.errors["is_policy_acknowledged"], [ "Check the box if you read and agree to the requirements for" - " registering and operating .gov domains." + " operating .gov domains." ], ) @@ -134,7 +134,7 @@ class TestFormValidation(TestCase): form.errors["is_policy_acknowledged"], [ "Check the box if you read and agree to the requirements for" - " registering and operating .gov domains." + " operating .gov domains." ], ) @@ -145,7 +145,7 @@ class TestFormValidation(TestCase): ) self.assertTrue( any( - "Please email registrar@dotgov.gov" in error + "tell us more about your tribe" in error for error in form.non_field_errors() ) ) diff --git a/src/registrar/views/application.py b/src/registrar/views/application.py index a5b6601c1..99dc26cfb 100644 --- a/src/registrar/views/application.py +++ b/src/registrar/views/application.py @@ -77,16 +77,14 @@ class ApplicationWizard(LoginRequiredMixin, TemplateView): Step.ORGANIZATION_CONTACT: _("Organization name and mailing address"), Step.TYPE_OF_WORK: _("Type of work"), Step.AUTHORIZING_OFFICIAL: _("Authorizing official"), - Step.CURRENT_SITES: _("Organization website"), + Step.CURRENT_SITES: _("Current website for your organization"), Step.DOTGOV_DOMAIN: _(".gov domain"), Step.PURPOSE: _("Purpose of your domain"), Step.YOUR_CONTACT: _("Your contact information"), Step.OTHER_CONTACTS: _("Other employees from your organization"), Step.NO_OTHER_CONTACTS: _("No other employees from your organization?"), Step.ANYTHING_ELSE: _("Anything else we should know?"), - Step.REQUIREMENTS: _( - "Requirements for registration and operation of .gov domains" - ), + Step.REQUIREMENTS: _("Requirements for operating .gov domains"), Step.REVIEW: _("Review and submit your domain request"), }