mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-15 07:18:58 -04:00
organisation-dashboard
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
7
app/templates/org_nav.html
Normal file
7
app/templates/org_nav.html
Normal 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>
|
||||
34
app/templates/org_template.html
Normal file
34
app/templates/org_template.html
Normal 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 %}
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
|
||||
@@ -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 %}
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user