Merge pull request #1013 from dod-ccpo/fix-cancel-button

Update TO form cancel button behavior
This commit is contained in:
richard-dds
2019-08-09 09:50:38 -04:00
committed by GitHub
6 changed files with 57 additions and 25 deletions

View File

@@ -71,3 +71,9 @@ class TaskOrders(BaseDomainClass):
by_time_created = sorted(task_orders, key=lambda to: to.time_created)
by_status = sorted(by_time_created, key=lambda to: SORT_ORDERING.get(to.status))
return by_status
@classmethod
def delete(cls, task_order_id):
task_order = TaskOrders.get(task_order_id)
db.session.delete(task_order)
db.session.commit()

View File

@@ -43,7 +43,9 @@ class TaskOrder(Base, mixins.TimestampsMixin):
signer_dod_id = Column(String)
signed_at = Column(DateTime)
clins = relationship("CLIN", back_populates="task_order")
clins = relationship(
"CLIN", back_populates="task_order", cascade="all, delete-orphan"
)
@hybrid_property
def pdf(self):

View File

@@ -39,6 +39,7 @@ def render_task_orders_edit(template, portfolio_id=None, task_order_id=None, for
"task_orders.cancel_edit",
task_order_id=task_order_id,
portfolio_id=portfolio_id,
save=False,
)
return render_template(template, **render_args)
@@ -137,7 +138,9 @@ def submit_form_step_one_add_pdf(portfolio_id=None, task_order_id=None):
@task_orders_bp.route("/task_orders/<task_order_id>/form/cancel", methods=["POST"])
@user_can(Permissions.CREATE_TASK_ORDER, message="cancel task order form")
def cancel_edit(task_order_id=None, portfolio_id=None):
save = http_request.args.get("save", False)
# Either save the currently entered data, or delete the TO
save = http_request.args.get("save", "True").lower() == "true"
if save:
form_data = {**http_request.form}
form = None
@@ -155,6 +158,8 @@ def cancel_edit(task_order_id=None, portfolio_id=None):
task_order = TaskOrders.create(
g.current_user, portfolio_id, **form.data
)
elif not save and task_order_id:
TaskOrders.delete(task_order_id)
return redirect(
url_for("task_orders.portfolio_funding", portfolio_id=g.portfolio.id)