show organisations on the choose-service page (name TBD)

layout as follows

```
ORG_1
  SERVICE_1
  SERVICE_2
--------------------
ORG_2
--------------------
SERVICE_3
SERVICE_4
--------------------
Add a new service...
```

* org 1 and 2 are organisations that the user has access to.
* Service 1 and 2 are part of org 1, AND the user has access to them.
  - There may be more services in org_1 that the user doesn't know
    about.
* Service 3 and 4 are services the user has access to.
  - They MAY be part of an organisation that the user does not know
    about. They can't be part of org_1 or org_2 tho.
This commit is contained in:
Leo Hemsted
2018-03-07 18:13:27 +00:00
parent ee665caa7d
commit b37613cbc6
3 changed files with 32 additions and 5 deletions

View File

@@ -1,19 +1,30 @@
from flask import redirect, render_template, session, url_for
from flask_login import current_user, login_required
from app import service_api_client
from app import user_api_client
from app.main import main
from app.notify_client.service_api_client import ServicesBrowsableItem
from app.notify_client.organisations_api_client import OrganisationBrowsableItem
from app.utils import is_gov_user
@main.route("/services")
@login_required
def choose_service():
orgs_and_services = user_api_client.get_organisations_and_services_for_user(current_user)
from pprint import pprint
pprint(orgs_and_services)
orgs_and_services['organisations'] = [
OrganisationBrowsableItem(org) for org in orgs_and_services['organisations']
]
orgs_and_services['services_without_organisations'] = [
ServicesBrowsableItem(x) for x in orgs_and_services['services_without_organisations']
]
return render_template(
'views/choose-service.html',
services=[ServicesBrowsableItem(x) for x in
service_api_client.get_active_services({'user_id': current_user.id})['data']],
organisations=orgs_and_services['organisations'],
services_without_organisations=orgs_and_services['services_without_organisations'],
can_add_service=is_gov_user(current_user.email_address)
)

View File

@@ -11,8 +11,25 @@
Choose service
</h1>
{{ browse_list(services) }}
{% for org in organisations %}
<div class="keyline-block">&nbsp;</div>
<div>
<div>
{{ browse_list([org]) }}
</div>
<div style="margin-left: 30px">
{{ browse_list(org.services) }}
</div>
</div>
{% endfor %}
{% if services_without_organisations %}
<div class="keyline-block">&nbsp;</div>
<div>
{{ browse_list(services_without_organisations) }}
</div>
{% endif %}
{% if can_add_service %}
<div class="keyline-block">&nbsp;</div>
{{ browse_list([
{
'title': 'Add a new service…',

View File

@@ -1,6 +1,5 @@
{% extends "withnav_template.html" %}
{% from "components/banner.html" import banner_wrapper %}
{% from "components/browse-list.html" import browse_list %}
{% from "components/table.html" import mapping_table, row, text_field, optional_text_field, edit_field, field, boolean_field with context %}
{% block service_page_title %}