From bb857822308a6dfc04d57ba5a63dbb46f2b8d162 Mon Sep 17 00:00:00 2001 From: Imdad Ahad Date: Tue, 25 Oct 2016 18:12:46 +0100 Subject: [PATCH] Remove link for adding service if nonwhitelist user --- app/main/views/choose_service.py | 8 ++++++-- app/templates/views/choose-service.html | 2 ++ tests/conftest.py | 16 ++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/main/views/choose_service.py b/app/main/views/choose_service.py index 4b5f27f47..48bf81e39 100644 --- a/app/main/views/choose_service.py +++ b/app/main/views/choose_service.py @@ -1,8 +1,11 @@ -from flask import (render_template, redirect, url_for, session) +import re + +from flask import (current_app, render_template, redirect, url_for, session) from flask_login import login_required, current_user from app.main import main from app import service_api_client from app.notify_client.service_api_client import ServicesBrowsableItem +from app.utils import user_in_whitelist @main.route("/services") @@ -11,7 +14,8 @@ def choose_service(): return render_template( 'views/choose-service.html', services=[ServicesBrowsableItem(x) for x in - service_api_client.get_services({'user_id': current_user.id})['data']] + service_api_client.get_services({'user_id': current_user.id})['data']], + can_add_service=user_in_whitelist(current_user.email_address) ) diff --git a/app/templates/views/choose-service.html b/app/templates/views/choose-service.html index 5087d2a3c..f55bda167 100644 --- a/app/templates/views/choose-service.html +++ b/app/templates/views/choose-service.html @@ -12,12 +12,14 @@ {{ browse_list(services) }} + {% if can_add_service %} {{ browse_list([ { 'title': 'Add a new service…', 'link': url_for('.add_service') }, ]) }} + {% endif %} {% endblock %} diff --git a/tests/conftest.py b/tests/conftest.py index d257e5c14..b976771d1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -487,6 +487,22 @@ def platform_admin_user(fake_uuid): return user +@pytest.fixture(scope='function') +def nonwhitelist_user(fake_uuid): + from app.notify_client.user_api_client import User + user_data = {'id': fake_uuid, + 'name': 'Platform admin user', + 'password': 'somepassword', + 'email_address': 'someuser@notonwhitelist.com', + 'mobile_number': '07700 900762', + 'state': 'active', + 'failed_login_count': 0, + 'permissions': {} + } + user = User(user_data) + return user + + @pytest.fixture(scope='function') def api_user_active(fake_uuid): from app.notify_client.user_api_client import User