Use new form
This commit is contained in:
parent
be192081bc
commit
93545d2dc9
@ -122,10 +122,7 @@ class ShowTaskOrderWorkflow:
|
|||||||
|
|
||||||
def can_edit_pf_attributes(self, portfolio_id=None):
|
def can_edit_pf_attributes(self, portfolio_id=None):
|
||||||
if self.task_order:
|
if self.task_order:
|
||||||
if (
|
if self.task_order.portfolio.num_task_orders > 1:
|
||||||
self.task_order.portfolio.num_task_orders > 1
|
|
||||||
or not portfolio_id is None
|
|
||||||
):
|
|
||||||
return False
|
return False
|
||||||
elif portfolio_id:
|
elif portfolio_id:
|
||||||
if self.get_portfolio(portfolio_id).num_task_orders > 0:
|
if self.get_portfolio(portfolio_id).num_task_orders > 0:
|
||||||
@ -237,6 +234,10 @@ def new(screen, task_order_id=None, portfolio_id=None):
|
|||||||
"form": workflow.form,
|
"form": workflow.form,
|
||||||
"complete": workflow.is_complete,
|
"complete": workflow.is_complete,
|
||||||
}
|
}
|
||||||
|
if not workflow.can_edit_pf_attributes(portfolio_id):
|
||||||
|
template_args["portfolio"] = workflow.get_portfolio(
|
||||||
|
user=g.current_user, portfolio_id=portfolio_id
|
||||||
|
)
|
||||||
|
|
||||||
if not workflow.can_edit_pf_attributes(portfolio_id):
|
if not workflow.can_edit_pf_attributes(portfolio_id):
|
||||||
template_args["portfolio"] = workflow.get_portfolio(portfolio_id=portfolio_id)
|
template_args["portfolio"] = workflow.get_portfolio(portfolio_id=portfolio_id)
|
||||||
@ -246,10 +247,11 @@ def new(screen, task_order_id=None, portfolio_id=None):
|
|||||||
if not TaskOrders.all_sections_complete(task_order):
|
if not TaskOrders.all_sections_complete(task_order):
|
||||||
flash("task_order_draft")
|
flash("task_order_draft")
|
||||||
|
|
||||||
if portfolio_id:
|
|
||||||
template_args["portfolio"] = Portfolios.get(g.current_user, portfolio_id)
|
|
||||||
if screen == 1:
|
if screen == 1:
|
||||||
workflow.form = task_order_form.AppInfoWithExistingPortfolioForm()
|
if portfolio_id or workflow.task_order.portfolio.num_task_orders > 1:
|
||||||
|
workflow.form = task_order_form.AppInfoWithExistingPortfolioForm(
|
||||||
|
obj=workflow.task_order
|
||||||
|
)
|
||||||
|
|
||||||
url_args = {"screen": screen}
|
url_args = {"screen": screen}
|
||||||
if task_order_id:
|
if task_order_id:
|
||||||
|
@ -48,10 +48,13 @@ def test_new_to_can_edit_pf_attributes_screen_1():
|
|||||||
assert workflow.can_edit_pf_attributes(portfolio.id)
|
assert workflow.can_edit_pf_attributes(portfolio.id)
|
||||||
|
|
||||||
|
|
||||||
def test_new_to_can_edit_pf_attributes_on_return_to_screen_1():
|
def test_new_pf_can_edit_pf_attributes_on_back_navigation():
|
||||||
portfolio = PortfolioFactory.create()
|
portfolio = PortfolioFactory.create()
|
||||||
workflow = ShowTaskOrderWorkflow(user=portfolio.owner)
|
pf_task_order = TaskOrderFactory(portfolio=portfolio)
|
||||||
assert workflow.can_edit_pf_attributes()
|
pf_workflow = ShowTaskOrderWorkflow(
|
||||||
|
user=pf_task_order.creator, task_order_id=pf_task_order.id
|
||||||
|
)
|
||||||
|
assert pf_workflow.can_edit_pf_attributes()
|
||||||
|
|
||||||
|
|
||||||
def test_to_on_pf_cannot_edit_pf_attributes():
|
def test_to_on_pf_cannot_edit_pf_attributes():
|
||||||
@ -60,10 +63,7 @@ def test_to_on_pf_cannot_edit_pf_attributes():
|
|||||||
|
|
||||||
workflow = ShowTaskOrderWorkflow(user=portfolio.owner)
|
workflow = ShowTaskOrderWorkflow(user=portfolio.owner)
|
||||||
assert portfolio.num_task_orders == 1
|
assert portfolio.num_task_orders == 1
|
||||||
# case: TO is created from am existing portfolio
|
|
||||||
assert not workflow.can_edit_pf_attributes(portfolio.id)
|
assert not workflow.can_edit_pf_attributes(portfolio.id)
|
||||||
# case: Portfolio is being created and user navigates back to app_info screen
|
|
||||||
assert workflow.can_edit_pf_attributes()
|
|
||||||
|
|
||||||
second_task_order = TaskOrderFactory(portfolio=portfolio)
|
second_task_order = TaskOrderFactory(portfolio=portfolio)
|
||||||
workflow = ShowTaskOrderWorkflow(
|
workflow = ShowTaskOrderWorkflow(
|
||||||
@ -72,6 +72,7 @@ def test_to_on_pf_cannot_edit_pf_attributes():
|
|||||||
assert portfolio.num_task_orders > 1
|
assert portfolio.num_task_orders > 1
|
||||||
assert not workflow.can_edit_pf_attributes()
|
assert not workflow.can_edit_pf_attributes()
|
||||||
|
|
||||||
|
|
||||||
def test_get_portfolio_when_task_order_exists():
|
def test_get_portfolio_when_task_order_exists():
|
||||||
portfolio = PortfolioFactory.create()
|
portfolio = PortfolioFactory.create()
|
||||||
task_order = TaskOrderFactory(portfolio=portfolio)
|
task_order = TaskOrderFactory(portfolio=portfolio)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user