Fix merge conflicts

This commit is contained in:
Montana 2019-01-24 16:37:46 -05:00
parent 9d32a8e161
commit d4fd3fb262
5 changed files with 78 additions and 2 deletions

View File

@ -36,6 +36,15 @@ class Authorization(object):
def is_ccpo(cls, user): def is_ccpo(cls, user):
return user.atat_role.name == "ccpo" return user.atat_role.name == "ccpo"
@classmethod
def check_is_mo_or_cor(cls, user, task_order):
if (
task_order.contracting_officer_representative != user
and task_order.creator != user
):
message = "build Task Order {}".format(task_order.id)
raise UnauthorizedError(user, message)
@classmethod @classmethod
def check_is_ko(cls, user, task_order): def check_is_ko(cls, user, task_order):
if task_order.contracting_officer != user: if task_order.contracting_officer != user:

View File

@ -261,6 +261,7 @@ def get_started():
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new/<int:screen>") @task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new/<int:screen>")
def new(screen, task_order_id=None, portfolio_id=None): def new(screen, task_order_id=None, portfolio_id=None):
workflow = ShowTaskOrderWorkflow(g.current_user, screen, task_order_id) workflow = ShowTaskOrderWorkflow(g.current_user, screen, task_order_id)
Authorization.check_is_mo_or_cor(g.current_user, task_order)
return render_template( return render_template(
workflow.template, workflow.template,
current=screen, current=screen,
@ -283,6 +284,7 @@ def update(screen, task_order_id=None, portfolio_id=None):
workflow = UpdateTaskOrderWorkflow( workflow = UpdateTaskOrderWorkflow(
g.current_user, form_data, screen, task_order_id, portfolio_id g.current_user, form_data, screen, task_order_id, portfolio_id
) )
Authorization.check_is_mo_or_cor(g.current_user, task_order)
if workflow.validate(): if workflow.validate():
workflow.update() workflow.update()
return redirect( return redirect(

View File

@ -0,0 +1,50 @@
{% from "components/icon.html" import Icon %}
{% macro DatePicker(field) -%}
<date-selector inline-template>
<div class="usa-input date-picker" v-bind:class="{ 'usa-input--success': isDateValid }">
<input v-bind:value="formattedDate" type="hidden" />
<div class="usa-form-group usa-form-group-month">
<label>Month</label>
<input
max="12"
maxlength="2"
min="1"
type="number"
v-bind:class="{ 'usa-input-error': !isMonthValid }"
v-model="month"
/>
</div>
<div class="usa-form-group usa-form-group-day">
<label>Day</label>
<input
maxlength="2"
min="1"
type="number"
v-bind:class="{ 'usa-input-error': !isDayValid }"
v-bind:max="daysMaxCalculation"
v-model="day"
/>
</div>
<div class="usa-form-group usa-form-group-year">
<label>Year</label>
<input
maxlength="2"
type="number"
v-model="year"
/>
</div>
<div class="usa-form-group-date-ok" v-if="isDateValid">
{{ Icon("ok", classes="icon--green") }}
</div>
</div>
</date-selector>
{%- endmacro %}

View File

@ -16,8 +16,11 @@
{% include "fragments/flash.html" %} {% include "fragments/flash.html" %}
<form method='POST' action="{{ url_for('portfolios.submit_ko_review', portfolio_id=portfolio.id, task_order_id=task_order.id, form=form) }}" autocomplete="off" enctype="multipart/form-data"> {% block form_action %}
{{ form.csrf_token }} {% if task_order_id %}
<form method='POST' action="{{ url_for('portfolios.submit_ko_review', portfolio_id=portfolio_id, task_order_id=task_order_id, form=form) }}" autocomplete="off" enctype="multipart/form-data">
{% endif %}
{% endblock %}
{% block form %} {% block form %}

View File

@ -4,6 +4,7 @@
{% from "components/options_input.html" import OptionsInput %} {% from "components/options_input.html" import OptionsInput %}
{% from "components/date_input.html" import DateInput %} {% from "components/date_input.html" import DateInput %}
{% from "components/multi_checkbox_input.html" import MultiCheckboxInput %} {% from "components/multi_checkbox_input.html" import MultiCheckboxInput %}
{% from "components/datepicker.html" import DatePicker %}
{% block heading %} {% block heading %}
{{ "task_orders.new.app_info.section_title"| translate }} {{ "task_orders.new.app_info.section_title"| translate }}
@ -11,6 +12,17 @@
{% block form %} {% block form %}
<div class="usa-input">
<label>
<div class="usa-input__title">Date picker</div>
</label>
<span class="usa-form-hint">For example: 04 28 1986</span>
{{ DatePicker() }}
</div>
<!-- App Info Section --> <!-- App Info Section -->
<h3 class="task-order-form__heading subheading">{{ "task_orders.new.app_info.basic_info_title"| translate }}</h3> <h3 class="task-order-form__heading subheading">{{ "task_orders.new.app_info.basic_info_title"| translate }}</h3>
{{ TextInput(form.portfolio_name, placeholder="The name of your office or organization", validation="portfolioName") }} {{ TextInput(form.portfolio_name, placeholder="The name of your office or organization", validation="portfolioName") }}