Merge pull request #625 from dod-ccpo/blank-slate-landing

Blank slate for no portfolios
This commit is contained in:
George Drummond 2019-02-12 10:19:58 -05:00 committed by GitHub
commit 6d5fcd76b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 56 additions and 3 deletions

View File

@ -15,7 +15,11 @@ from atst.models.permissions import Permissions
@portfolios_bp.route("/portfolios")
def portfolios():
portfolios = Portfolios.for_user(g.current_user)
return render_template("portfolios/index.html", page=5, portfolios=portfolios)
if portfolios:
return render_template("portfolios/index.html", page=5, portfolios=portfolios)
else:
return render_template("portfolios/blank_slate.html")
@portfolios_bp.route("/portfolios/<portfolio_id>/edit")

View File

@ -0,0 +1,19 @@
{% extends "base.html" %}
{% from "components/empty_state.html" import EmptyState %}
{% from "components/tooltip.html" import Tooltip %}
{% block global_sidenav %}
{% endblock %}
{% block content %}
{{
EmptyState(
action_href=url_for("task_orders.new", screen=1),
action_label=("portfolios.index.empty.start_button" | translate),
icon="cloud",
message=("portfolios.index.empty.title" | translate),
)
}}
{% endblock %}

View File

@ -1,6 +1,7 @@
from flask import url_for
from tests.factories import PortfolioFactory
from tests.factories import PortfolioFactory, UserFactory
from atst.utils.localization import translate
def test_update_portfolio_name(client, user_session):
@ -13,3 +14,29 @@ def test_update_portfolio_name(client, user_session):
)
assert response.status_code == 200
assert portfolio.name == "a cool new name"
def test_portfolio_index_with_existing_portfolios(client, user_session):
portfolio = PortfolioFactory.create()
user_session(portfolio.owner)
response = client.get(url_for("portfolios.portfolios"))
assert response.status_code == 200
assert portfolio.name.encode("utf8") in response.data
assert (
translate("portfolios.index.empty.start_button").encode("utf8")
not in response.data
)
def test_portfolio_index_without_existing_portfolios(client, user_session):
user = UserFactory.create()
user_session(user)
response = client.get(url_for("portfolios.portfolios"))
assert response.status_code == 200
assert (
translate("portfolios.index.empty.start_button").encode("utf8") in response.data
)

View File

@ -7,7 +7,6 @@
# `{{ "login.title" | translate | safe }}`
audit_log:
events:
default:
@ -482,6 +481,10 @@ task_orders:
submitted_by: Below is an overview of the projected portfolio submitted by {name}
task_order_information: Task Order Information
portfolios:
index:
empty:
title: You have no apps yet
start_button: Start a New JEDI Portfolio
applications:
add_application_text: Add A New Application
app_settings_text: App Settings