Blank slate for no portfolios

This commit is contained in:
George Drummond 2019-02-11 14:08:56 -05:00
parent 20d1ffecd9
commit edc0c6539c
No known key found for this signature in database
GPG Key ID: 296DD6077123BF17
5 changed files with 71 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)
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

@ -2,6 +2,10 @@
white-space: nowrap;
}
.center {
text-align: center;
}
@mixin hide {
border: 0;
clip: rect(0 0 0 0);

View File

@ -0,0 +1,28 @@
{% 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),
)
}}
<div class="center">
{{
Tooltip(
message=("portfolios.index.empty.help_message" | translate),
title=("portfolios.index.empty.help_title" | translate),
)
}}
</div>
{% 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:
@ -481,6 +480,12 @@ 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
help_title: Should I do this?
help_message: TODO
start_button: Start a New JEDI Portfolio
applications:
add_application_text: Add A New Application
app_settings_text: App Settings