Update app_info section of form

This commit is contained in:
leigh-mil 2019-01-09 16:24:51 -05:00
parent 085ec0589a
commit b00210a92c
6 changed files with 77 additions and 34 deletions

View File

@ -176,8 +176,12 @@ FUNDING_TYPES = [
TASK_ORDER_SOURCES = [("MANUAL", "Manual"), ("EDA", "EDA")]
APP_MIGRATION = [
("on_premise", "Yes, migrating from an on-premise data center"),
("cloud", "Yes, migrating from another cloud provider "),
("on_premise", "Yes, migrating from an <strong>on-premise data center</strong>"),
("cloud", "Yes, migrating from <strong>another cloud provider</strong>"),
(
"both",
"Yes, migrating from an <strong>on-premise data center</strong> and <strong>another cloud provider</strong>",
),
("none", "Not planning to migrate any applications"),
("not_sure", "Not Sure"),
]
@ -193,11 +197,10 @@ PROJECT_COMPLEXITY = [
]
DEV_TEAM = [
("government", "Government"),
("civilians", "Civilians"),
("government_civilians", "Government Civilians"),
("military", "Military "),
("contractor", "Contractor "),
("other", "Other"),
("other", "Other (E.g. University or other partner)"),
]
TEAM_EXPERIENCE = [

View File

@ -21,52 +21,53 @@ from .data import (
DEV_TEAM,
TEAM_EXPERIENCE,
)
from atst.utils.localization import translate
class AppInfoForm(CacheableForm):
portfolio_name = StringField(
"Organization Portfolio Name",
description="The name of your office or organization. You can add multiple applications to your portfolio. Your task orders are used to pay for these applications and their environments",
translate("forms.task_order.portfolio_name_label"),
description=translate("forms.task_order.portfolio_name_description"),
)
scope = TextAreaField(
"Cloud Project Scope",
description="Your team's plan for using the cloud, such as migrating an existing application or creating a prototype.",
translate("forms.task_order.scope_label"),
description=translate("forms.task_order.scope_description"),
)
defense_component = SelectField(
"Department of Defense Component", choices=SERVICE_BRANCHES
translate("forms.task_order.defense_component_label"), choices=SERVICE_BRANCHES
)
app_migration = RadioField(
"App Migration",
description="Do you plan to migrate existing application(s) to the cloud?",
translate("forms.task_order.app_migration_label"),
description=translate("forms.task_order.app_migration_description"),
choices=APP_MIGRATION,
default="",
)
native_apps = RadioField(
"Native Apps",
description="Do you plan to develop application(s) natively in the cloud? ",
translate("forms.task_order.native_apps_label"),
description=translate("forms.task_order.native_apps_description"),
choices=[("yes", "Yes"), ("no", "No"), ("not_sure", "Not Sure")],
)
complexity = SelectMultipleField(
"Project Complexity",
description="Which of these describes how complex your team's use of the cloud will be? (Select all that apply.)",
translate("forms.task_order.complexity_label"),
description=translate("forms.task_order.complexity_description"),
choices=PROJECT_COMPLEXITY,
default="",
widget=ListWidget(prefix_label=False),
option_widget=CheckboxInput(),
)
complexity_other = StringField("Project Complexity Other")
complexity_other = StringField(translate("forms.task_order.complexity_other_label"))
dev_team = SelectMultipleField(
"Development Team",
description="Which people or teams will be completing the development work for your cloud applications?",
translate("forms.task_order.dev_team_label"),
description=translate("forms.task_order.dev_team_description"),
choices=DEV_TEAM,
default="",
widget=ListWidget(prefix_label=False),
option_widget=CheckboxInput(),
)
dev_team_other = StringField("Development Team Other")
dev_team_other = StringField(translate("forms.task_order.dev_team_other_label"))
team_experience = RadioField(
"Team Experience",
description="How much experience does your team have with development in the cloud?",
translate("forms.task_order.team_experience_label"),
description=translate("forms.task_order.team_experience_description"),
choices=TEAM_EXPERIENCE,
default="",
)

View File

@ -15,12 +15,13 @@ from atst.domain.workspaces import Workspaces
from atst.domain.workspace_roles import WorkspaceRoles
import atst.forms.task_order as task_order_form
from atst.services.invitation import Invitation as InvitationService
from atst.utils.localization import translate
TASK_ORDER_SECTIONS = [
{
"section": "app_info",
"title": "What You're Building",
"title": "What You're Making",
"template": "task_orders/new/app_info.html",
"form": task_order_form.AppInfoForm,
},

View File

@ -38,6 +38,7 @@
<div class='action-group'>
<input type='submit' class='usa-button usa-button-primary' value='Save & Continue' />
<input class='usa-button usa-button-secondary' value='Save Draft' />
</div>
{% endblock %}

View File

@ -6,42 +6,40 @@
{% from "components/multi_checkbox_input.html" import MultiCheckboxInput %}
{% block heading %}
What You're Building
{{ "task_orders.new.app_info.section_title"| translate }}
{% endblock %}
{% block form %}
<h3>Basic Information</h3>
<h3>{{ "task_orders.new.app_info.basic_info_title"| translate }}</h3>
{{ TextInput(form.portfolio_name, placeholder="The name of your office or organization") }}
{{ TextInput(form.scope, paragraph=True) }}
<p>
<i>
Not sure how to describe your scope? <a href="#">Read some Sample Scopes</a> to
get an idea of what is appropriate.
{{ "task_orders.new.app_info.sample_scope" | translate | safe }}
</i>
</p>
{{ OptionsInput(form.defense_component) }}
<hr>
<h3>About Your Project</h3>
<h3>{{ "task_orders.new.app_info.project_title" | translate }}</h3>
{{ OptionsInput(form.app_migration) }}
{{ OptionsInput(form.native_apps) }}
{{ MultiCheckboxInput(form.complexity, form.complexity_other) }}
<hr>
<h3>About Your Team</h3>
<h3>{{ "task_orders.new.app_info.team_title" | translate }}</h3>
{{ MultiCheckboxInput(form.dev_team, form.dev_team_other) }}
{{ OptionsInput(form.team_experience) }}
<hr>
<h3>Market Research</h3>
<h3>{{ "task_orders.new.app_info.market_research_title" | translate }}</h3>
<p>
The JEDI Cloud Computing Program Office (CCPO) has completed the market
research requirement for all related task orders. The Department of Defense CIO
has approved this research. <a href="#">View JEDI Cloud Market Research</a>
{{ "task_orders.new.app_info.market_research_paragraph" | translate | safe }}
</p>

View File

@ -1,3 +1,13 @@
# How to use text containing html tags in .html files:
# In the template add the `safe` filter when referencing the string
# from the template file. ie:
# login:
# title: A title with <a href="#">a link</a>!
# `{{ "login.title" | translate | safe }}`
audit_log:
events:
default:
@ -153,6 +163,24 @@ forms:
environment_names_required_validation_message: Provide at least one environment name.
environment_names_unique_validation_message: Environment names must be unique.
name_label: Project Name
task_order:
portfolio_name_label: Organization Portfolio Name
portfolio_name_description: The name of your office or organization. You can add multiple applications to your portfolio. Your task orders are used to pay for these applications and their environments.
scope_label: Cloud Project Scope
scope_description: Your team's plan for using the cloud, such as migrating an existing application or creating a prototype.
defense_component_label: Department of Defense Component
app_migration_label: App Migration
app_migration_description: Do you plan to migrate existing application(s) to the cloud?
native_apps_label: Native Apps
native_apps_description: Do you plan to develop application(s) natively in the cloud?
complexity_label: Project Complexity
complexity_description: Which of these describes how complex your team's use of the cloud will be? Select all that apply.
complexity_other_label: Project Complexity Other
dev_team_label: Development Team
dev_team_description: Which people or teams will be completing the development work for your cloud applications? Select all that apply.
dev_team_other_label: Development Team Other
team_experience_label: Team Experience
team_experience_description: How much experience does your team have with development in the cloud?
validators:
is_number_message: Please enter a valid number.
list_item_required_message: Please provide at least one.
@ -295,6 +323,17 @@ requests:
num_software_systems_tooltip: 'A software system can be any code that you plan to host on cloud infrastructure. For example, it could be a custom-developed web application, or a large ERP system.'
questions_title_text: Questions related to JEDI Cloud migration
rationalization_software_systems_tooltip: Rationalization is the DoD process to determine whether the application should move to the cloud.
task_orders:
new:
app_info:
section_title: "What You're Making"
basic_info_title: Basic information
sample_scope: |
Not sure how to describe your scope? <a href="#">Read some Sample Scopes</a> to get an idea of what is appropriate.
project_title: About your project
team_title: About your team
market_research_title: Market Research
market_research_paragraph: 'The JEDI Cloud Computing Program Office (CCPO) has completed the market research requirements for all related task orders. The Department of Defense CIO has approved this research.<br /><a href="#">View JEDI Market Research Memo</a>'
testing:
example_string: Hello World
example_with_variables: 'Hello, {name}!'