From 15728eb9a06a0e3fcf33a63b86cc4b51bb9354bf Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Wed, 25 Jul 2018 15:12:30 -0400 Subject: [PATCH 01/21] Begin updating fields --- atst/forms/request.py | 25 +++++++++++++++++++++++++ templates/components/text_input.html.to | 2 +- templates/requests/screen-1.html.to | 15 +++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index 6c89aeb2..f6330ecf 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -9,6 +9,31 @@ import pendulum class RequestForm(ValidatedForm): + # Details of Use: General + + dod_component = StringField( + "DoD Component", + description="Identify the DoD component that is requesting access to the JEDI Cloud", + ) + + jedi_usage = StringField( + "JEDI Usage", + description="Briefly describe how you are expecting to use the JEDI Cloud", + ) + + + # Details of Use: Cloud Readiness + + + + + + + + + + + # Details of Use: Overall Request Details dollar_value = IntegerField( "What is the total estimated dollar value of the cloud resources you are requesting using the JEDI CSP Calculator?", diff --git a/templates/components/text_input.html.to b/templates/components/text_input.html.to index d45c4f36..2a800abc 100644 --- a/templates/components/text_input.html.to +++ b/templates/components/text_input.html.to @@ -1,5 +1,5 @@
-
{% end %} + + {{ f.num_applications.label }} {{ f.num_applications(placeholder="Estimated number of applications") }} {% for e in f.num_applications.errors %} From ac6ce73cc2b8f70b3d56c0fe8120db014822c117 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Wed, 25 Jul 2018 15:51:02 -0400 Subject: [PATCH 02/21] Update fields for details of use section --- atst/forms/request.py | 100 +++++------------ templates/requests/screen-1.html.to | 161 ++-------------------------- 2 files changed, 38 insertions(+), 223 deletions(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index f6330ecf..2482458e 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -10,7 +10,6 @@ import pendulum class RequestForm(ValidatedForm): # Details of Use: General - dod_component = StringField( "DoD Component", description="Identify the DoD component that is requesting access to the JEDI Cloud", @@ -21,87 +20,42 @@ class RequestForm(ValidatedForm): description="Briefly describe how you are expecting to use the JEDI Cloud", ) - # Details of Use: Cloud Readiness - - - - - - - - - - - - # Details of Use: Overall Request Details - dollar_value = IntegerField( - "What is the total estimated dollar value of the cloud resources you are requesting using the JEDI CSP Calculator?", - validators=[InputRequired(), NumberRange(min=1)], + num_software_systems = IntegerField( + "Number of Software System", + description="Estimate the number of software systems that will be supported by this JEDI Cloud access request", ) - num_applications = IntegerField( - "Estimate the number of applications that might be supported by this request", - validators=[InputRequired(), NumberRange(min=1)], - ) - - date_start = DateField( - "Date you expect to start accessing this cloud resource.", - validators=[ - InputRequired(), - DateRange( - lower_bound=pendulum.duration(days=0), - message="Must be no earlier than today.", - ), - ], - ) - - app_description = TextAreaField( - "Describe how your team is expecting to use the JEDI Cloud" - ) - - supported_organizations = StringField( - "What organizations are supported by these applications?", - validators=[InputRequired()], - ) - - # Details of Use: Cloud Resources - total_cores = IntegerField( - "Total Number of vCPU cores", validators=[InputRequired(), NumberRange(min=0)] - ) - total_ram = IntegerField( - "Total RAM", validators=[InputRequired(), NumberRange(min=0)] - ) - total_object_storage = IntegerField( - "Total object storage", validators=[InputRequired(), NumberRange(min=0)] - ) - total_database_storage = IntegerField( - "Total database storage", validators=[InputRequired(), NumberRange(min=0)] - ) - total_server_storage = IntegerField( - "Total server storage", validators=[InputRequired(), NumberRange(min=0)] - ) - - # Details of Use: Support Staff - has_contractor_advisor = RadioField( - "Do you have a contractor to advise and assist you with using cloud services?", + jedi_migration = RadioField( + "Are you using the JEDI Cloud to migrate existing systems?", choices=[("yes", "Yes"), ("no", "No")], - validators=[InputRequired()], ) - is_migrating_application = RadioField( - "Are you using the JEDI Cloud to migrate existing applications?", + rationalization_software_systems = RadioField( + "Have you completed a “rationalization” of your software systems to move to the cloud?", + choices=[("yes", "Yes"), ("no", "No"), ("in_progress","In Progress")], + ) + + technical_support_team = RadioField( + "Are you working with a technical support team experienced in cloud migrations?", choices=[("yes", "Yes"), ("no", "No")], - validators=[InputRequired()], ) - has_migration_office = RadioField( - "Do you have a migration office that you're working with to migrate to the cloud?", + organization_providing_assistance = RadioField( + "If you are receiving migration assistance, indicate the type of organization providing assistance below:", choices=[("yes", "Yes"), ("no", "No")], - validators=[InputRequired()], ) - supporting_organization = StringField( - "Describe the organizations that are supporting you, include both government and contractor resources", - validators=[InputRequired()], - ) + + + # Organization Providing Assistance + + # # Engineering Assessment + + # # Data Transfers + + # # Expected Completion Date + + # # Cloud Native + + diff --git a/templates/requests/screen-1.html.to b/templates/requests/screen-1.html.to index 0e9dd51a..e9c56ec0 100644 --- a/templates/requests/screen-1.html.to +++ b/templates/requests/screen-1.html.to @@ -1,169 +1,30 @@ {% extends '../requests_new.html.to' %} {% block subtitle %} -

Details of Use

+

Details of Use

{% end %} {% block form %} {% autoescape None %} {% if f.errors %} - There were some errors, see below. +There were some errors, see below. {% end %} +

We’d like to know a little about how you plan to use JEDI Cloud services to process your request. Please answer the following questions to the best of your ability. Note that the CCPO does not directly help with migrating systems to JEDI Cloud. These questions are for learning about your cloud readiness and financial usage of the JEDI Cloud; your estimates will not be used for any department level reporting.

+

All fields are required, unless specified optional.

- - +

General

{% module TextInput(f.dod_component) %} {% module TextInput(f.jedi_usage) %} +

Cloud Readiness

+{% module TextInput(f.num_software_systems) %} +{% module OptionsInput(f.jedi_migration) %} +{% module OptionsInput(f.rationalization_software_systems) %} +{% module OptionsInput(f.technical_support_team) %} +{% module OptionsInput(f.organization_providing_assistance) %} - - - - - - - - -

Overall Request Details

-

Please help us understand the size and scope of your resource request.

- -{{ f.dollar_value.label }} -{{ f.dollar_value(placeholder="Total dollar amount to be associated with the Task Order")}} -{% for e in f.dollar_value.errors %} -
- {{ e }} -
-{% end %} - - - -{{ f.num_applications.label }} -{{ f.num_applications(placeholder="Estimated number of applications") }} -{% for e in f.num_applications.errors %} -
- {{ e }} -
-{% end %} - -{{ f.date_start.label }} -{{ f.date_start }} -{% for e in f.date_start.errors %} -
- {{ e }} -
-{% end %} - -{{ f.app_description.label }} -{{ f.app_description(placeholder="Example: My organization is supporting the migration of XYZ system to the cloud due to XX policy memo. I am planning to use a sandbox environment to do testing.") }} -{% for e in f.app_description.errors %} -
- {{ e }} -
-{% end %} - -{{ f.supported_organizations.label }} -{{ f.supported_organizations(placeholder="Add tags associated with DoD components or other entities") }} -{% for e in f.supported_organizations.errors %} -
- {{ e }} -
-{% end %} - - - - -

Cloud Resources

-

Please tell us about your expected cloud resource usage as best as you can. Refer to the Cloud Service Provider as necessary.

- -{{ f.total_cores.label }} -{{ f.total_cores(placeholder="Expected total cores", min="1", max="32") }} -{% for e in f.total_cores.errors %} -
- {{ e }} -
-{% end %} - -{{ f.total_ram.label }} -{{ f.total_ram(placeholder="Expected amount of RAM", min="1", max="32") }} -{% for e in f.total_ram.errors %} -
- {{ e }} -
-{% end %} - -{{ f.total_object_storage.label }} -{{ f.total_object_storage(placeholder="Expected total object storage") }} -{% for e in f.total_object_storage.errors %} -
- {{ e }} -
-{% end %} - -{{ f.total_database_storage.label }} -{{ f.total_database_storage(placeholder="Expected total database storage") }} -{% for e in f.total_database_storage.errors %} -
- {{ e }} -
-{% end %} - -{{ f.total_server_storage.label }} -{{ f.total_server_storage(placeholder="Expected total server storage") }} -{% for e in f.total_server_storage.errors %} -
- {{ e }} -
-{% end %} - - - - -

Support Staff

-

We want to learn more about the people helping you with the cloud.

- - -
- {{ f.has_contractor_advisor.label }} - {{ f.has_contractor_advisor(class_="usa-unstyled-list") }} - {% for e in f.has_contractor_advisor.errors %} -
- {{ e }} -
- {% end %} -
- -
- {{ f.is_migrating_application.label }} - {{ f.is_migrating_application(class_="usa-unstyled-list") }} - {% for e in f.is_migrating_application.errors %} -
- {{ e }} -
- {% end %} -
- -
- {{ f.has_migration_office.label }} - {{ f.has_migration_office(class_="usa-unstyled-list") }} - {% for e in f.has_migration_office.errors %} -
- {{ e }} -
- {% end %} -
- -
- {{ f.supporting_organization.label }} - {{ f.supporting_organization(placeholder="Example: AF CCE/HNI, Navy SPAWAR, MITRE") }} - {% for e in f.supporting_organization.errors %} -
- {{ e }} -
- {% end %} -
- {% end %} From 59758be61196ae665c1b60c7a1e8ad682917195e Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Wed, 25 Jul 2018 16:12:15 -0400 Subject: [PATCH 03/21] Moaaar details of use fields (financial fields) --- atst/forms/request.py | 48 +++++++++++++++++++++++------ templates/requests/screen-1.html.to | 12 ++++++++ 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index 2482458e..d6bc54d0 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -46,16 +46,46 @@ class RequestForm(ValidatedForm): choices=[("yes", "Yes"), ("no", "No")], ) + engineering_assessment = RadioField( + "Have you completed an engineering assessment of your software systems for cloud readiness?", + choices=[("yes", "Yes"), ("no", "No"), ("in_progress","In Progress")], + ) + + data_transfers = StringField( + "How much data is being transferred to the cloud?", + ) + + expected_completion_date = StringField( + "When do you expect to complete your migration to the JEDI Cloud?", + ) + + cloud_native = RadioField( + "Are your software systems being developed cloud native?", + choices=[("yes", "Yes"), ("no", "No")], + ) + + # Details of Use: Financial Usage + estimated_monthly_spend = IntegerField( + "Estimated monthly spend", + description="Use the JEDI CSP Calculator to estimate your monthly cloud resource usage and enter the dollar amount below. Note these estimates are for initial approval only. After the request is approved, you will be asked to provide a valid Task Order number with specific CLIN amounts for cloud services." + ) + + total_spend = IntegerField( + "What is your total expected budget for this JEDI Cloud Request?", + ) + + number_user_sessions = IntegerField( + "How many user sessions do you expect on these systems each day?", + ) + + average_daily_traffic = IntegerField( + "What is the average daily traffic you expect the systems under this cloud contract to use?", + ) + + start_date = StringField( + "When do you expect to start using the JEDI Cloud (not for billing purposes)?", + ) - # Organization Providing Assistance - - # # Engineering Assessment - - # # Data Transfers - - # # Expected Completion Date - - # # Cloud Native diff --git a/templates/requests/screen-1.html.to b/templates/requests/screen-1.html.to index e9c56ec0..6dc1422e 100644 --- a/templates/requests/screen-1.html.to +++ b/templates/requests/screen-1.html.to @@ -25,6 +25,18 @@ {% module OptionsInput(f.rationalization_software_systems) %} {% module OptionsInput(f.technical_support_team) %} {% module OptionsInput(f.organization_providing_assistance) %} +{% module OptionsInput(f.engineering_assessment) %} +{% module TextInput(f.data_transfers) %} +{% module TextInput(f.expected_completion_date) %} +{% module OptionsInput(f.cloud_native) %} + +

Financial Usage

+{% module TextInput(f.estimated_monthly_spend) %} +

So this means you are spending approximately $X annually

+{% module TextInput(f.total_spend) %} +{% module TextInput(f.number_user_sessions) %} +{% module TextInput(f.average_daily_traffic) %} +{% module TextInput(f.start_date) %} {% end %} From ab0333d85d93ef7946e5470362bced794ff21af1 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Wed, 25 Jul 2018 16:25:14 -0400 Subject: [PATCH 04/21] Update information about you fields --- templates/requests/screen-2.html.to | 82 +++++------------------------ 1 file changed, 13 insertions(+), 69 deletions(-) diff --git a/templates/requests/screen-2.html.to b/templates/requests/screen-2.html.to index af1dbb74..1b80b06d 100644 --- a/templates/requests/screen-2.html.to +++ b/templates/requests/screen-2.html.to @@ -1,84 +1,28 @@ {% extends '../requests_new.html.to' %} {% block subtitle %} -

Information About You

+

Information About You

{% end %} {% block form %} {% autoescape None %} {% if f.errors %} - There were some errors, see below. +There were some errors, see below. {% end %} -

Please tell us more about yourself.

+

Please tell us more about you.

-{{ f.fname_request.label }} -{{ f.fname_request(placeholder="Your first name") }} -{% for e in f.fname_request.errors %} -
- {{ e }} -
-{% end %} +{% module TextInput(f.fname_request) %} +{% module TextInput(f.lname_request) %} +{% module TextInput(f.email_request) %} +{% module TextInput(f.phone_number) %} -{{ f.lname_request.label }} -{{ f.lname_request(placeholder="Your last name") }} -{% for e in f.lname_request.errors %} -
- {{ e }} -
-{% end %} +

We want to collect the following information from you for security auditing and determining priviledged user access

-{{ f.email_request.label }} -{{ f.email_request(placeholder="jane@mail.mil") }} -{% for e in f.email_request.errors %} -
- {{ e }} -
-{% end %} +{% module TextInput(f.service_branch) %} +{% module OptionsInput(f.citizenship) %} +{% module OptionsInput(f.designation) %} +{% module TextInput(f.date_latest_training) %} -{{ f.phone_number.label }} -{{ f.phone_number(placeholder="(123) 456-7890") }} -{% for e in f.phone_number.errors %} -
- {{ e }} -
-{% end %} - -{{ f.service_branch.label }} -{{ f.service_branch(placeholder="i.e. US Air Force, US Army, US Navy, Marine Corps, Defense Media Agency") }} -{% for e in f.service_branch.errors %} -
- {{ e }} -
-{% end %} - -
- {{ f.citizenship.label }} - {{ f.citizenship(class_="usa-unstyled-list") }} -{% for e in f.citizenship.errors %} -
- {{ e }} -
-{% end %} -
- -
- {{ f.designation.label }} - {{ f.designation(class_="usa-unstyled-list") }} -{% for e in f.designation.errors %} -
- {{ e }} -
-{% end %} -
- -{{ f.date_latest_training.label }} -{{ f.date_latest_training }} -{% for e in f.date_latest_training.errors %} -
- {{ e }} -
-{% end %} - -{% end %} +{% end %} \ No newline at end of file From 2e989eb8f773d4b651096eabef041df707fe7953 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Wed, 25 Jul 2018 16:28:23 -0400 Subject: [PATCH 05/21] Update POC fields --- templates/requests/screen-3.html.to | 41 +++++------------------------ 1 file changed, 7 insertions(+), 34 deletions(-) diff --git a/templates/requests/screen-3.html.to b/templates/requests/screen-3.html.to index 4dbeb3d4..5368550a 100644 --- a/templates/requests/screen-3.html.to +++ b/templates/requests/screen-3.html.to @@ -1,14 +1,14 @@ {% extends '../requests_new.html.to' %} {% block subtitle %} -

Primary Government/Military
Point of Contact (POC)

+

Primary Government/Military
Point of Contact (POC)

{% end %} {% block form %} {% autoescape None %} {% if f.errors %} - There were some errors, see below. +There were some errors, see below. {% end %}

Please designate a Primary Point of Contact that will be responsible for owning the workspace in the JEDI Cloud.

@@ -23,36 +23,9 @@ This POC may be you.

-{{ f.fname_poc.label }} -{{ f.fname_poc(placeholder="First name") }} -{% for e in f.fname_poc.errors %} -
- {{ e }} -
-{% end %} +{% module TextInput(f.fname_poc) %} +{% module TextInput(f.lname_poc) %} +{% module TextInput(f.email_poc) %} +{% module TextInput(f.dodid_poc) %} -{{ f.lname_poc.label }} -{{ f.lname_poc(placeholder="Last name") }} -{% for e in f.lname_poc.errors %} -
- {{ e }} -
-{% end %} - -{{ f.email_poc.label }} -{{ f.email_poc(placeholder="jane@mail.mil") }} -{% for e in f.email_poc.errors %} -
- {{ e }} -
-{% end %} - -{{ f.dodid_poc.label }} -{{ f.dodid_poc(placeholder="10-digit number on the back of the CAC") }} -{% for e in f.dodid_poc.errors %} -
- {{ e }} -
-{% end %} - -{% end %} +{% end %} \ No newline at end of file From 9f4d8239670e3c2c5bae0be3a905fa4349e20d4c Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Thu, 26 Jul 2018 10:50:11 -0400 Subject: [PATCH 06/21] Add dropdown field example --- atst/forms/request.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index d6bc54d0..bc6f6ad4 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -1,5 +1,5 @@ from wtforms.fields.html5 import IntegerField -from wtforms.fields import RadioField, StringField, TextAreaField +from wtforms.fields import RadioField, StringField, TextAreaField, SelectField from wtforms.validators import NumberRange, InputRequired from .fields import DateField from .forms import ValidatedForm @@ -10,9 +10,15 @@ import pendulum class RequestForm(ValidatedForm): # Details of Use: General - dod_component = StringField( + dod_component = SelectField( "DoD Component", description="Identify the DoD component that is requesting access to the JEDI Cloud", + choices=[ + ("us_air_force","US Air Force"), + ("us_army","US Army"), + ("us_navy","US Navy"), + ("us_marine_corps","US Marine Corps"), + ("joint_chiefs_of_staff","Joint Chiefs of Staff")], ) jedi_usage = StringField( From 5d05bcfae363b33f73d52849fa803263fcdb91ef Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Thu, 26 Jul 2018 12:23:59 -0400 Subject: [PATCH 07/21] Change input text to text area --- atst/forms/request.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index bc6f6ad4..f7500094 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -14,6 +14,7 @@ class RequestForm(ValidatedForm): "DoD Component", description="Identify the DoD component that is requesting access to the JEDI Cloud", choices=[ + ("null","Select an option"), ("us_air_force","US Air Force"), ("us_army","US Army"), ("us_navy","US Navy"), @@ -21,9 +22,10 @@ class RequestForm(ValidatedForm): ("joint_chiefs_of_staff","Joint Chiefs of Staff")], ) - jedi_usage = StringField( + jedi_usage = TextAreaField( "JEDI Usage", description="Briefly describe how you are expecting to use the JEDI Cloud", + render_kw={"placeholder": "e.g. We are migrating XYZ application to the cloud so that..."}, ) # Details of Use: Cloud Readiness @@ -53,7 +55,7 @@ class RequestForm(ValidatedForm): ) engineering_assessment = RadioField( - "Have you completed an engineering assessment of your software systems for cloud readiness?", + description="Have you completed an engineering assessment of your software systems for cloud readiness?", choices=[("yes", "Yes"), ("no", "No"), ("in_progress","In Progress")], ) From a9a809e2f45a080a9aacda432202714fd2f3c43a Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Thu, 26 Jul 2018 13:36:03 -0400 Subject: [PATCH 08/21] Update details of use fields --- atst/forms/request.py | 38 +++++++++++++++------- scss/elements/_inputs.scss | 1 + templates/components/options_input.html.to | 1 + templates/requests/screen-1.html.to | 6 ++-- 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index f7500094..b777b80c 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -1,5 +1,5 @@ from wtforms.fields.html5 import IntegerField -from wtforms.fields import RadioField, StringField, TextAreaField, SelectField +from wtforms.fields import RadioField, StringField, TextAreaField, SelectField, BooleanField, SelectMultipleField from wtforms.validators import NumberRange, InputRequired from .fields import DateField from .forms import ValidatedForm @@ -49,9 +49,12 @@ class RequestForm(ValidatedForm): choices=[("yes", "Yes"), ("no", "No")], ) - organization_providing_assistance = RadioField( + organization_providing_assistance = RadioField( # this needs to be updated to use checkboxes instead of radio "If you are receiving migration assistance, indicate the type of organization providing assistance below:", - choices=[("yes", "Yes"), ("no", "No")], + choices=[ + ("in_house_staff","In-house staff"), + ("contractor","Contractor"), + ("other_dod_organization","Other DoD organization")], ) engineering_assessment = RadioField( @@ -59,12 +62,23 @@ class RequestForm(ValidatedForm): choices=[("yes", "Yes"), ("no", "No"), ("in_progress","In Progress")], ) - data_transfers = StringField( - "How much data is being transferred to the cloud?", + data_transfers = SelectField( + description="How much data is being transferred to the cloud?", + choices=[ + ("null","Select an option"), + ("less_than_100gb","Less than 100GB"), + ("...","- more options -"), + ("above_10pb","Above 10PB")], ) - expected_completion_date = StringField( - "When do you expect to complete your migration to the JEDI Cloud?", + expected_completion_date = SelectField( + description="When do you expect to complete your migration to the JEDI Cloud?", + choices=[ + ("null","Select an option"), + ("less_than_1_month","< 1 month"), + ("1_to_3_months","1-3 months"), + ("3_to_6_months","3-6 months"), + ("more_than_12_months","12+ months")], ) cloud_native = RadioField( @@ -79,19 +93,19 @@ class RequestForm(ValidatedForm): ) total_spend = IntegerField( - "What is your total expected budget for this JEDI Cloud Request?", + description="What is your total expected budget for this JEDI Cloud Request?", ) number_user_sessions = IntegerField( - "How many user sessions do you expect on these systems each day?", + description="How many user sessions do you expect on these systems each day?", ) average_daily_traffic = IntegerField( - "What is the average daily traffic you expect the systems under this cloud contract to use?", + description="What is the average daily traffic you expect the systems under this cloud contract to use?", ) - start_date = StringField( - "When do you expect to start using the JEDI Cloud (not for billing purposes)?", + start_date = DateField( + description="When do you expect to start using the JEDI Cloud (not for billing purposes)?", ) diff --git a/scss/elements/_inputs.scss b/scss/elements/_inputs.scss index 275ad54a..e07ea4ae 100644 --- a/scss/elements/_inputs.scss +++ b/scss/elements/_inputs.scss @@ -98,6 +98,7 @@ legend { padding: 0 0 $gap 0; @include h4; + font-weight: normal; .icon { vertical-align: middle; diff --git a/templates/components/options_input.html.to b/templates/components/options_input.html.to index ab296a5f..8a15e041 100644 --- a/templates/components/options_input.html.to +++ b/templates/components/options_input.html.to @@ -1,4 +1,5 @@
+
{{ label }} diff --git a/templates/requests/screen-1.html.to b/templates/requests/screen-1.html.to index 6dc1422e..7e68a397 100644 --- a/templates/requests/screen-1.html.to +++ b/templates/requests/screen-1.html.to @@ -15,11 +15,11 @@

We’d like to know a little about how you plan to use JEDI Cloud services to process your request. Please answer the following questions to the best of your ability. Note that the CCPO does not directly help with migrating systems to JEDI Cloud. These questions are for learning about your cloud readiness and financial usage of the JEDI Cloud; your estimates will not be used for any department level reporting.

All fields are required, unless specified optional.

-

General

+

General

{% module TextInput(f.dod_component) %} {% module TextInput(f.jedi_usage) %} -

Cloud Readiness

+

Cloud Readiness

{% module TextInput(f.num_software_systems) %} {% module OptionsInput(f.jedi_migration) %} {% module OptionsInput(f.rationalization_software_systems) %} @@ -30,7 +30,7 @@ {% module TextInput(f.expected_completion_date) %} {% module OptionsInput(f.cloud_native) %} -

Financial Usage

+

Financial Usage

{% module TextInput(f.estimated_monthly_spend) %}

So this means you are spending approximately $X annually

{% module TextInput(f.total_spend) %} From 99d42cf133011e5d20aad4f1eccbc5c665409c9d Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Thu, 26 Jul 2018 15:16:05 -0400 Subject: [PATCH 09/21] Disable html5 validations temporarily --- atst/forms/org.py | 46 +++++++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/atst/forms/org.py b/atst/forms/org.py index 80bb5722..ade4859b 100644 --- a/atst/forms/org.py +++ b/atst/forms/org.py @@ -8,14 +8,30 @@ from .validators import DateRange, PhoneNumber, Alphabet class OrgForm(ValidatedForm): - fname_request = StringField("First Name", validators=[Required(), Alphabet()]) - lname_request = StringField("Last Name", validators=[Required(), Alphabet()]) + fname_request = StringField( + "First Name", + # validators=[Required(), Alphabet()] + ) - email_request = EmailField("Email Address", validators=[Required(), Email()]) + lname_request = StringField( + "Last Name", + # validators=[Required(), Alphabet()] + ) - phone_number = TelField("Phone Number", validators=[Required(), PhoneNumber()]) + email_request = EmailField( + "Email Address", + # validators=[Required(), Email()] + ) - service_branch = StringField("Service Branch or Agency", validators=[Required()]) + phone_number = TelField( + "Phone Number", + # validators=[Required(), PhoneNumber()] + ) + + service_branch = StringField( + "Service Branch or Agency", + # validators=[Required()] + ) citizenship = RadioField( choices=[ @@ -23,7 +39,7 @@ class OrgForm(ValidatedForm): ("Foreign National", "Foreign National"), ("Other", "Other"), ], - validators=[Required()], + # validators=[Required()], ) designation = RadioField( @@ -33,17 +49,17 @@ class OrgForm(ValidatedForm): ("civilian", "Civilian"), ("contractor", "Contractor"), ], - validators=[Required()], + # validators=[Required()], ) date_latest_training = DateField( "Latest Information Assurance (IA) Training completion date.", - validators=[ - Required(), - DateRange( - lower_bound=pendulum.duration(years=1), - upper_bound=pendulum.duration(days=0), - message="Must be a date within the last year.", - ), - ], + # validators=[ + # Required(), + # DateRange( + # lower_bound=pendulum.duration(years=1), + # upper_bound=pendulum.duration(days=0), + # message="Must be a date within the last year.", + # ), + # ], ) From f3a45d02c7b7984478f969aed2a42025d01d55e2 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Thu, 26 Jul 2018 15:57:35 -0400 Subject: [PATCH 10/21] Add plaeholder for review submit output fields --- atst/forms/poc.py | 20 ++++++++++++++++---- atst/forms/request.py | 2 +- templates/requests/screen-4.html.to | 17 +++++++++++++++++ 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/atst/forms/poc.py b/atst/forms/poc.py index cd57add1..7d5388f2 100644 --- a/atst/forms/poc.py +++ b/atst/forms/poc.py @@ -1,15 +1,27 @@ from wtforms.fields import StringField +from wtforms.fields.html5 import EmailField from wtforms.validators import Required, Email, Length from .forms import ValidatedForm from .validators import IsNumber, Alphabet class POCForm(ValidatedForm): - fname_poc = StringField("POC First Name", validators=[Required(), Alphabet()]) - lname_poc = StringField("POC Last Name", validators=[Required(), Alphabet()]) + fname_poc = StringField( + "POC First Name", + # validators=[Required(), Alphabet()] + ) - email_poc = StringField("POC Email Address", validators=[Required(), Email()]) + lname_poc = StringField( + "POC Last Name", + # validators=[Required(), Alphabet()] + ) + + email_poc = EmailField( + "POC Email Address", + # validators=[Required(), Email()] + ) dodid_poc = StringField( - "DOD ID", validators=[Required(), Length(min=10), IsNumber()] + "DOD ID", + # validators=[Required(), Length(min=10), IsNumber()] ) diff --git a/atst/forms/request.py b/atst/forms/request.py index b777b80c..bb38077f 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -1,5 +1,5 @@ from wtforms.fields.html5 import IntegerField -from wtforms.fields import RadioField, StringField, TextAreaField, SelectField, BooleanField, SelectMultipleField +from wtforms.fields import RadioField, StringField, TextAreaField, SelectField from wtforms.validators import NumberRange, InputRequired from .fields import DateField from .forms import ValidatedForm diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index 048795e0..5ff198e6 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -17,6 +17,23 @@

Before you can submit your request, please take a moment to review the information entered in the form. You may make changes by clicking the edit link on each section. When all information looks right, go ahead and submit.

+ + + + +{{ data['details_of_use']['dod_component'] }} +{{ data['details_of_use']['fname_request'] }} +{{ data['details_of_use']['lname_request'] }} +{{ data['details_of_use']['email_request'] }} +{{ data['details_of_use']['phone_number'] }} +{{ data['details_of_use']['service_branch'] }} +{{ data['details_of_use']['citizenship'] }} +{{ data['details_of_use']['designation'] }} +{{ data['details_of_use']['date_latest_training'] }} + + + +



Details of Use Edit

Overall Request Details

From a58546fd99b1840e0e26e62dbdcd977b9fda3790 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Thu, 26 Jul 2018 16:03:05 -0400 Subject: [PATCH 11/21] Add placeholder text to fields --- templates/requests/screen-1.html.to | 4 ++-- templates/requests/screen-2.html.to | 10 +++++----- templates/requests/screen-3.html.to | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/templates/requests/screen-1.html.to b/templates/requests/screen-1.html.to index 7e68a397..b69fa167 100644 --- a/templates/requests/screen-1.html.to +++ b/templates/requests/screen-1.html.to @@ -17,10 +17,10 @@

General

{% module TextInput(f.dod_component) %} -{% module TextInput(f.jedi_usage) %} +{% module TextInput(f.jedi_usage,placeholder="e.g. We are migrating XYZ application to the cloud so that...") %}

Cloud Readiness

-{% module TextInput(f.num_software_systems) %} +{% module TextInput(f.num_software_systems,placeholder="Number of systems") %} {% module OptionsInput(f.jedi_migration) %} {% module OptionsInput(f.rationalization_software_systems) %} {% module OptionsInput(f.technical_support_team) %} diff --git a/templates/requests/screen-2.html.to b/templates/requests/screen-2.html.to index 1b80b06d..20bdef27 100644 --- a/templates/requests/screen-2.html.to +++ b/templates/requests/screen-2.html.to @@ -13,14 +13,14 @@

Please tell us more about you.

-{% module TextInput(f.fname_request) %} -{% module TextInput(f.lname_request) %} -{% module TextInput(f.email_request) %} -{% module TextInput(f.phone_number) %} +{% module TextInput(f.fname_request,placeholder='First Name') %} +{% module TextInput(f.lname_request,placeholder='Last Name') %} +{% module TextInput(f.email_request,placeholder='jane@mail.mil') %} +{% module TextInput(f.phone_number,placeholder='(123) 456-7890') %}

We want to collect the following information from you for security auditing and determining priviledged user access

-{% module TextInput(f.service_branch) %} +{% module TextInput(f.service_branch,placeholder='e.g. US Air Force, US Army, US Navy, Marine Corps, Defense Media Agency') %} {% module OptionsInput(f.citizenship) %} {% module OptionsInput(f.designation) %} {% module TextInput(f.date_latest_training) %} diff --git a/templates/requests/screen-3.html.to b/templates/requests/screen-3.html.to index 5368550a..99c269ba 100644 --- a/templates/requests/screen-3.html.to +++ b/templates/requests/screen-3.html.to @@ -23,9 +23,9 @@ This POC may be you.

-{% module TextInput(f.fname_poc) %} -{% module TextInput(f.lname_poc) %} -{% module TextInput(f.email_poc) %} -{% module TextInput(f.dodid_poc) %} +{% module TextInput(f.fname_poc,placeholder='First Name') %} +{% module TextInput(f.lname_poc,placeholder='Last Name') %} +{% module TextInput(f.email_poc,placeholder='jane@mail.mil') %} +{% module TextInput(f.dodid_poc,placeholder='10-digit number on the back of the CAC') %} {% end %} \ No newline at end of file From c50203982411bc11cff28ad3a094dc8d2ab6f842 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 09:59:47 -0400 Subject: [PATCH 12/21] Begin adding read-only fields to review screen --- templates/requests/screen-4.html.to | 148 +++++++++------------------- 1 file changed, 45 insertions(+), 103 deletions(-) diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index 5ff198e6..50760b7d 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -19,120 +19,62 @@ - - -{{ data['details_of_use']['dod_component'] }} -{{ data['details_of_use']['fname_request'] }} -{{ data['details_of_use']['lname_request'] }} -{{ data['details_of_use']['email_request'] }} -{{ data['details_of_use']['phone_number'] }} -{{ data['details_of_use']['service_branch'] }} -{{ data['details_of_use']['citizenship'] }} -{{ data['details_of_use']['designation'] }} -{{ data['details_of_use']['date_latest_training'] }} - - - -



Details of Use Edit

-

Overall Request Details

- -{{ data['details_of_use']['dollar_value'] }} + +{{data['details_of_use']['dod_component']}} - -{{ data['details_of_use']['num_applications'] }} + +{{data['details_of_use']['jedi_usage']}} + + +{{data['details_of_use']['num_software_systems']}} + + +{{data['details_of_use']['jedi_migration']}} + + +{{data['details_of_use']['rationalization_software_systems']}} + + +{{data['details_of_use']['technical_support_team']}} + + +{{data['details_of_use']['organization_providing_assistance']}} + + +{{data['details_of_use']['engineering_assessment']}} + + +{{data['details_of_use']['data_transfers']}} + + +{{data['details_of_use']['expected_completion_date']}} + + +{{data['details_of_use']['cloud_native']}} + + +{{data['details_of_use']['estimated_monthly_spend']}} + + +{{data['details_of_use']['total_spend']}} + + +{{data['details_of_use']['number_user_sessions']}} + + +{{data['details_of_use']['average_daily_traffic']}} -{{ data['details_of_use']['date_start'] }} +{{data['details_of_use']['start_date']}} - -{{ data['details_of_use']['app_description'] }} - - -{{ data['details_of_use']['supported_organizations'] }} - -

Cloud Resources

- - -{{ data['details_of_use']['total_cores'] }} - - -{{ data['details_of_use']['total_ram'] }} - - -{{ data['details_of_use']['total_object_storage'] }} - - -{{ data['details_of_use']['total_server_storage'] }} - -

Support Staff

- - -{{ data['details_of_use']['has_contractor_advisor'] }} - - -{{ data['details_of_use']['is_migrating_application'] }} - - -{{ data['details_of_use']['supporting_organization'] }} - - -{{ data['details_of_use']['has_migration_office'] }} - - -{{ data['details_of_use']['supporting_organization'] }} - -


- -

Information About You Edit

- - -{{ data['information_about_you']['fname_request'] }} - - -{{ data['information_about_you']['lname_request'] }} - - -{{ data['information_about_you']['email_request'] }} - - -{{ data['information_about_you']['phone_number'] }} - - -{{ data['information_about_you']['service_branch'] }} - - -{{ data['information_about_you']['citizenship'] }} - - -{{ data['information_about_you']['designation'] }} - - -{{ data['information_about_you']['date_latest_training'] }} - - -


- -

Primary Government/Military Point of Contact (POC) Edit

+
- -{{ data['primary_poc']['fname_poc']}} - -{{ data['primary_poc']['lname_poc']}} - - -{{ data['primary_poc']['email_poc']}} - - -{{ data['primary_poc']['dodid_poc']}} - - -

{% end %} From 95c07ff1f49e2dac9ac0b995247654e71b57288b Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 10:43:32 -0400 Subject: [PATCH 13/21] Add read-only fields for poc and org details --- atst/forms/org.py | 32 ++--- atst/forms/poc.py | 8 +- templates/requests/screen-4.html.to | 212 ++++++++++++++++++++-------- templates/requests_new.html.to | 40 +++--- 4 files changed, 194 insertions(+), 98 deletions(-) diff --git a/atst/forms/org.py b/atst/forms/org.py index ade4859b..b2bad0ee 100644 --- a/atst/forms/org.py +++ b/atst/forms/org.py @@ -10,27 +10,27 @@ from .validators import DateRange, PhoneNumber, Alphabet class OrgForm(ValidatedForm): fname_request = StringField( "First Name", - # validators=[Required(), Alphabet()] + validators=[Required(), Alphabet()] ) lname_request = StringField( "Last Name", - # validators=[Required(), Alphabet()] + validators=[Required(), Alphabet()] ) email_request = EmailField( "Email Address", - # validators=[Required(), Email()] + validators=[Required(), Email()] ) phone_number = TelField( "Phone Number", - # validators=[Required(), PhoneNumber()] + validators=[Required(), PhoneNumber()] ) service_branch = StringField( "Service Branch or Agency", - # validators=[Required()] + validators=[Required()] ) citizenship = RadioField( @@ -39,7 +39,7 @@ class OrgForm(ValidatedForm): ("Foreign National", "Foreign National"), ("Other", "Other"), ], - # validators=[Required()], + validators=[Required()], ) designation = RadioField( @@ -49,17 +49,17 @@ class OrgForm(ValidatedForm): ("civilian", "Civilian"), ("contractor", "Contractor"), ], - # validators=[Required()], + validators=[Required()], ) date_latest_training = DateField( - "Latest Information Assurance (IA) Training completion date.", - # validators=[ - # Required(), - # DateRange( - # lower_bound=pendulum.duration(years=1), - # upper_bound=pendulum.duration(days=0), - # message="Must be a date within the last year.", - # ), - # ], + "Latest Information Assurance (IA) Training completion date", + validators=[ + Required(), + DateRange( + lower_bound=pendulum.duration(years=1), + upper_bound=pendulum.duration(days=0), + message="Must be a date within the last year.", + ), + ], ) diff --git a/atst/forms/poc.py b/atst/forms/poc.py index 7d5388f2..48ab749b 100644 --- a/atst/forms/poc.py +++ b/atst/forms/poc.py @@ -8,20 +8,20 @@ from .validators import IsNumber, Alphabet class POCForm(ValidatedForm): fname_poc = StringField( "POC First Name", - # validators=[Required(), Alphabet()] + validators=[Required(), Alphabet()] ) lname_poc = StringField( "POC Last Name", - # validators=[Required(), Alphabet()] + validators=[Required(), Alphabet()] ) email_poc = EmailField( "POC Email Address", - # validators=[Required(), Email()] + validators=[Required(), Email()] ) dodid_poc = StringField( "DOD ID", - # validators=[Required(), Length(min=10), IsNumber()] + validators=[Required(), Length(min=10), IsNumber()] ) diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index 50760b7d..a1bec13b 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -1,86 +1,182 @@ {% extends '../requests_new.html.to' %} {% block subtitle %} -

Review & Submit

+

Review & Submit

{% end %} {% block form_action %} -
-{% end %} + + {% end %} -{% block form %} + {% block form %} -{% autoescape None %} -{% if f.errors %} -There were some errors, see below. -{% end %} + {% autoescape None %} + {% if f.errors %} + There were some errors, see below. + {% end %} -

Before you can submit your request, please take a moment to review the information entered in the form. You may make changes by clicking the edit link on each section. When all information looks right, go ahead and submit.

+

Before you can submit your request, please take a moment to review the information entered in the form. You may make changes by clicking the edit link on each section. When all information looks right, go ahead and submit.

+ +

Details of Use Edit

+ +
+
DoD Component
+
{{data['details_of_use']['dod_component']}}
+
+ +
+
JEDI Usage
+
{{data['details_of_use']['jedi_usage']}}
+
+ +
+
Number of software systems
+
{{data['details_of_use']['num_software_systems']}}
+
+ +
+
JEDI Migration
+
{{data['details_of_use']['jedi_migration']}}
+
+ +
+
Rationalization of Software Systems
+
{{data['details_of_use']['rationalization_software_systems']}}
+
+ +
+
Technical Support Team
+
{{data['details_of_use']['technical_support_team']}}
+
+ +
+
Organization Providing Assistance
+
{{data['details_of_use']['organization_providing_assistance']}}
+
+ +
+
Engineering Assessment
+
{{data['details_of_use']['engineering_assessment']}}
+
+ +
+
Data Transfers
+
{{data['details_of_use']['data_transfers']}}
+
+ +
+
Expected Completion Date
+
{{data['details_of_use']['expected_completion_date']}}
+
+ +
+
Cloud Native
+
{{data['details_of_use']['cloud_native']}}
+
+ +
+
Estimated Monthly Spend
+
{{data['details_of_use']['estimated_monthly_spend']}}
+
+ +
+
Total Spend
+
{{data['details_of_use']['total_spend']}}
+
+ +
+
Number of User Sessions
+
{{data['details_of_use']['number_user_sessions']}}
+
+ +
+
Average Daily Traffic
+
{{data['details_of_use']['average_daily_traffic']}}
+
+ +
+
Start Date
+
{{data['details_of_use']['start_date']}}
+
+

Information About You Edit

-

Details of Use Edit

+
+
First Name
+
{{data['information_about_you']['fname_request']}}
+
+ +
+
Last Name
+
{{data['information_about_you']['lname_request']}}
+
+ +
+
Email Address
+
{{data['information_about_you']['email_request']}}
+
+ +
+
Phone Number
+
{{data['information_about_you']['phone_number']}}
+
+ +
+
Service Branch or Agency
+
{{data['information_about_you']['service_branch']}}
+
+ +
+
Citizenship
+
{{data['information_about_you']['citizenship']}}
+
+ +
+
Designation of Person
+
{{data['information_about_you']['designation']}}
+
+ +
+
Latest Information Assurance (IA) Training completion date
+
{{data['information_about_you']['date_latest_training']}}
+
- -{{data['details_of_use']['dod_component']}} +

Primary Point of Contact Edit

- -{{data['details_of_use']['jedi_usage']}} +
+
POC First Name
+
+
- -{{data['details_of_use']['num_software_systems']}} - - -{{data['details_of_use']['jedi_migration']}} - - -{{data['details_of_use']['rationalization_software_systems']}} - - -{{data['details_of_use']['technical_support_team']}} - - -{{data['details_of_use']['organization_providing_assistance']}} - - -{{data['details_of_use']['engineering_assessment']}} - - -{{data['details_of_use']['data_transfers']}} - - -{{data['details_of_use']['expected_completion_date']}} - - -{{data['details_of_use']['cloud_native']}} - - -{{data['details_of_use']['estimated_monthly_spend']}} - - -{{data['details_of_use']['total_spend']}} - - -{{data['details_of_use']['number_user_sessions']}} - - -{{data['details_of_use']['average_daily_traffic']}} - - -{{data['details_of_use']['start_date']}} - -
+
+
POC Last Name
+
+
+
+
POC Email Address
+
+
+
+
DOD ID
+
+
+fname_poc +lname_poc +email_poc +dodid_poc +
{% end %} {% block next %} {% if not can_submit %} - Please complete all required fields before submitting. +Please complete all required fields before submitting. {% end %} {% end %} diff --git a/templates/requests_new.html.to b/templates/requests_new.html.to index 8cd9194a..c38a036c 100644 --- a/templates/requests_new.html.to +++ b/templates/requests_new.html.to @@ -8,30 +8,30 @@
-
-
-

New Request

-
{% block subtitle %}{% end %}
-
+
+

New Request

+
{% block subtitle %}{% end %}
+
- {% block form_action %} - {% if request_id %} -
- {% else %} - - {% end %} +
+ {% block form_action %} + {% if request_id %} + + {% else %} + {% end %} + {% end %} - {% module xsrf_form_html() %} - {% block form %} - form goes here - {% end %} - {% block next %} - - {% end %} - + {% module xsrf_form_html() %} + {% block form %} + form goes here + {% end %} + {% block next %} + + {% end %} + -
+
From 432d1fced8022b58bfd852a88cbc8befa7e688ba Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 10:58:47 -0400 Subject: [PATCH 14/21] Add validations back, few updates to layout --- templates/requests/screen-4.html.to | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index a1bec13b..446057a5 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -147,29 +147,24 @@
POC First Name
-
+
{{data['primary_poc']['fname_poc']}}
POC Last Name
-
+
{{data['primary_poc']['lname_poc']}}
POC Email Address
-
+
{{data['primary_poc']['email_poc']}}
DOD ID
-
+
{{data['primary_poc']['dodid_poc']}}
-fname_poc -lname_poc -email_poc -dodid_poc - {% end %} From 8d4932d534331d9e183e010e7218391ed70f6a87 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 11:46:15 -0400 Subject: [PATCH 15/21] Add more options for data transfer quanitties --- atst/forms/request.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index bb38077f..1f40ebc9 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -67,7 +67,13 @@ class RequestForm(ValidatedForm): choices=[ ("null","Select an option"), ("less_than_100gb","Less than 100GB"), - ("...","- more options -"), + ("less_than_500gb","Less than 500GB"), + ("less_than_1tb","Less than 1TB"), + ("less_than_50tb","Less than 50TB"), + ("less_than_100tb","Less than 100TB"), + ("less_than_500tb","Less than 500TB"), + ("less_than_1pb","Less than 1PB"), + ("less_than_5pb","Less than 5PB"), ("above_10pb","Above 10PB")], ) @@ -75,10 +81,10 @@ class RequestForm(ValidatedForm): description="When do you expect to complete your migration to the JEDI Cloud?", choices=[ ("null","Select an option"), - ("less_than_1_month","< 1 month"), + ("less_than_1_month","Less than 1 month"), ("1_to_3_months","1-3 months"), ("3_to_6_months","3-6 months"), - ("more_than_12_months","12+ months")], + ("above_12_months","Above 12 months")], ) cloud_native = RadioField( From d7ab426a1cab4d4914f5dbed4368c39848a7db3d Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 14:17:19 -0400 Subject: [PATCH 16/21] Remove test --- tests/forms/test_request.py | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 tests/forms/test_request.py diff --git a/tests/forms/test_request.py b/tests/forms/test_request.py deleted file mode 100644 index 2b51a38a..00000000 --- a/tests/forms/test_request.py +++ /dev/null @@ -1,10 +0,0 @@ -import wtforms -import pytest -from atst.forms.request import RequestForm - -form = RequestForm() - - -def test_form_has_expected_fields(): - label = form.dollar_value.label - assert "estimated dollar value" in label.text From 6c2bc8ee8fe1ac58b8959cdba931dbb010f3866e Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 14:40:40 -0400 Subject: [PATCH 17/21] Update data transfers dropdown --- atst/forms/request.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/atst/forms/request.py b/atst/forms/request.py index 1f40ebc9..04f9bc25 100644 --- a/atst/forms/request.py +++ b/atst/forms/request.py @@ -67,13 +67,14 @@ class RequestForm(ValidatedForm): choices=[ ("null","Select an option"), ("less_than_100gb","Less than 100GB"), - ("less_than_500gb","Less than 500GB"), - ("less_than_1tb","Less than 1TB"), - ("less_than_50tb","Less than 50TB"), - ("less_than_100tb","Less than 100TB"), - ("less_than_500tb","Less than 500TB"), - ("less_than_1pb","Less than 1PB"), - ("less_than_5pb","Less than 5PB"), + ("100gb-500gb","100GB-500GB"), + ("500gb-1tb","500GB-1TB"), + ("1tb-50tb","1TB-50TB"), + ("50tb-100tb","50TB-100TB"), + ("100tb-500tb","100TB-500TB"), + ("500tb-1pb","500TB-1PB"), + ("1pb-5pb","1PB-5PB"), + ("5pb-10pb","5PB-10PB"), ("above_10pb","Above 10PB")], ) From ee0d0033ab03c9bf595f4e1f460fc255c28d2707 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 15:14:57 -0400 Subject: [PATCH 18/21] Update alert messages with alert modules --- templates/requests/screen-1.html.to | 5 ++++- templates/requests/screen-2.html.to | 5 ++++- templates/requests/screen-3.html.to | 5 ++++- templates/requests/screen-4.html.to | 10 ++++++++-- templates/requests/screen-5.html.to | 5 ++++- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/templates/requests/screen-1.html.to b/templates/requests/screen-1.html.to index b69fa167..8981ba84 100644 --- a/templates/requests/screen-1.html.to +++ b/templates/requests/screen-1.html.to @@ -8,7 +8,10 @@ {% autoescape None %} {% if f.errors %} -There were some errors, see below. + {% module Alert('There were some errors', + message="

Please see below.

", + level='error' + ) %} {% end %} diff --git a/templates/requests/screen-2.html.to b/templates/requests/screen-2.html.to index 20bdef27..50eb2078 100644 --- a/templates/requests/screen-2.html.to +++ b/templates/requests/screen-2.html.to @@ -8,7 +8,10 @@ {% autoescape None %} {% if f.errors %} -There were some errors, see below. + {% module Alert('There were some errors', + message="

Please see below.

", + level='error' + ) %} {% end %}

Please tell us more about you.

diff --git a/templates/requests/screen-3.html.to b/templates/requests/screen-3.html.to index 99c269ba..6ff32a34 100644 --- a/templates/requests/screen-3.html.to +++ b/templates/requests/screen-3.html.to @@ -8,7 +8,10 @@ {% autoescape None %} {% if f.errors %} -There were some errors, see below. + {% module Alert('There were some errors', + message="

Please see below.

", + level='error' + ) %} {% end %}

Please designate a Primary Point of Contact that will be responsible for owning the workspace in the JEDI Cloud.

diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index 446057a5..7ee74865 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -12,7 +12,10 @@ {% autoescape None %} {% if f.errors %} - There were some errors, see below. + {% module Alert('There were some errors', + message="

Please complete all required fields before submitting.

", + level='error' + ) %} {% end %}

Before you can submit your request, please take a moment to review the information entered in the form. You may make changes by clicking the edit link on each section. When all information looks right, go ahead and submit.

@@ -171,7 +174,10 @@ {% block next %} {% if not can_submit %} -Please complete all required fields before submitting. + {% module Alert('There were some errors', + message="

Please complete all required fields before submitting.

", + level='error' + ) %} {% end %} {% end %} diff --git a/templates/requests/screen-5.html.to b/templates/requests/screen-5.html.to index 35d52396..6b4f2a60 100644 --- a/templates/requests/screen-5.html.to +++ b/templates/requests/screen-5.html.to @@ -4,7 +4,10 @@ {% autoescape None %} {% if f.errors %} - There were some errors, see below. + {% module Alert('There were some errors', + message="

Please complete all the fields before submitting.

", + level='error' + ) %} {% end %} From 268b721c3316503761fc5702a0c260f4cba616e8 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 15:18:29 -0400 Subject: [PATCH 19/21] Remove paragraph lead class --- templates/requests/financial_verification.html.to | 2 +- templates/requests/screen-0.html.to | 2 +- templates/requests/screen-1.html.to | 2 +- templates/requests/screen-2.html.to | 2 +- templates/requests/screen-3.html.to | 2 +- templates/requests/screen-4.html.to | 2 +- templates/requests/screen-5.html.to | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/templates/requests/financial_verification.html.to b/templates/requests/financial_verification.html.to index dc1c4d71..df5b12ab 100644 --- a/templates/requests/financial_verification.html.to +++ b/templates/requests/financial_verification.html.to @@ -24,7 +24,7 @@ There were some errors, see below. {% end %} -

In order to get you access to the JEDI Cloud, we will need you to enter the details below that will help us verify and account for your Task Order.

+

In order to get you access to the JEDI Cloud, we will need you to enter the details below that will help us verify and account for your Task Order.

{{ f.task_order_id.label }} {{ f.task_order_id(placeholder="Example: 1234567899C0001") }} diff --git a/templates/requests/screen-0.html.to b/templates/requests/screen-0.html.to index 40e86680..6fe78374 100644 --- a/templates/requests/screen-0.html.to +++ b/templates/requests/screen-0.html.to @@ -3,7 +3,7 @@ {% block form %}

New JEDI Request

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus error omnis a, tenetur similique quo officiis voluptates eum recusandae dolorem minus dignissimos, magni consequatur, maxime debitis reprehenderit sint non iusto?

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus error omnis a, tenetur similique quo officiis voluptates eum recusandae dolorem minus dignissimos, magni consequatur, maxime debitis reprehenderit sint non iusto?

New Application Existing Application diff --git a/templates/requests/screen-1.html.to b/templates/requests/screen-1.html.to index 8981ba84..63db706e 100644 --- a/templates/requests/screen-1.html.to +++ b/templates/requests/screen-1.html.to @@ -15,7 +15,7 @@ {% end %} -

We’d like to know a little about how you plan to use JEDI Cloud services to process your request. Please answer the following questions to the best of your ability. Note that the CCPO does not directly help with migrating systems to JEDI Cloud. These questions are for learning about your cloud readiness and financial usage of the JEDI Cloud; your estimates will not be used for any department level reporting.

+

We’d like to know a little about how you plan to use JEDI Cloud services to process your request. Please answer the following questions to the best of your ability. Note that the CCPO does not directly help with migrating systems to JEDI Cloud. These questions are for learning about your cloud readiness and financial usage of the JEDI Cloud; your estimates will not be used for any department level reporting.

All fields are required, unless specified optional.

General

diff --git a/templates/requests/screen-2.html.to b/templates/requests/screen-2.html.to index 50eb2078..fb667dc5 100644 --- a/templates/requests/screen-2.html.to +++ b/templates/requests/screen-2.html.to @@ -14,7 +14,7 @@ ) %} {% end %} -

Please tell us more about you.

+

Please tell us more about you.

{% module TextInput(f.fname_request,placeholder='First Name') %} {% module TextInput(f.lname_request,placeholder='Last Name') %} diff --git a/templates/requests/screen-3.html.to b/templates/requests/screen-3.html.to index 6ff32a34..af4ea66f 100644 --- a/templates/requests/screen-3.html.to +++ b/templates/requests/screen-3.html.to @@ -14,7 +14,7 @@ ) %} {% end %} -

Please designate a Primary Point of Contact that will be responsible for owning the workspace in the JEDI Cloud.

+

Please designate a Primary Point of Contact that will be responsible for owning the workspace in the JEDI Cloud.

The Point of Contact will become the primary owner of the workspace created to use the JEDI Cloud. As a workspace owner, this person will have the ability to:

  • Create multiple application stacks and environments in the workspace to access the commercial cloud service provider portal
  • diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index 7ee74865..6756dbef 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -18,7 +18,7 @@ ) %} {% end %} -

    Before you can submit your request, please take a moment to review the information entered in the form. You may make changes by clicking the edit link on each section. When all information looks right, go ahead and submit.

    +

    Before you can submit your request, please take a moment to review the information entered in the form. You may make changes by clicking the edit link on each section. When all information looks right, go ahead and submit.

    Details of Use Edit

    diff --git a/templates/requests/screen-5.html.to b/templates/requests/screen-5.html.to index 6b4f2a60..e8642f1e 100644 --- a/templates/requests/screen-5.html.to +++ b/templates/requests/screen-5.html.to @@ -12,7 +12,7 @@

    Financial Verification

    -

    In order to get you access to the JEDI Cloud, we will need you to enter the details below that will help us verify and account for your Task Order.

    +

    In order to get you access to the JEDI Cloud, we will need you to enter the details below that will help us verify and account for your Task Order.

    {{ f.task_order_id.label }} {{ f.task_order_id(placeholder="Example: 1234567899C0001") }} From 912b267a3d886344939958cd80fdc365abb527ec Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 15:28:12 -0400 Subject: [PATCH 20/21] Normalize location and style for submiting the form --- atst/forms/poc.py | 4 ++-- templates/requests/screen-4.html.to | 6 +++++- templates/requests_new.html.to | 14 ++++++++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/atst/forms/poc.py b/atst/forms/poc.py index 48ab749b..24ce108b 100644 --- a/atst/forms/poc.py +++ b/atst/forms/poc.py @@ -8,12 +8,12 @@ from .validators import IsNumber, Alphabet class POCForm(ValidatedForm): fname_poc = StringField( "POC First Name", - validators=[Required(), Alphabet()] + validators=[Required()] ) lname_poc = StringField( "POC Last Name", - validators=[Required(), Alphabet()] + validators=[Required()] ) email_poc = EmailField( diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index 6756dbef..d1d42eee 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -179,5 +179,9 @@ level='error' ) %} {% end %} - + +
    + +
    + {% end %} diff --git a/templates/requests_new.html.to b/templates/requests_new.html.to index c38a036c..5a309f26 100644 --- a/templates/requests_new.html.to +++ b/templates/requests_new.html.to @@ -26,14 +26,20 @@ {% block form %} form goes here {% end %} - {% block next %} - - {% end %} - + + {% block next %} + +
    + +
    + + {% end %} + + {% end %} From acd5d899dde89694bd8b5769ef869e450b2dd8c4 Mon Sep 17 00:00:00 2001 From: Luis Cielak Date: Mon, 30 Jul 2018 15:32:43 -0400 Subject: [PATCH 21/21] Add icon-link class to edit buttons --- templates/requests/screen-4.html.to | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index d1d42eee..b7937cb9 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -20,7 +20,7 @@

    Before you can submit your request, please take a moment to review the information entered in the form. You may make changes by clicking the edit link on each section. When all information looks right, go ahead and submit.

    -

    Details of Use Edit

    +

    Details of Use Edit

    DoD Component
    @@ -103,7 +103,7 @@
    -

    Information About You Edit

    +

    Information About You Edit

    First Name
    @@ -146,7 +146,7 @@
    -

    Primary Point of Contact Edit

    +

    Primary Point of Contact Edit

    POC First Name