Merge branch 'staging' into grid-styling
This commit is contained in:
commit
674f6363d5
@ -28,6 +28,7 @@ class PortfolioForm(BaseForm):
|
|||||||
|
|
||||||
class PortfolioCreationForm(PortfolioForm):
|
class PortfolioCreationForm(PortfolioForm):
|
||||||
defense_component = SelectMultipleField(
|
defense_component = SelectMultipleField(
|
||||||
|
translate("forms.portfolio.defense_component.title"),
|
||||||
choices=SERVICE_BRANCHES,
|
choices=SERVICE_BRANCHES,
|
||||||
widget=ListWidget(prefix_label=False),
|
widget=ListWidget(prefix_label=False),
|
||||||
option_widget=CheckboxInput(),
|
option_widget=CheckboxInput(),
|
||||||
|
@ -509,11 +509,7 @@ def resend_invite(application_id, application_role_id):
|
|||||||
token=new_invite.token,
|
token=new_invite.token,
|
||||||
)
|
)
|
||||||
|
|
||||||
flash(
|
flash("application_invite_resent", email=new_invite.email)
|
||||||
"application_invite_resent",
|
|
||||||
user_name=new_invite.user_name,
|
|
||||||
application_name=app_role.application.name,
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
flash(
|
flash(
|
||||||
"application_invite_error",
|
"application_invite_error",
|
||||||
|
@ -65,7 +65,7 @@ def resend_invitation(portfolio_id, portfolio_token):
|
|||||||
inviter_name=g.current_user.full_name,
|
inviter_name=g.current_user.full_name,
|
||||||
token=invite.token,
|
token=invite.token,
|
||||||
)
|
)
|
||||||
flash("resend_portfolio_invitation", user_name=invite.user_name)
|
flash("resend_portfolio_invitation", email=invite.email)
|
||||||
else:
|
else:
|
||||||
user_name = f"{form['user_data']['first_name'].data} {form['user_data']['last_name'].data}"
|
user_name = f"{form['user_data']['first_name'].data} {form['user_data']['last_name'].data}"
|
||||||
flash("resend_portfolio_invitation_error", user_name=user_name)
|
flash("resend_portfolio_invitation_error", user_name=user_name)
|
||||||
|
@ -29,7 +29,7 @@ MESSAGES = {
|
|||||||
"category": "error",
|
"category": "error",
|
||||||
},
|
},
|
||||||
"application_invite_resent": {
|
"application_invite_resent": {
|
||||||
"title": "flash.application_invite.resent.title",
|
"title": None,
|
||||||
"message": "flash.application_invite.resent.message",
|
"message": "flash.application_invite.resent.message",
|
||||||
"category": "success",
|
"category": "success",
|
||||||
},
|
},
|
||||||
@ -90,7 +90,7 @@ MESSAGES = {
|
|||||||
},
|
},
|
||||||
"insufficient_funds": {
|
"insufficient_funds": {
|
||||||
"title": "flash.task_order.insufficient_funds.title",
|
"title": "flash.task_order.insufficient_funds.title",
|
||||||
"message": "",
|
"message": None,
|
||||||
"category": "warning",
|
"category": "warning",
|
||||||
},
|
},
|
||||||
"logged_out": {
|
"logged_out": {
|
||||||
@ -109,8 +109,8 @@ MESSAGES = {
|
|||||||
"category": "success",
|
"category": "success",
|
||||||
},
|
},
|
||||||
"new_portfolio_member": {
|
"new_portfolio_member": {
|
||||||
"title": "flash.success",
|
"title": "flash.new_portfolio_member.title",
|
||||||
"message": "flash.new_portfolio_member",
|
"message": "flash.new_portfolio_member.message",
|
||||||
"category": "success",
|
"category": "success",
|
||||||
},
|
},
|
||||||
"portfolio_member_removed": {
|
"portfolio_member_removed": {
|
||||||
@ -124,7 +124,7 @@ MESSAGES = {
|
|||||||
"category": "success",
|
"category": "success",
|
||||||
},
|
},
|
||||||
"resend_portfolio_invitation": {
|
"resend_portfolio_invitation": {
|
||||||
"title": "flash.portfolio_invite.resent.title",
|
"title": None,
|
||||||
"message": "flash.portfolio_invite.resent.message",
|
"message": "flash.portfolio_invite.resent.message",
|
||||||
"category": "success",
|
"category": "success",
|
||||||
},
|
},
|
||||||
|
@ -101,7 +101,7 @@ export default {
|
|||||||
if (!!this.clinNumber) {
|
if (!!this.clinNumber) {
|
||||||
return `CLIN ${this.clinNumber}`
|
return `CLIN ${this.clinNumber}`
|
||||||
} else {
|
} else {
|
||||||
return `CLIN`
|
return `New CLIN`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
percentObligated: function() {
|
percentObligated: function() {
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
{{ TextInput(edit_form.name, validation='requiredField', optional=False) }}
|
{{ TextInput(edit_form.name, validation='requiredField', optional=False) }}
|
||||||
{{
|
{{
|
||||||
SaveButton(
|
SaveButton(
|
||||||
text=("common.save" | translate)
|
text=("common.save_changes" | translate)
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
</form>
|
</form>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
{{ sub_form.environment_name.data }}
|
{{ sub_form.environment_name.data }}
|
||||||
</div>
|
</div>
|
||||||
<div class="usa-input__help">
|
<div class="usa-input__help">
|
||||||
{{ role }}
|
{{ "portfolios.applications.members.roles.{}".format(role) | translate }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-col form-col--third">
|
<div class="form-col form-col--third">
|
||||||
@ -124,6 +124,6 @@
|
|||||||
{{ TextInput(member_form.email, validation='email', optional=False) }}
|
{{ TextInput(member_form.email, validation='email', optional=False) }}
|
||||||
{{ PhoneInput(member_form.phone_number, member_form.phone_ext)}}
|
{{ PhoneInput(member_form.phone_number, member_form.phone_ext)}}
|
||||||
{{ TextInput(member_form.dod_id, validation='dodId', optional=False) }}
|
{{ TextInput(member_form.dod_id, validation='dodId', optional=False) }}
|
||||||
<a href="#">How do I find the DoD ID?</a>
|
<a href="#">{{ "forms.new_member.dod_help" | translate }}</a>
|
||||||
</div>
|
</div>
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
{{ member_form.SubmitStep(
|
{{ member_form.SubmitStep(
|
||||||
name=modal_name,
|
name=modal_name,
|
||||||
form=member_fields.PermsFields(form=member.form, member_role_id=member.role_id),
|
form=member_fields.PermsFields(form=member.form, member_role_id=member.role_id),
|
||||||
submit_text="Update",
|
submit_text="common.save_changes"|translate,
|
||||||
previous=False,
|
previous=False,
|
||||||
modal=modal_name,
|
modal=modal_name,
|
||||||
) }}
|
) }}
|
||||||
@ -179,7 +179,7 @@
|
|||||||
member_form.SubmitStep(
|
member_form.SubmitStep(
|
||||||
name=new_member_modal_name,
|
name=new_member_modal_name,
|
||||||
form=member_fields.PermsFields(form=new_member_form, new=True),
|
form=member_fields.PermsFields(form=new_member_form, new=True),
|
||||||
submit_text="portfolios.applications.members.form.add_member"|translate,
|
submit_text="common.save_changes"|translate,
|
||||||
modal=new_member_modal_name,
|
modal=new_member_modal_name,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -27,13 +27,13 @@
|
|||||||
|
|
||||||
<span class="action-group-footer">
|
<span class="action-group-footer">
|
||||||
<a class="usa-button" href="{{ url_for('applications.settings', application_id=application_id) }}">
|
<a class="usa-button" href="{{ url_for('applications.settings', application_id=application_id) }}">
|
||||||
Return to Application Settings
|
{{ "portfolios.applications.new.step_3_button_text" | translate }}
|
||||||
</a>
|
</a>
|
||||||
<a class="usa-button usa-button-secondary" href="{{ url_for('applications.view_new_application_step_2', application_id=application.id) }}">
|
<a class="usa-button usa-button-secondary" href="{{ url_for('applications.view_new_application_step_2', application_id=application.id) }}">
|
||||||
Previous
|
{{ "common.previous" | translate }}
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ url_for('applications.portfolio_applications', portfolio_id=portfolio.id) }}">
|
<a href="{{ url_for('applications.portfolio_applications', portfolio_id=portfolio.id) }}">
|
||||||
Cancel
|
{{ "common.cancel" | translate }}
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@
|
|||||||
{{ CLINDollarAmount("obligated", funding_validation=True) }}
|
{{ CLINDollarAmount("obligated", funding_validation=True) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="h5 clin-card__title">Percent Obligated</div>
|
<div class="h5 clin-card__title">{{ "task_orders.form.step_3.percent_obligated" | translate }}</div>
|
||||||
<p id="percent-obligated" v-text='percentObligated'></p>
|
<p id="percent-obligated" v-text='percentObligated'></p>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -17,15 +17,6 @@
|
|||||||
{%- endif %}
|
{%- endif %}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel__body">
|
|
||||||
<hr>
|
|
||||||
<p>
|
|
||||||
{{ "common.lorem" | translate }}
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a href="#">More lorem</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -32,6 +32,6 @@
|
|||||||
{{ TextInput(member_form.email, validation='email', optional=False) }}
|
{{ TextInput(member_form.email, validation='email', optional=False) }}
|
||||||
{{ PhoneInput(member_form.phone_number, member_form.phone_ext)}}
|
{{ PhoneInput(member_form.phone_number, member_form.phone_ext)}}
|
||||||
{{ TextInput(member_form.dod_id, validation='dodId', optional=False) }}
|
{{ TextInput(member_form.dod_id, validation='dodId', optional=False) }}
|
||||||
<a href="#">How do I find the DoD ID?</a>
|
<a href="#">{{ "forms.new_member.dod_help" | translate }}</a>
|
||||||
</div>
|
</div>
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
<p>{{ "portfolios.header" | translate }}</p>
|
<p>{{ "portfolios.header" | translate }}</p>
|
||||||
<h1>{{ "New Portfolio" }}</h1>
|
<h1>{{ "New Portfolio" }}</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{ StickyCTA(text="portfolios.new.cta_step_1"|translate, context=("portfolios.new.sticky_header_context"|translate({"step": "1"}) )) }}
|
||||||
{{ StickyCTA(text="Create New Portfolio") }}
|
|
||||||
<base-form inline-template>
|
<base-form inline-template>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="portfolio-create" class="col" action="{{ url_for('portfolios.create_portfolio') }}" method="POST">
|
<form id="portfolio-create" class="col" action="{{ url_for('portfolios.create_portfolio') }}" method="POST">
|
||||||
@ -41,9 +40,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class='action-group-footer'>
|
<div class='action-group-footer'>
|
||||||
{% block next_button %}
|
{% block next_button %}
|
||||||
{{ SaveButton(text=('common.save' | translate), form="portfolio-create", element="input") }}
|
{{ SaveButton(text=('portfolios.new.save' | translate), form="portfolio-create", element="input") }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<a href="{{ url_for('atst.home') }}">
|
<a class="usa-button usa-button-secondary" href="{{ url_for('atst.home') }}">
|
||||||
Cancel
|
Cancel
|
||||||
</a>
|
</a>
|
||||||
</form>
|
</form>
|
||||||
@ -51,4 +50,3 @@
|
|||||||
</base-form>
|
</base-form>
|
||||||
</main>
|
</main>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
@ -5,15 +5,15 @@
|
|||||||
<section class="row">
|
<section class="row">
|
||||||
<div class='col col--grow summary-item'>
|
<div class='col col--grow summary-item'>
|
||||||
<h5 class="summary-item__header">
|
<h5 class="summary-item__header">
|
||||||
<span class="summary-item__header-text">Total Portfolio Value</span>
|
<span class="summary-item__header-text">{{ "portfolios.reports.total_value.header" | translate }}</span>
|
||||||
{{Tooltip(("common.lorem" | translate), title="", classes="summary-item__header-icon")}}
|
{{Tooltip(("portfolios.reports.total_value.tooltip" | translate), title="", classes="summary-item__header-icon")}}
|
||||||
</h5>
|
</h5>
|
||||||
<p class="summary-item__value">{{ total_portfolio_value | dollars }}</p>
|
<p class="summary-item__value">{{ total_portfolio_value | dollars }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class='col col--grow summary-item'>
|
<div class='col col--grow summary-item'>
|
||||||
<h5 class="summary-item__header">
|
<h5 class="summary-item__header">
|
||||||
<span class="summary-item__header-text">Funding Duration</span>
|
<span class="summary-item__header-text">{{ "portfolios.reports.duration.header" | translate }}</span>
|
||||||
{{Tooltip(("common.lorem" | translate), title="", classes="summary-item__header-icon")}}
|
{{Tooltip(("portfolios.reports.duration.tooltip" | translate), title="", classes="summary-item__header-icon")}}
|
||||||
</h5>
|
</h5>
|
||||||
{% set earliest_pop_start_date, latest_pop_end_date = portfolio.funding_duration %}
|
{% set earliest_pop_start_date, latest_pop_end_date = portfolio.funding_duration %}
|
||||||
{% if earliest_pop_start_date and latest_pop_end_date %}
|
{% if earliest_pop_start_date and latest_pop_end_date %}
|
||||||
@ -28,8 +28,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class='col col--grow summary-item'>
|
<div class='col col--grow summary-item'>
|
||||||
<h5 class="summary-item__header">
|
<h5 class="summary-item__header">
|
||||||
<span class="summary-item__header-text">Days Remaining</span>
|
<span class="summary-item__header-text">{{ "portfolios.reports.days_remaining.header" | translate }}</span>
|
||||||
{{Tooltip(("common.lorem" | translate), title="", classes="summary-item__header-icon")}}
|
{{Tooltip(("portfolios.reports.days_remaining.toolip" | translate), title="", classes="summary-item__header-icon")}}
|
||||||
</h5>
|
</h5>
|
||||||
<p class="summary-item__value">{{ portfolio.days_to_funding_expiration }} days</p>
|
<p class="summary-item__value">{{ portfolio.days_to_funding_expiration }} days</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,16 +11,7 @@
|
|||||||
<section class="row">
|
<section class="row">
|
||||||
<div class='col col--grow summary-item'>
|
<div class='col col--grow summary-item'>
|
||||||
<h4 class="summary-item__header">
|
<h4 class="summary-item__header">
|
||||||
<span class="summary-item__header-text">Total obligated funds</span>
|
<span class="summary-item__header-text">{{ 'task_orders.summary.total' | translate }}</span>
|
||||||
{{ Tooltip(("task_orders.review.tooltip.obligated_funds" | translate), title="", classes="summary-item__header-icon") }}
|
|
||||||
</h4>
|
|
||||||
<p class="summary-item__value--large">
|
|
||||||
{{ obligated_funds | dollars }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class='col col--grow summary-item'>
|
|
||||||
<h4 class="summary-item__header">
|
|
||||||
<span class="summary-item__header-text">Total Task Order value</span>
|
|
||||||
{{ Tooltip(("task_orders.review.tooltip.total_value" | translate), title="", classes="summary-item__header-icon") }}
|
{{ Tooltip(("task_orders.review.tooltip.total_value" | translate), title="", classes="summary-item__header-icon") }}
|
||||||
</h4>
|
</h4>
|
||||||
<p class="summary-item__value--large">
|
<p class="summary-item__value--large">
|
||||||
@ -29,7 +20,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class='col col--grow summary-item'>
|
<div class='col col--grow summary-item'>
|
||||||
<h4 class="summary-item__header">
|
<h4 class="summary-item__header">
|
||||||
<span class="summary-item__header-text">Total expended funds</span>
|
<span class="summary-item__header-text">{{ 'task_orders.summary.obligated' | translate }}</span>
|
||||||
|
{{ Tooltip(("task_orders.review.tooltip.obligated_funds" | translate), title="", classes="summary-item__header-icon") }}
|
||||||
|
</h4>
|
||||||
|
<p class="summary-item__value--large">
|
||||||
|
{{ obligated_funds | dollars }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class='col col--grow summary-item'>
|
||||||
|
<h4 class="summary-item__header">
|
||||||
|
<span class="summary-item__header-text">{{ 'task_orders.summary.expended' | translate }}</span>
|
||||||
{{ Tooltip(("task_orders.review.tooltip.expended_funds" | translate), title="", classes="summary-item__header-icon") }}
|
{{ Tooltip(("task_orders.review.tooltip.expended_funds" | translate), title="", classes="summary-item__header-icon") }}
|
||||||
</h4>
|
</h4>
|
||||||
<p class="summary-item__value--large">
|
<p class="summary-item__value--large">
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</section>
|
</section>
|
||||||
<hr>
|
<hr>
|
||||||
<section>
|
<section>
|
||||||
<h4>Documents</h4>
|
<h4>{{ 'task_orders.form.step_4.documents' | translate }}</h4>
|
||||||
<div class="panel panel__content">
|
<div class="panel panel__content">
|
||||||
{% if builder_mode %}
|
{% if builder_mode %}
|
||||||
{{ Icon('ok', classes="icon--green icon--medium") }}
|
{{ Icon('ok', classes="icon--green icon--medium") }}
|
||||||
@ -52,7 +52,7 @@
|
|||||||
</section>
|
</section>
|
||||||
<hr>
|
<hr>
|
||||||
<section>
|
<section>
|
||||||
<h4>CLIN summary</h4>
|
<h4>{{ 'task_orders.form.step_4.clins' | translate }}</h4>
|
||||||
<table class="fixed-table-wrapper atat-table clin-summary">
|
<table class="fixed-table-wrapper atat-table clin-summary">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
|
|
||||||
{% call StickyCTA(text="common.task_orders"|translate) %}
|
{% call StickyCTA(text="common.task_orders"|translate) %}
|
||||||
{% if user_can(permissions.CREATE_TASK_ORDER) and task_orders %}
|
{% if user_can(permissions.CREATE_TASK_ORDER) and to_count > 0 %}
|
||||||
<a href="{{ url_for("task_orders.form_step_one_add_pdf", portfolio_id=portfolio.id) }}" class="usa-button usa-button-primary">
|
<a href="{{ url_for("task_orders.form_step_one_add_pdf", portfolio_id=portfolio.id) }}" class="usa-button usa-button-primary">
|
||||||
{{ "task_orders.add_new_button" | translate }}
|
{{ "task_orders.add_new_button" | translate }}
|
||||||
</a>
|
</a>
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
|
|
||||||
{% block to_builder_form_field %}
|
{% block to_builder_form_field %}
|
||||||
{{ TOFormStepHeader(
|
{{ TOFormStepHeader(
|
||||||
title='task_orders.form.supporting_docs_header' | translate,
|
title='task_orders.form.step_1.title' | translate,
|
||||||
description='task_orders.form.supporting_docs_text' | translate,
|
description='task_orders.form.step_1.description' | translate,
|
||||||
) }}
|
) }}
|
||||||
{{ UploadInput(form.pdf, portfolio.id) }}
|
{{ UploadInput(form.pdf, portfolio.id) }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
{% set next_button_text = 'task_orders.form.step_5.next_button' | translate %}
|
{% set next_button_text = 'task_orders.form.step_5.next_button' | translate %}
|
||||||
{% set previous_button_link = url_for("task_orders.form_step_four_review", task_order_id=task_order_id) %}
|
{% set previous_button_link = url_for("task_orders.form_step_four_review", task_order_id=task_order_id) %}
|
||||||
{% set step = "5" %}
|
{% set step = "5" %}
|
||||||
{% set sticky_cta_text = 'task_orders.form.sticky_header_text' | translate %}
|
{% set sticky_cta_text = 'task_orders.form.step_5.cta_text' | translate %}
|
||||||
|
|
||||||
{% block to_builder_form_field %}
|
{% block to_builder_form_field %}
|
||||||
{{ TOFormStepHeader(
|
{{ TOFormStepHeader(
|
||||||
|
@ -78,7 +78,7 @@ components:
|
|||||||
errors:
|
errors:
|
||||||
default_sub: An error has occured!
|
default_sub: An error has occured!
|
||||||
not_found: Page Not Found
|
not_found: Page Not Found
|
||||||
not_found_sub: Looks like that page does not exist!
|
not_found_sub: This page does not exist.
|
||||||
email:
|
email:
|
||||||
application_invite: "{inviter_name} has invited you to a JEDI cloud application"
|
application_invite: "{inviter_name} has invited you to a JEDI cloud application"
|
||||||
portfolio_invite: "{inviter_name} has invited you to a JEDI cloud portfolio"
|
portfolio_invite: "{inviter_name} has invited you to a JEDI cloud portfolio"
|
||||||
@ -98,8 +98,7 @@ flash:
|
|||||||
title: Application invitation error
|
title: Application invitation error
|
||||||
message: There was an error processing the invitation for {user_name} from {application_name}
|
message: There was an error processing the invitation for {user_name} from {application_name}
|
||||||
resent:
|
resent:
|
||||||
title: Application invitation resent
|
message: "{email} has been sent an invitation to access this Application"
|
||||||
message: You have successfully resent the invite for {user_name} from {application_name}
|
|
||||||
revoked:
|
revoked:
|
||||||
title: Application invitation revoked
|
title: Application invitation revoked
|
||||||
message: You have successfully revoked the invite for {user_name} from {application_name}
|
message: You have successfully revoked the invite for {user_name} from {application_name}
|
||||||
@ -137,7 +136,9 @@ flash:
|
|||||||
logged_out:
|
logged_out:
|
||||||
title: Logged out
|
title: Logged out
|
||||||
message: You've been logged out.
|
message: You've been logged out.
|
||||||
new_portfolio_member: 'You have successfully invited {user_name} to the portfolio.'
|
new_portfolio_member:
|
||||||
|
title: "{user_name}'s invitation has been sent"
|
||||||
|
message: "{user_name}'s access to this Portfolio is pending until they sign in for the first time."
|
||||||
new_ppoc_message: 'You have successfully added {ppoc_name} as the primary point of contact. You are no longer the PPoC.'
|
new_ppoc_message: 'You have successfully added {ppoc_name} as the primary point of contact. You are no longer the PPoC.'
|
||||||
new_ppoc_title: Primary point of contact updated
|
new_ppoc_title: Primary point of contact updated
|
||||||
portfolio_member:
|
portfolio_member:
|
||||||
@ -152,8 +153,7 @@ flash:
|
|||||||
message: An unexpected problem occurred with your request, please try again. If the problem persists, contact an administrator.
|
message: An unexpected problem occurred with your request, please try again. If the problem persists, contact an administrator.
|
||||||
portfolio_invite:
|
portfolio_invite:
|
||||||
resent:
|
resent:
|
||||||
title: Invitation resent
|
message: "{email} has been sent an invitation to access this Portfolio"
|
||||||
message: Successfully sent a new invitation to {user_name}.
|
|
||||||
error:
|
error:
|
||||||
title: Portfolio invitation error
|
title: Portfolio invitation error
|
||||||
message: There was an error processing the invitation for {user_name}.
|
message: There was an error processing the invitation for {user_name}.
|
||||||
@ -210,6 +210,7 @@ forms:
|
|||||||
label: Edit Applications
|
label: Edit Applications
|
||||||
description: Add, remove and edit applications in this Portfolio.
|
description: Add, remove and edit applications in this Portfolio.
|
||||||
dod_id_label: DoD ID
|
dod_id_label: DoD ID
|
||||||
|
dod_help: How do I find out the DoD ID?
|
||||||
email_label: Email address
|
email_label: Email address
|
||||||
first_name_label: First name
|
first_name_label: First name
|
||||||
funding:
|
funding:
|
||||||
@ -260,6 +261,7 @@ forms:
|
|||||||
marine_corps: Marine Corps
|
marine_corps: Marine Corps
|
||||||
navy: Navy
|
navy: Navy
|
||||||
other: Other
|
other: Other
|
||||||
|
title: Select DoD component(s) funding your Portfolio
|
||||||
validation_message: You must select at least one defense component.
|
validation_message: You must select at least one defense component.
|
||||||
help_text: |
|
help_text: |
|
||||||
<p>
|
<p>
|
||||||
@ -276,7 +278,7 @@ forms:
|
|||||||
upload_error: There was an error uploading your file. Please try again. If you encounter repeated problems uploading this file, please contact CCPO.
|
upload_error: There was an error uploading your file. Please try again. If you encounter repeated problems uploading this file, please contact CCPO.
|
||||||
size_error: The file you have selected is too large. Please choose a file no larger than 64MB.
|
size_error: The file you have selected is too large. Please choose a file no larger than 64MB.
|
||||||
filename_error: File names can only contain the characters A-Z, 0-9, space, hyphen, underscore, and period.
|
filename_error: File names can only contain the characters A-Z, 0-9, space, hyphen, underscore, and period.
|
||||||
number_description: Task order number (13 digits)
|
number_description: 13-Digit Task Order Number
|
||||||
pop_errors:
|
pop_errors:
|
||||||
date_order: PoP start date must be before end date.
|
date_order: PoP start date must be before end date.
|
||||||
range: Date must be between {start} and {end}.
|
range: Date must be between {start} and {end}.
|
||||||
@ -285,7 +287,7 @@ forms:
|
|||||||
start_past_contract: PoP start date must be before or on {date}.
|
start_past_contract: PoP start date must be before or on {date}.
|
||||||
start_pre_contract: PoP start date must be on or after {date}.
|
start_pre_contract: PoP start date must be on or after {date}.
|
||||||
clin_funding_errors:
|
clin_funding_errors:
|
||||||
obligated_amount_error: Obligated amount must be less than or equal to total amount
|
obligated_amount_error: Obligated funds can not exceed total CLIN value
|
||||||
funding_range_error: Dollar amount must be from $0.00 to $1,000,000,000.00
|
funding_range_error: Dollar amount must be from $0.00 to $1,000,000,000.00
|
||||||
validators:
|
validators:
|
||||||
is_number_message: Please enter a valid number.
|
is_number_message: Please enter a valid number.
|
||||||
@ -356,8 +358,8 @@ portfolios:
|
|||||||
'False': View Reporting
|
'False': View Reporting
|
||||||
'True': Edit Reporting
|
'True': Edit Reporting
|
||||||
applications:
|
applications:
|
||||||
add_environment: Create an Environment
|
add_environment: Add an Environment
|
||||||
add_member: Add New Member
|
add_member: Add Team Member
|
||||||
add_another_environment: Add another environment
|
add_another_environment: Add another environment
|
||||||
create_button: Create Application
|
create_button: Create Application
|
||||||
empty_state:
|
empty_state:
|
||||||
@ -384,7 +386,7 @@ portfolios:
|
|||||||
description: |
|
description: |
|
||||||
<div>
|
<div>
|
||||||
<p>
|
<p>
|
||||||
Add a brief one to two sentence description of your application. You should be able to reference your TO Description of Work.
|
Add a brief one to two sentence description of your Application. You should be able to reference your TO Description of Work.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<strong>Writer's Block? A description example includes:</strong>
|
<strong>Writer's Block? A description example includes:</strong>
|
||||||
@ -394,10 +396,11 @@ portfolios:
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
step_2_header: Add Environments to {application_name}
|
step_2_header: Add Environments to {application_name}
|
||||||
step_2_description: Development, Testing, Staging, and Production environments are included by default. However, you can add, edit, and delete environments based on the needs of your Application.
|
step_2_description: Production, Staging, Testing, and Development environments are included by default. However, you can add, edit, and delete environments based on the needs of your Application.
|
||||||
step_2_button_text: "Next: Add Members"
|
step_2_button_text: "Next: Add Members"
|
||||||
step_3_header: Add Members to {application_name}
|
step_3_header: Add Members to {application_name}
|
||||||
step_3_description: "To proceed, you will need each member's email address and DOD ID. Within this section, you will also assign Application-level permissions and environment-level roles for each member."
|
step_3_description: "To proceed, you will need each member's email address and DOD ID. Within this section, you will also assign Application-level permissions and environment-level roles for each member."
|
||||||
|
step_3_button_text: Save Application
|
||||||
create_new_env: Create a new environment.
|
create_new_env: Create a new environment.
|
||||||
create_new_env_info: Creating an environment gives you access to the Cloud Service Provider. This environment will function within the constraints of the task order, and any costs will be billed against the portfolio.
|
create_new_env_info: Creating an environment gives you access to the Cloud Service Provider. This environment will function within the constraints of the task order, and any costs will be billed against the portfolio.
|
||||||
csp_link: Cloud Service Provider Link
|
csp_link: Cloud Service Provider Link
|
||||||
@ -429,7 +432,7 @@ portfolios:
|
|||||||
description: Additional role controls are available in the CSP console. <a href="#"> Learn More </a>
|
description: Additional role controls are available in the CSP console. <a href="#"> Learn More </a>
|
||||||
revoke_warning: Save changes to revoke access, <strong>this can not be undone.</strong>
|
revoke_warning: Save changes to revoke access, <strong>this can not be undone.</strong>
|
||||||
suspended: Suspended access cannot be modified.
|
suspended: Suspended access cannot be modified.
|
||||||
next_button: "Next: Permissions"
|
next_button: "Next: Roles and Permissions"
|
||||||
app_perms:
|
app_perms:
|
||||||
title: Application Permissions
|
title: Application Permissions
|
||||||
description: Application permissions allow users to provision and modify applications and teams. <a href="#"> Learn More </a>
|
description: Application permissions allow users to provision and modify applications and teams. <a href="#"> Learn More </a>
|
||||||
@ -449,10 +452,25 @@ portfolios:
|
|||||||
perms_del_env:
|
perms_del_env:
|
||||||
'False': ""
|
'False': ""
|
||||||
'True': Delete Application
|
'True': Delete Application
|
||||||
|
roles:
|
||||||
|
ADMIN: Admin
|
||||||
|
BILLING_READ: Billing Read-only
|
||||||
|
CONTRIBUTOR: Contributor
|
||||||
header: PORTFOLIO
|
header: PORTFOLIO
|
||||||
|
new:
|
||||||
|
title: New Portfolio
|
||||||
|
cta_step_1: Name and Describe Portfolio
|
||||||
|
sticky_header_context: 'Step {step} of 1'
|
||||||
|
save: Save Portfolio
|
||||||
members:
|
members:
|
||||||
archive_button: Delete member
|
archive_button: Delete member
|
||||||
reports:
|
reports:
|
||||||
|
days_remaining:
|
||||||
|
header: Days Remaining
|
||||||
|
toolip: Days remaining are the days of funding remaining in the portfolio.
|
||||||
|
duration:
|
||||||
|
header: Funding Duration
|
||||||
|
tooltip: Funding duration is the period of time that there is a valid task order funding the portfolio.
|
||||||
estimate_warning: Reports displayed in JEDI are estimates and not a system of record.
|
estimate_warning: Reports displayed in JEDI are estimates and not a system of record.
|
||||||
empty_state:
|
empty_state:
|
||||||
message: Nothing to report.
|
message: Nothing to report.
|
||||||
@ -460,6 +478,9 @@ portfolios:
|
|||||||
can_create_applications: This portfolio has no cloud environments set up, so there is no spending data to report. Create an application with some cloud environments to get started.
|
can_create_applications: This portfolio has no cloud environments set up, so there is no spending data to report. Create an application with some cloud environments to get started.
|
||||||
cannot_create_applications: This portfolio has no cloud environments set up, so there is no spending data to report. Contact the portfolio owner to set up some cloud environments.
|
cannot_create_applications: This portfolio has no cloud environments set up, so there is no spending data to report. Contact the portfolio owner to set up some cloud environments.
|
||||||
action_label: 'Add a new application'
|
action_label: 'Add a new application'
|
||||||
|
total_value:
|
||||||
|
header: Total Portfolio Value
|
||||||
|
tooltip: Total portfolio value is all obligated and projected funds for all task orders in this portfolio.
|
||||||
task_orders:
|
task_orders:
|
||||||
add_new_button: Add New Task Order
|
add_new_button: Add New Task Order
|
||||||
review:
|
review:
|
||||||
@ -480,9 +501,9 @@ task_orders:
|
|||||||
total_value: All obligated and projected funds for the Task Order’s Base and Option CLINs.
|
total_value: All obligated and projected funds for the Task Order’s Base and Option CLINs.
|
||||||
expended_funds: All funds spend from the Task Order so far.
|
expended_funds: All funds spend from the Task Order so far.
|
||||||
form:
|
form:
|
||||||
add_clin: Add another CLIN
|
add_clin: Add Another CLIN
|
||||||
add_to_header: Add your task order
|
add_to_header: Enter the Task Order number
|
||||||
add_to_description: Now, refer to your document to find the 13-digit task order number. It should be located at lorem ipsum dolar. From now on we'll refer to this portion of funding by the recorded task order number.
|
add_to_description: Please input your 13-digit Task Order number. This number may be listed under "Order Number" if your Contracting Officer used form 1149, or "Delivery Order/Call No." if form 1155 was used. Moving forward, this portion of funding will be referenced by the recorded Task Order number.
|
||||||
clin_title: Enter Contract Line Items
|
clin_title: Enter Contract Line Items
|
||||||
clin_description: "Refer to your task order to locate your Contract Line Item Numbers (CLINs)."
|
clin_description: "Refer to your task order to locate your Contract Line Item Numbers (CLINs)."
|
||||||
clin_details: CLIN Details
|
clin_details: CLIN Details
|
||||||
@ -496,19 +517,25 @@ task_orders:
|
|||||||
draft_alert_message: You can return to the Task Order Builder to enter missing information. Once you are finished, you’ll be ready to submit this request.
|
draft_alert_message: You can return to the Task Order Builder to enter missing information. Once you are finished, you’ll be ready to submit this request.
|
||||||
total_funds_label: Total CLIN Value
|
total_funds_label: Total CLIN Value
|
||||||
obligated_funds_label: Obligated Funds
|
obligated_funds_label: Obligated Funds
|
||||||
pop: Period of Performance
|
pop: Period of Performance (PoP)
|
||||||
pop_end: End Date
|
pop_end: End Date
|
||||||
pop_end_alert: "A CLIN's period of performance must end before {end_date}."
|
pop_end_alert: "A CLIN's period of performance must end before {end_date}."
|
||||||
pop_example: "For example: 07 04 1776"
|
pop_example: "For example: 07 04 1776"
|
||||||
pop_start: Start Date
|
pop_start: Start Date
|
||||||
supporting_docs_header: Upload your supporting documentation
|
|
||||||
supporting_docs_size_limit: Your file may not exceed 64MB
|
supporting_docs_size_limit: Your file may not exceed 64MB
|
||||||
supporting_docs_text: Upload a single PDF containing all relevant information.
|
step_1:
|
||||||
|
title: Upload your approved Task Order (TO)
|
||||||
|
description: Upload your approved Task Order here. You are required to confirm you have the appropriate signature. You will have the ability to add additional approved Task Orders with more funding to this Portfolio in the future.
|
||||||
step_3:
|
step_3:
|
||||||
next_button: 'Next: Review Task Order'
|
next_button: 'Next: Review Task Order'
|
||||||
|
percent_obligated: '% of Funds Obligated'
|
||||||
|
step_4:
|
||||||
|
documents: Documents
|
||||||
|
clins: CLIN Summary
|
||||||
step_5:
|
step_5:
|
||||||
|
cta_text: Verify Your Information
|
||||||
description: Prior to submitting the Task Order, you must acknowledge, by marking the appropriate box below, that the uploaded Task Order is signed by an appropriate, duly warranted Contracting Officer who has the authority to execute the uploaded Task Order on your Agency’s behalf and has authorized you to upload the Task Order in accordance with Agency policy and procedures. You must further acknowledge, by marking the appropriate box below, that all information entered herein matches that of the submitted Task Order.
|
description: Prior to submitting the Task Order, you must acknowledge, by marking the appropriate box below, that the uploaded Task Order is signed by an appropriate, duly warranted Contracting Officer who has the authority to execute the uploaded Task Order on your Agency’s behalf and has authorized you to upload the Task Order in accordance with Agency policy and procedures. You must further acknowledge, by marking the appropriate box below, that all information entered herein matches that of the submitted Task Order.
|
||||||
next_button: 'Confirm & Submit'
|
next_button: 'Submit Task Order'
|
||||||
sticky_header_text: 'Add a Task Order'
|
sticky_header_text: 'Add a Task Order'
|
||||||
sticky_header_review_text: Review Changes
|
sticky_header_review_text: Review Changes
|
||||||
sticky_header_context: 'Step {step} of 5'
|
sticky_header_context: 'Step {step} of 5'
|
||||||
@ -525,6 +552,10 @@ task_orders:
|
|||||||
text: I acknowledge, by executing the confirmation above and submitting this verification, that I am subject to potential penalties that may include fines, imprisonment, or both, under the U.S. law and regulations for any false statement or misrepresentation in association with this Task Order submission or on any accompanying documentation.
|
text: I acknowledge, by executing the confirmation above and submitting this verification, that I am subject to potential penalties that may include fines, imprisonment, or both, under the U.S. law and regulations for any false statement or misrepresentation in association with this Task Order submission or on any accompanying documentation.
|
||||||
status_empty_state: 'This Portfolio has no {status} Task Orders.'
|
status_empty_state: 'This Portfolio has no {status} Task Orders.'
|
||||||
status_list_title: '{status} Task Orders'
|
status_list_title: '{status} Task Orders'
|
||||||
|
summary:
|
||||||
|
obligated: Total Obligated
|
||||||
|
total: Total Value
|
||||||
|
expended: Total Expended
|
||||||
JEDICLINType:
|
JEDICLINType:
|
||||||
JEDI_CLIN_1: 'IDIQ CLIN 0001 Unclassified IaaS/PaaS'
|
JEDI_CLIN_1: 'IDIQ CLIN 0001 Unclassified IaaS/PaaS'
|
||||||
JEDI_CLIN_2: 'IDIQ CLIN 0002 Classified IaaS/PaaS'
|
JEDI_CLIN_2: 'IDIQ CLIN 0002 Classified IaaS/PaaS'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user