diff --git a/app/__init__.py b/app/__init__.py index 5ed77c29b..a6c9162c2 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -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} diff --git a/app/main/views/organisations.py b/app/main/views/organisations.py index 80b16f8e4..c4b6f14f1 100644 --- a/app/main/views/organisations.py +++ b/app/main/views/organisations.py @@ -19,15 +19,17 @@ def organisations(): ) -@main.route("/organisation/", methods=['GET']) +@main.route("/organisation//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 ) diff --git a/app/notify_client/organisations_api_client.py b/app/notify_client/organisations_api_client.py index 34b32f8c9..1d9d876c8 100644 --- a/app/notify_client/organisations_api_client.py +++ b/app/notify_client/organisations_api_client.py @@ -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)) diff --git a/app/templates/org_nav.html b/app/templates/org_nav.html new file mode 100644 index 000000000..ee0a50574 --- /dev/null +++ b/app/templates/org_nav.html @@ -0,0 +1,7 @@ + diff --git a/app/templates/org_template.html b/app/templates/org_template.html new file mode 100644 index 000000000..e542456cd --- /dev/null +++ b/app/templates/org_template.html @@ -0,0 +1,34 @@ +{% extends "admin_template.html" %} + +{% block per_page_title %} + {% block service_page_title %}{% endblock %} – {{ current_service.name }} +{% endblock %} + +{% block fullwidth_content %} +
+ +
+ {% if help %} +
+ {% else %} +
+ {% endif %} + {% include "org_nav.html" %} +
+ {% if help %} +
+ {% else %} +
+ {% endif %} + {% include 'flash_messages.html' %} + {% block maincolumn_content %}{% endblock %} +
+
+
+{% endblock %} diff --git a/app/templates/views/organisations/organisation-dashboard.html b/app/templates/views/organisations/organisation-dashboard.html new file mode 100644 index 000000000..5766ef223 --- /dev/null +++ b/app/templates/views/organisations/organisation-dashboard.html @@ -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 %} + +

+ {{ organisation['name'] }} +

+ + +{% endblock %} diff --git a/app/templates/views/organisations/organisations.html b/app/templates/views/organisations/organisations.html index dfc7af01e..4a6557a86 100644 --- a/app/templates/views/organisations/organisations.html +++ b/app/templates/views/organisations/organisations.html @@ -18,7 +18,7 @@
    {% for org in organisations %}
  • - {{ org['name'] }} + {{ org['name'] }} {% if not org['active'] %} - archived {% endif %} diff --git a/app/templates/views/organisations/view-organisation.html b/app/templates/views/organisations/view-organisation.html deleted file mode 100644 index 2c7946bb2..000000000 --- a/app/templates/views/organisations/view-organisation.html +++ /dev/null @@ -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 %} - -

    - {{ organisation['name'] }} -

    -

    [List of services]

    - - -{% endblock %} diff --git a/app/templates/withnav_template.html b/app/templates/withnav_template.html index f19a96e19..cabac5ab0 100644 --- a/app/templates/withnav_template.html +++ b/app/templates/withnav_template.html @@ -9,6 +9,7 @@