Merge pull request #396 from cisagov/sspj/key-personnel

Add a field for registrants to provide reasoning if they don't add key contacts
This commit is contained in:
Seamus Johnston 2023-02-07 08:34:33 -06:00 committed by GitHub
commit 3e46683d62
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 52 additions and 5 deletions

View file

@ -660,6 +660,18 @@ OtherContactsFormSet = forms.formset_factory(
) )
class NoOtherContactsForm(RegistrarForm):
no_other_contacts_rationale = forms.CharField(
required=False,
# label has to end in a space to get the label_suffix to show
label=(
"If you cant provide other contacts for your organization,"
" please explain why."
),
widget=forms.Textarea(),
)
class SecurityEmailForm(RegistrarForm): class SecurityEmailForm(RegistrarForm):
security_email = forms.EmailField( security_email = forms.EmailField(
required=False, required=False,

View file

@ -0,0 +1,22 @@
# Generated by Django 4.1.5 on 2023-02-06 14:17
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("registrar", "0009_domainapplication_federally_recognized_tribe_and_more"),
]
operations = [
migrations.AddField(
model_name="domainapplication",
name="no_other_contacts_rationale",
field=models.TextField(
blank=True,
help_text="Reason for listing no additional contacts",
null=True,
),
),
]

View file

@ -428,6 +428,12 @@ class DomainApplication(TimeStampedModel):
related_name="contact_applications", related_name="contact_applications",
) )
no_other_contacts_rationale = models.TextField(
null=True,
blank=True,
help_text="Reason for listing no additional contacts",
)
security_email = models.CharField( security_email = models.CharField(
max_length=320, max_length=320,
null=True, null=True,

View file

@ -3,10 +3,13 @@
{% block form_instructions %} {% block form_instructions %}
<p>Wed like to contact other employees with administrative or technical <p>Wed like to contact other employees with administrative or technical
responsibilities in your organization. For example, they could be involved in responsibilities in your organization. They should be employees of
your organization. For example, they could be involved in
managing your organization or its technical infrastructure. This information will managing your organization or its technical infrastructure. This information will
help us assess your eligibility and understand the purpose of the .gov domain. These help us assess your eligibility and understand the purpose of the .gov domain. These
contacts should be in addition to you and your authorizing official.</p> contacts should be in addition to you and your authorizing official.</p>
<p>Well email these contacts to let them know that you made this request.</p>
{% endblock %} {% endblock %}
@ -16,7 +19,7 @@
{% for form in forms.0.forms %} {% for form in forms.0.forms %}
<fieldset class="usa-fieldset"> <fieldset class="usa-fieldset">
<legend> <legend>
<h2>Contact {{ forloop.counter }}</h2> <h2>Administrative or technical contact {{ forloop.counter }}</h2>
</legend> </legend>
{% input_with_errors form.first_name %} {% input_with_errors form.first_name %}
@ -41,4 +44,8 @@
<use xlink:href="{%static 'img/sprite.svg'%}#add_circle"></use> <use xlink:href="{%static 'img/sprite.svg'%}#add_circle"></use>
</svg><span class="margin-left-05">Add another contact</span> </svg><span class="margin-left-05">Add another contact</span>
</button> </button>
{% endblock %}
<h2>No contacts</h2>
{% input_with_errors forms.1.no_other_contacts_rationale %}
{% endblock %}

View file

@ -79,7 +79,7 @@ class ApplicationWizard(LoginRequiredMixin, TemplateView):
Step.DOTGOV_DOMAIN: _(".gov domain"), Step.DOTGOV_DOMAIN: _(".gov domain"),
Step.PURPOSE: _("Purpose of your domain"), Step.PURPOSE: _("Purpose of your domain"),
Step.YOUR_CONTACT: _("Your contact information"), Step.YOUR_CONTACT: _("Your contact information"),
Step.OTHER_CONTACTS: _("Other contacts for your domain"), Step.OTHER_CONTACTS: _("Other contacts for your organization"),
Step.SECURITY_EMAIL: _("Security email for public use"), Step.SECURITY_EMAIL: _("Security email for public use"),
Step.ANYTHING_ELSE: _("Anything else we should know?"), Step.ANYTHING_ELSE: _("Anything else we should know?"),
Step.REQUIREMENTS: _( Step.REQUIREMENTS: _(
@ -410,7 +410,7 @@ class YourContact(ApplicationWizard):
class OtherContacts(ApplicationWizard): class OtherContacts(ApplicationWizard):
template_name = "application_other_contacts.html" template_name = "application_other_contacts.html"
forms = [forms.OtherContactsFormSet] forms = [forms.OtherContactsFormSet, forms.NoOtherContactsForm]
class SecurityEmail(ApplicationWizard): class SecurityEmail(ApplicationWizard):