Add two workflow methods

This commit is contained in:
Montana
2019-03-06 14:27:12 -05:00
parent 4a100f913f
commit be192081bc
2 changed files with 68 additions and 0 deletions

View File

@@ -120,6 +120,23 @@ class ShowTaskOrderWorkflow:
else:
return False
def can_edit_pf_attributes(self, portfolio_id=None):
if self.task_order:
if (
self.task_order.portfolio.num_task_orders > 1
or not portfolio_id is None
):
return False
elif portfolio_id:
if self.get_portfolio(portfolio_id).num_task_orders > 0:
return False
return True
def get_portfolio(self, portfolio_id=None):
if self.task_order:
return self.task_order.portfolio
return Portfolios.get(self.user, portfolio_id)
class UpdateTaskOrderWorkflow(ShowTaskOrderWorkflow):
def __init__(
@@ -221,6 +238,9 @@ def new(screen, task_order_id=None, portfolio_id=None):
"complete": workflow.is_complete,
}
if not workflow.can_edit_pf_attributes(portfolio_id):
template_args["portfolio"] = workflow.get_portfolio(portfolio_id=portfolio_id)
if task_order_id and screen is 4:
task_order = TaskOrders.get(g.current_user, task_order_id)
if not TaskOrders.all_sections_complete(task_order):