Add basic KO review form

This commit is contained in:
Montana
2019-01-25 11:17:08 -05:00
parent 3358aa99ba
commit f6a066f983
4 changed files with 74 additions and 1 deletions

38
atst/forms/ko_review.py Normal file
View File

@@ -0,0 +1,38 @@
from flask_wtf.file import FileAllowed
from wtforms.fields import StringField, TextAreaField, FileField
from wtforms.validators import Optional, Length, InputRequired
from .forms import CacheableForm
from .validators import IsNumber
from atst.utils.localization import translate
class KOReviewForm(CacheableForm):
pdf = FileField(
translate("forms.ko_review.pdf_label"),
validators=[
FileAllowed(["pdf"], translate("forms.ko_review.pdf_description")),
InputRequired(),
],
render_kw={"required": False},
)
to_number = StringField(
translate("forms.ko_review.to_number"),
validators=[
Length(min=10),
IsNumber(),
],
)
loa = StringField(
translate("forms.ko_review.loa"),
validators=[
Length(min=10),
IsNumber(),
],
)
custom_clauses = TextAreaField(
translate("forms.ko_review.custom_clauses_label"),
description=translate("forms.ko_review.custom_clauses_description"),
validators=[Optional()]
)

View File

@@ -9,6 +9,7 @@ from atst.domain.task_orders import TaskOrders
from atst.domain.portfolios import Portfolios
from atst.forms.officers import EditTaskOrderOfficersForm
from atst.models.task_order import Status as TaskOrderStatus
from atst.forms.ko_review import KOReviewForm
@portfolios_bp.route("/portfolios/<portfolio_id>/task_orders")
@@ -70,15 +71,27 @@ def view_task_order(portfolio_id, task_order_id):
@portfolios_bp.route("/portfolios/<portfolio_id>/task_order/<task_order_id>/review")
def review_task_order(portfolio_id, task_order_id):
def review_task_order(portfolio_id, task_order_id, form=None):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(g.current_user, task_order_id)
return render_template(
"/portfolios/task_orders/review.html",
portfolio=portfolio,
task_order=task_order,
form=form or KOReviewForm(),
)
@portfolios_bp.route("/portfolios/<portfolio_id>/task_order/<task_order_id>/submit_review", methods=["POST"])
def submit_review_task_order(portfolio_id, task_order_id, form=None):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(g.current_user, task_order_id)
form = KOReviewForm(http_request.form)
if form.validate():
return redirect(url_for("task_orders.view_task_order"))
else:
return review(portfolio.id, task_order.id)
@portfolios_bp.route(
"/portfolios/<portfolio_id>/task_order/<task_order_id>/invitations"