Merge pull request #1059 from dod-ccpo/pop-configs

PoP validation & Contract date configs
This commit is contained in:
leigh-mil
2019-09-10 09:35:46 -04:00
committed by GitHub
7 changed files with 167 additions and 28 deletions

View File

@@ -9,11 +9,13 @@ from wtforms.fields import (
from wtforms.fields.html5 import DateField
from wtforms.validators import Required, Optional, Length
from flask_wtf import FlaskForm
from datetime import datetime
from .data import JEDI_CLIN_TYPES
from .fields import SelectField
from .forms import BaseForm
from atst.utils.localization import translate
from flask import current_app as app
def coerce_enum(enum_inst):
@@ -52,17 +54,42 @@ class CLINForm(FlaskForm):
def validate(self, *args, **kwargs):
valid = super().validate(*args, **kwargs)
contract_start = datetime.strptime(
app.config.get("CONTRACT_START_DATE"), "%Y-%m-%d"
).date()
contract_end = datetime.strptime(
app.config.get("CONTRACT_END_DATE"), "%Y-%m-%d"
).date()
if (
self.start_date.data
and self.end_date.data
and self.start_date.data > self.end_date.data
):
self.start_date.errors.append(
translate("forms.task_order.start_date_error")
translate("forms.task_order.pop_errors.date_order")
)
return False
else:
return valid
valid = False
if self.start_date.data and self.start_date.data <= contract_start:
self.start_date.errors.append(
translate(
"forms.task_order.pop_errors.start",
{"date": contract_start.strftime("%b %d, %Y")},
)
)
valid = False
if self.end_date.data and self.end_date.data >= contract_end:
self.end_date.errors.append(
translate(
"forms.task_order.pop_errors.end",
{"date": contract_end.strftime("%b %d, %Y")},
)
)
valid = False
return valid
class AttachmentForm(BaseForm):

View File

@@ -22,6 +22,9 @@ def render_task_orders_edit(
):
render_args = extra_args or {}
render_args["contract_start"] = app.config.get("CONTRACT_START_DATE")
render_args["contract_end"] = app.config.get("CONTRACT_END_DATE")
if task_order_id:
task_order = TaskOrders.get(task_order_id)
portfolio_id = task_order.portfolio_id