diff --git a/atst/forms/data.py b/atst/forms/data.py index 957dd911..1db4a893 100644 --- a/atst/forms/data.py +++ b/atst/forms/data.py @@ -176,9 +176,13 @@ 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 "), - ("none", "Not planning to migrate any applications "), + ("on_premise", "Yes, migrating from an on-premise data center"), + ("cloud", "Yes, migrating from another cloud provider"), + ( + "both", + "Yes, migrating from an on-premise data center and another cloud provider", + ), + ("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 = [ diff --git a/atst/forms/task_order.py b/atst/forms/task_order.py index 5c062ae6..6e9d9ab9 100644 --- a/atst/forms/task_order.py +++ b/atst/forms/task_order.py @@ -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="", ) diff --git a/atst/routes/task_orders/new.py b/atst/routes/task_orders/new.py index 266bcf57..9b33c088 100644 --- a/atst/routes/task_orders/new.py +++ b/atst/routes/task_orders/new.py @@ -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, }, diff --git a/templates/task_orders/_new.html b/templates/task_orders/_new.html index 1f406b7f..ec860310 100644 --- a/templates/task_orders/_new.html +++ b/templates/task_orders/_new.html @@ -38,6 +38,7 @@
- Not sure how to describe your scope? Read some Sample Scopes to - get an idea of what is appropriate. + {{ "task_orders.new.app_info.sample_scope" | translate | safe }}
+ {{ OptionsInput(form.defense_component) }}-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. View JEDI Cloud Market Research +{{ "task_orders.new.app_info.market_research_paragraph" | translate | safe }}
diff --git a/translations.yaml b/translations.yaml index 61859980..88cd0186 100644 --- a/translations.yaml +++ b/translations.yaml @@ -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 link! + + # `{{ "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? Read some Sample Scopes 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.