Determine agreement by service not user’s org

A user might not have a guessable organisation type, even if the service
they’re working on does have an organisation set. This can happen for
users with @nhs.net email addresses, for example.
This commit is contained in:
Chris Hill-Scott
2019-07-02 17:04:26 +01:00
parent 5368ddabbc
commit 1f02a2d3ab
5 changed files with 70 additions and 5 deletions

View File

@@ -8,6 +8,7 @@ from app.main import main
from app.main.forms import AcceptAgreementForm
from app.main.views.sub_navigation_dictionaries import features_nav
from app.s3_client.s3_mou_client import get_mou
from app.utils import user_has_permissions
@main.route('/agreement')
@@ -29,6 +30,15 @@ def service_agreement(service_id):
)
@main.route('/services/<uuid:service_id>/agreement.pdf')
@login_required
@user_has_permissions('manage_service')
def service_download_agreement(service_id):
return send_file(**get_mou(
current_service.organisation.crown_status_or_404
))
@main.route('/services/<uuid:service_id>/agreement/accept', methods=['GET', 'POST'])
@login_required
def service_accept_agreement(service_id):