Files
notifications-admin/app/main/views/agreement.py
Katie Smith f005d7a569 Refactor to split s3_client.py into multiple files
Separated s3_client.py into 3 files - for logos, CSV files and the MOU.
This helps to keep things clearer now that we need to add lots more logo
functions for letters.
2019-02-06 17:26:58 +00:00

50 lines
1.4 KiB
Python

from flask import abort, render_template, request, send_file, url_for
from flask_login import login_required
from app.main import main
from app.main.views.sub_navigation_dictionaries import features_nav
from app.s3_client.s3_mou_client import get_mou
from app.utils import AgreementInfo
@main.route('/agreement')
@login_required
def agreement():
agreement_info = AgreementInfo.from_current_user()
return render_template(
'views/{}.html'.format(agreement_info.as_jinja_template),
owner=agreement_info.owner,
navigation_links=features_nav(),
)
@main.route('/agreement.pdf')
@login_required
def download_agreement():
return send_file(**get_mou(
AgreementInfo.from_current_user().crown_status_or_404
))
@main.route('/agreement/<variant>', endpoint='public_agreement')
@main.route('/agreement/<variant>.pdf', endpoint='public_download_agreement')
def public_agreement(variant):
if variant not in {'crown', 'non-crown'}:
abort(404)
if request.endpoint == 'main.public_download_agreement':
return send_file(**get_mou(
organisation_is_crown=(variant == 'crown')
))
agreement_info = AgreementInfo.from_current_user()
return render_template(
'views/agreement-public.html',
owner=agreement_info.owner,
download_link=url_for('.public_download_agreement', variant=variant),
)