organisation-dashboard

This commit is contained in:
chrisw
2018-02-13 14:49:03 +00:00
parent 41425481b3
commit 96b66829a1
9 changed files with 84 additions and 27 deletions

View File

@@ -84,6 +84,8 @@ billing_api_client = BillingAPIClient()
# The current service attached to the request stack.
current_service = LocalProxy(partial(_lookup_req_object, 'service'))
# The current organisation attached to the request stack.
current_organisation = LocalProxy(partial(_lookup_req_object, 'organisation'))
def create_app(application):
setup_commands(application)
@@ -156,6 +158,10 @@ def init_app(application):
def _attach_current_service():
return {'current_service': current_service}
@application.context_processor
def _attach_current_organisation():
return {'current_org': current_organisation}
@application.context_processor
def _attach_current_user():
return{'current_user': current_user}

View File

@@ -19,15 +19,17 @@ def organisations():
)
@main.route("/organisation/<org_id>", methods=['GET'])
@main.route("/organisation/<org_id>/dashboard", methods=['GET'])
@login_required
@user_has_permissions(admin_override=True)
def view_organisation(org_id):
def organisation_dashboard(org_id):
org = organisations_client.get_organisation(org_id)
organisation_services = organisations_client.get_organisation_services(org_id)
return render_template(
'views/organisations/view-organisation.html',
organisation=org
'views/organisations/organisation-dashboard.html',
organisation=org,
organisation_services=organisation_services
)

View File

@@ -32,11 +32,14 @@ class OrganisationsClient(NotifyAdminAPIClient):
def get_service_organisation(self, service_id):
return self.get(url="/service/{}/organisation".format(service_id))
def update_service_organisation(self, service_id, organisation_id):
def update_service_organisation(self, service_id, org_id):
data = {
'service_id': service_id
}
return self.post(
url="/organisations/{}/service".format(organisation_id),
url="/organisations/{}/service".format(org_id),
data=data
)
def get_organisation_services(self, org_id):
return self.get(url="/organisations/{}/services".format(org_id))

View File

@@ -0,0 +1,7 @@
<nav class="navigation">
<ul>
{% if current_user.has_permissions(admin_override=True, any_=True) %}
<li><a href="{{ url_for('.organisation_dashboard', org_id=current_service.id) }}">Dashboard</a></li>
{% endif %}
</ul>
</nav>

View File

@@ -0,0 +1,34 @@
{% extends "admin_template.html" %}
{% block per_page_title %}
{% block service_page_title %}{% endblock %} {{ current_service.name }}
{% endblock %}
{% block fullwidth_content %}
<div id="content">
<div class="navigation-service">
<div class="navigation-service-name">
{{ current_service.name }}
Hello
</div>
<a href="{{ url_for('main.choose_service') }}" class="navigation-service-switch">Switch service</a>
</div>
<div class="grid-row">
{% if help %}
<div class="column-one-third">
{% else %}
<div class="column-one-quarter">
{% endif %}
{% include "org_nav.html" %}
</div>
{% if help %}
<main role="main" class="column-two-thirds column-main">
{% else %}
<main role="main" class="column-three-quarters column-main">
{% endif %}
{% include 'flash_messages.html' %}
{% block maincolumn_content %}{% endblock %}
</main>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,24 @@
{% extends "org_template.html" %}
{% block per_page_title %}
{{ organisation['name'] }}
{% endblock %}
{% block service_page_title %}
{{ organisation['name'] }}
{% endblock %}
{% block maincolumn_content %}
<h1 class="heading-large">
{{ organisation['name'] }}
</h1>
<ul>
{% for service in organisation_services %}
<li class="browse-list-item">
<a href="{{ url_for('main.service_dashboard', service_id=service['id']) }}" class="browse-list-link">{{ service['name'] }}</a>
</li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -18,7 +18,7 @@
<ul>
{% for org in organisations %}
<li class="browse-list-item">
<a href="{{ url_for('main.view_organisation', org_id=org['id']) }}" class="browse-list-link">{{ org['name'] }}</a>
<a href="{{ url_for('main.organisation_dashboard', org_id=org['id']) }}" class="browse-list-link">{{ org['name'] }}</a>
{% if not org['active'] %}
<span class="table-field-status-default heading-medium">- archived</span>
{% endif %}

View File

@@ -1,20 +0,0 @@
{% extends "views/platform-admin/_base_template.html" %}
{% from "components/page-footer.html" import page_footer %}
{% block per_page_title %}
{{ organisation['name'] }}
{% endblock %}
{% block service_page_title %}
{{ organisation['name'] }}
{% endblock %}
{% block platform_admin_content %}
<h1 class="heading-large">
{{ organisation['name'] }}
</h1>
<p> [List of services] </p>
{% endblock %}

View File

@@ -9,6 +9,7 @@
<div class="navigation-service">
<div class="navigation-service-name">
{{ current_service.name }}
Hello
</div>
<a href="{{ url_for('main.choose_service') }}" class="navigation-service-switch">Switch service</a>
</div>