mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-11 09:28:27 -04:00
Merge pull request #4092 from alphagov/org-billing
Add new 'Billing' page for organisations
This commit is contained in:
@@ -2,7 +2,15 @@ from collections import OrderedDict
|
||||
from datetime import datetime
|
||||
from functools import partial
|
||||
|
||||
from flask import flash, redirect, render_template, request, session, url_for
|
||||
from flask import (
|
||||
flash,
|
||||
redirect,
|
||||
render_template,
|
||||
request,
|
||||
send_file,
|
||||
session,
|
||||
url_for,
|
||||
)
|
||||
from flask_login import current_user
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from werkzeug.exceptions import abort
|
||||
@@ -44,6 +52,7 @@ from app.main.views.dashboard import (
|
||||
from app.main.views.service_settings import get_branding_as_value_and_label
|
||||
from app.models.organisation import AllOrganisations, Organisation
|
||||
from app.models.user import InvitedOrgUser, User
|
||||
from app.s3_client.s3_mou_client import get_mou
|
||||
from app.utils.csv import Spreadsheet
|
||||
from app.utils.user import user_has_permissions, user_is_platform_admin
|
||||
|
||||
@@ -640,3 +649,19 @@ def edit_organisation_billing_details(org_id):
|
||||
'views/organisations/organisation/settings/edit-organisation-billing-details.html',
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
@main.route("/organisations/<uuid:org_id>/billing")
|
||||
@user_is_platform_admin
|
||||
def organisation_billing(org_id):
|
||||
return render_template(
|
||||
'views/organisations/organisation/billing.html'
|
||||
)
|
||||
|
||||
|
||||
@main.route('/organisations/<uuid:org_id>/agreement.pdf')
|
||||
@user_is_platform_admin
|
||||
def organisation_download_agreement(org_id):
|
||||
return send_file(**get_mou(
|
||||
current_organisation.crown_status_or_404
|
||||
))
|
||||
|
||||
@@ -349,5 +349,8 @@ class OrgNavigation(Navigation):
|
||||
},
|
||||
'trial-services': {
|
||||
'organisation_trial_mode_services',
|
||||
},
|
||||
'billing': {
|
||||
'organisation_billing',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
{% if current_user.platform_admin %}
|
||||
<li><a class="govuk-link govuk-link--no-visited-state{{ org_navigation.is_selected('settings') }}" href="{{ url_for('.organisation_settings', org_id=current_org.id) }}">Settings</a></li>
|
||||
<li><a class="govuk-link govuk-link--no-visited-state{{ org_navigation.is_selected('trial-services') }}" href="{{ url_for('.organisation_trial_mode_services', org_id=current_org.id) }}">Trial mode services</a></li>
|
||||
<li><a class="govuk-link govuk-link--no-visited-state{{ org_navigation.is_selected('billing') }}" href="{{ url_for('.organisation_billing', org_id=current_org.id) }}">Billing</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
50
app/templates/views/organisations/organisation/billing.html
Normal file
50
app/templates/views/organisations/organisation/billing.html
Normal file
@@ -0,0 +1,50 @@
|
||||
{% extends "org_template.html" %}
|
||||
{% from "components/page-header.html" import page_header %}
|
||||
|
||||
{% block org_page_title %}
|
||||
Billing
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
{{ page_header("Billing", size="medium") }}
|
||||
<div class="govuk-grid-row">
|
||||
<div class="govuk-grid-column-five-sixths">
|
||||
<h2 class="heading-small">
|
||||
Data sharing and financial agreement
|
||||
</h2>
|
||||
|
||||
{% if current_org.agreement_signed_at %}
|
||||
<p class="govuk-body">
|
||||
Your organisation accepted version {{ current_org.agreement_signed_version }} of the GOV.UK Notify data sharing
|
||||
and financial agreement on {{ current_org.agreement_signed_at | format_date_normal }}.
|
||||
</p>
|
||||
<p class="govuk-body">
|
||||
{{ current_org.agreement_signed_by.name or current_org.agreement_signed_on_behalf_of_name }} signed the agreement
|
||||
on behalf of {{ current_org.name}}.
|
||||
</p>
|
||||
<p class="govuk-body">
|
||||
<a class="govuk-link govuk-link--no-visited-state"
|
||||
href="{{ url_for('.organisation_download_agreement', org_id=current_org.id) }}">Download the current version of the agreement
|
||||
</a>
|
||||
</p>
|
||||
{% elif current_org.agreement_signed %}
|
||||
<p class="govuk-body">
|
||||
{{ current_org.name}} has accepted the GOV.UK Notify data sharing and financial agreement.
|
||||
</p>
|
||||
<p class="govuk-body">
|
||||
<a class="govuk-link govuk-link--no-visited-state"
|
||||
href="{{ url_for('.organisation_download_agreement', org_id=current_org.id) }}">Download the current version of the agreement
|
||||
</a>
|
||||
</p>
|
||||
{% elif current_org.agreement_signed is false %}
|
||||
<p class="govuk-body">
|
||||
{{ current_org.name}} needs to accept the GOV.UK Notify data sharing and financial agreement.
|
||||
</p>
|
||||
{% elif current_org.agreement_signed is none %}
|
||||
<p class="govuk-body">
|
||||
{{ current_org.name}} has not accepted the GOV.UK Notify data sharing and financial agreement, but we have some service-specific agreements in place.
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user