Merge pull request #1013 from dod-ccpo/fix-cancel-button
Update TO form cancel button behavior
This commit is contained in:
@@ -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()
|
||||
|
@@ -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):
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user