diff --git a/src/registrar/forms/application_wizard.py b/src/registrar/forms/application_wizard.py index 48ba1be1e..855a24106 100644 --- a/src/registrar/forms/application_wizard.py +++ b/src/registrar/forms/application_wizard.py @@ -65,9 +65,6 @@ class ContactForm(forms.Form): organization_name = forms.CharField(label="Organization Name") street_address = forms.CharField(label="Street address") -class PurposeForm(forms.Form): - purpose_field = forms.CharField(label="Purpose", widget=forms.Textarea()) - class AuthorizingOfficialForm(forms.Form): given_name = forms.CharField(label="First name/given name") middle_name = forms.CharField( @@ -79,12 +76,28 @@ class AuthorizingOfficialForm(forms.Form): email = forms.EmailField(label="Email") phone = forms.CharField(label="Phone") +class CurrentSitesForm(forms.Form): + current_site = forms.CharField(label="Enter your organization’s public website, if you have one. For example, www.city.com.") + +class DotGovDomainForm(forms.Form): + dotgov_domain = forms.CharField(label="What .gov domain do you want?") + alternative_domain = forms.CharField( + required = False, + label="Are there other domains you’d like if we can’t give you your first choice? Entering alternative domains is optional.", + ) + +class PurposeForm(forms.Form): + purpose_field = forms.CharField(label="Purpose", widget=forms.Textarea()) + + # List of forms in our wizard. Each entry is a tuple of a name and a form # subclass FORMS = [ ("organization", OrganizationForm), ("contact", ContactForm), ("authorizing_official", AuthorizingOfficialForm), + ("current_sites", CurrentSitesForm), + ("dotgov_domain", DotGovDomainForm), ("purpose", PurposeForm), ] @@ -94,6 +107,8 @@ TEMPLATES = { "organization": "application_organization.html", "contact": "application_contact.html", "authorizing_official": "application_authorizing_official.html", + "current_sites": "application_current_sites.html", + "dotgov_domain": "application_dotgov_domain.html", "purpose": "application_purpose.html", } @@ -103,6 +118,8 @@ TITLES = { "organization": "About your organization", "contact": "Your organization's contact information", "authorizing_official": "Authorizing official", + "current_sites": "Website for your organization", + "dotgov_domain": ".gov domain", "purpose": "Purpose of your domain", } diff --git a/src/registrar/templates/application_current_sites.html b/src/registrar/templates/application_current_sites.html new file mode 100644 index 000000000..c7d344462 --- /dev/null +++ b/src/registrar/templates/application_current_sites.html @@ -0,0 +1,25 @@ + +{% extends 'application_form.html' %} +{% load widget_tweaks %} +{% load static %} + +{% block backnav %} + {% with form_name="step__current-site" %} + {{ block.super }} + {% endwith %} +{% endblock %} + +{% block form_content %} + +
+ {{ wizard.management_form }} + {% csrf_token %} + + {{ wizard.form.current_site|add_label_class:"usa-label" }} + {{ wizard.form.current_site|add_class:"usa-input" }} + + {{ block.super }} + +
+ +{% endblock %} diff --git a/src/registrar/templates/application_dotgov_domain.html b/src/registrar/templates/application_dotgov_domain.html new file mode 100644 index 000000000..8f0357e8c --- /dev/null +++ b/src/registrar/templates/application_dotgov_domain.html @@ -0,0 +1,77 @@ + +{% extends 'application_form.html' %} +{% load widget_tweaks static%} + +{% block backnav %} + {% with form_name="step__dotgov-domain" %} + {{ block.super }} + {% endwith %} +{% endblock %} + +{% block form_content %} +

Before requesting a .gov domain, please make sure it meets our naming requirements. Your domain name must: +

+

+ +

Note that only federal agencies can request generic terms like vote.gov.

+ +

We’ll try to give you the domain you want. We first need to make sure your request meets our requirements. We’ll work with you to find the best domain for your organization.

+ +

Here are a few domain examples for your type of organization.

+ +

Most city domains must include the two-letter state abbreviation or clearly spell out the state name. Using phrases like “City of” or “Town of” is optional.

+

Examples: +

+

+

Some cities don’t have to refer to their state. +

+

+ +
+

What .gov domain do you want?

+

After you enter your domain, we’ll make sure it’s available and that it meets some of our naming requirements. If your domain passes these initial checks, we’ll verify that it meets all of our requirements once you complete and submit the rest of the domain request form.

+ + {{ wizard.management_form }} + {% csrf_token %} + {{ wizard.form.dotgov_domain|add_label_class:"usa-label" }} +
+ www. + {{ wizard.form.dotgov_domain|add_class:"usa-input"|attr:"aria-describedby:domain_instructions" }} + .gov +
+ +

Alternative domains

+ +
+ {{ wizard.form.alternative_domain|add_label_class:"usa-label" }} +
+ www. + {{ wizard.form.alternative_domain|add_class:"usa-input" }} + .gov +
+ + +
+ + {{ block.super }} + +
+ +{% endblock %}