mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 15:57:23 -04:00
dont use has_permissions to check for platform admins
platform_admin is a separate concept to permissions, so by removing the checks for it from the current_user.has_permissions function, we can simplify things greatly. We already record on the user whether they're a platform admin anyway.
This commit is contained in:
@@ -19,12 +19,12 @@ from app.main.views.service_settings import (
|
||||
get_branding_as_dict,
|
||||
get_branding_as_value_and_label,
|
||||
)
|
||||
from app.utils import get_cdn_domain, user_has_permissions
|
||||
from app.utils import get_cdn_domain, user_is_platform_admin
|
||||
|
||||
|
||||
@main.route("/email-branding", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def email_branding():
|
||||
brandings = email_branding_client.get_all_email_branding()
|
||||
|
||||
@@ -47,7 +47,7 @@ def email_branding():
|
||||
@main.route("/email-branding/<branding_id>/edit", methods=['GET', 'POST'])
|
||||
@main.route("/email-branding/<branding_id>/edit/<logo>", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def update_email_branding(branding_id, logo=None):
|
||||
email_branding = email_branding_client.get_email_branding(branding_id)['email_branding']
|
||||
|
||||
@@ -98,7 +98,7 @@ def update_email_branding(branding_id, logo=None):
|
||||
@main.route("/email-branding/create", methods=['GET', 'POST'])
|
||||
@main.route("/email-branding/create/<logo>", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def create_email_branding(logo=None):
|
||||
form = ServiceCreateEmailBranding()
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@ from flask_login import login_required
|
||||
|
||||
from app import inbound_number_client
|
||||
from app.main import main
|
||||
from app.utils import user_has_permissions
|
||||
from app.utils import user_is_platform_admin
|
||||
|
||||
|
||||
@main.route('/inbound-sms-admin', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def inbound_sms_admin():
|
||||
data = inbound_number_client.get_all_inbound_sms_number_service()
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
from flask import redirect, render_template, request, url_for
|
||||
from flask_login import current_user, login_required
|
||||
from notifications_utils.international_billing_rates import (
|
||||
INTERNATIONAL_BILLING_RATES,
|
||||
)
|
||||
from notifications_utils.international_billing_rates import \
|
||||
INTERNATIONAL_BILLING_RATES
|
||||
from notifications_utils.template import HTMLEmailTemplate
|
||||
|
||||
from app import convert_to_boolean
|
||||
|
||||
@@ -3,12 +3,12 @@ from flask_login import login_required
|
||||
|
||||
from app import letter_jobs_client
|
||||
from app.main import main
|
||||
from app.utils import user_has_permissions
|
||||
from app.utils import user_is_platform_admin
|
||||
|
||||
|
||||
@main.route("/letter-jobs", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def letter_jobs():
|
||||
letter_jobs_list = letter_jobs_client.get_letter_jobs()
|
||||
|
||||
|
||||
@@ -10,12 +10,12 @@ from app.main.forms import (
|
||||
InviteOrgUserForm,
|
||||
SearchUsersForm,
|
||||
)
|
||||
from app.utils import user_has_permissions
|
||||
from app.utils import user_is_platform_admin
|
||||
|
||||
|
||||
@main.route("/organisations", methods=['GET'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def organisations():
|
||||
orgs = organisations_client.get_organisations()
|
||||
|
||||
@@ -27,7 +27,7 @@ def organisations():
|
||||
|
||||
@main.route("/organisations/add", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def add_organisation():
|
||||
form = CreateOrUpdateOrganisation()
|
||||
|
||||
@@ -46,7 +46,7 @@ def add_organisation():
|
||||
|
||||
@main.route("/organisations/<org_id>", methods=['GET'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def organisation_dashboard(org_id):
|
||||
organisation_services = organisations_client.get_organisation_services(org_id)
|
||||
|
||||
@@ -58,7 +58,7 @@ def organisation_dashboard(org_id):
|
||||
|
||||
@main.route("/organisations/<org_id>/edit", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def update_organisation(org_id):
|
||||
org = organisations_client.get_organisation(org_id)
|
||||
|
||||
@@ -83,7 +83,7 @@ def update_organisation(org_id):
|
||||
|
||||
@main.route("/organisations/<org_id>/users", methods=['GET'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def manage_org_users(org_id):
|
||||
users = sorted(
|
||||
user_api_client.get_users_for_organisation(org_id=org_id) + [
|
||||
@@ -103,7 +103,7 @@ def manage_org_users(org_id):
|
||||
|
||||
@main.route("/organisations/<org_id>/users/invite", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def invite_org_user(org_id):
|
||||
form = InviteOrgUserForm(
|
||||
invalid_email_address=current_user.email_address
|
||||
@@ -127,7 +127,7 @@ def invite_org_user(org_id):
|
||||
|
||||
@main.route("/organisations/<org_id>/users/<user_id>", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def edit_user_org_permissions(org_id, user_id):
|
||||
user = user_api_client.get_user(user_id)
|
||||
|
||||
@@ -139,7 +139,7 @@ def edit_user_org_permissions(org_id, user_id):
|
||||
|
||||
@main.route("/organisations/<org_id>/users/<user_id>/delete", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def remove_user_from_organisation(org_id, user_id):
|
||||
user = user_api_client.get_user(user_id)
|
||||
if request.method == 'POST':
|
||||
@@ -169,7 +169,7 @@ def remove_user_from_organisation(org_id, user_id):
|
||||
|
||||
@main.route("/organisations/<org_id>/cancel-invited-user/<invited_user_id>", methods=['GET'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def cancel_invited_org_user(org_id, invited_user_id):
|
||||
org_invite_api_client.cancel_invited_user(org_id=org_id, invited_user_id=invited_user_id)
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@ from app import service_api_client
|
||||
from app.main import main
|
||||
from app.main.forms import DateFilterForm
|
||||
from app.statistics_utils import get_formatted_percentage
|
||||
from app.utils import user_has_permissions
|
||||
from app.utils import user_is_platform_admin
|
||||
|
||||
|
||||
@main.route("/platform-admin")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def platform_admin():
|
||||
form = DateFilterForm(request.args)
|
||||
api_args = {'detailed': True,
|
||||
@@ -41,7 +41,7 @@ def platform_admin():
|
||||
@main.route("/platform-admin/live-services", endpoint='live_services')
|
||||
@main.route("/platform-admin/trial-services", endpoint='trial_services')
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def platform_admin_services():
|
||||
form = DateFilterForm(request.args)
|
||||
api_args = {'detailed': True,
|
||||
|
||||
@@ -5,12 +5,12 @@ from werkzeug.utils import redirect
|
||||
from app import provider_client
|
||||
from app.main import main
|
||||
from app.main.forms import ProviderForm
|
||||
from app.utils import user_has_permissions
|
||||
from app.utils import user_is_platform_admin
|
||||
|
||||
|
||||
@main.route("/providers")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def view_providers():
|
||||
providers = provider_client.get_all_providers()['provider_details']
|
||||
domestic_email_providers, domestic_sms_providers, intl_sms_providers = [], [], []
|
||||
@@ -32,7 +32,7 @@ def view_providers():
|
||||
|
||||
@main.route("/provider/<provider_id>/edit", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def edit_provider(provider_id):
|
||||
provider = provider_client.get_provider_by_id(provider_id)['provider_details']
|
||||
form = ProviderForm(active=provider['active'], priority=provider['priority'])
|
||||
@@ -46,7 +46,7 @@ def edit_provider(provider_id):
|
||||
|
||||
@main.route("/provider/<provider_id>")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def view_provider(provider_id):
|
||||
versions = provider_client.get_provider_versions(provider_id)
|
||||
return render_template('views/providers/provider.html', provider_versions=versions['data'])
|
||||
|
||||
@@ -43,7 +43,12 @@ from app.main.forms import (
|
||||
ServiceSwitchLettersForm,
|
||||
SMSPrefixForm,
|
||||
)
|
||||
from app.utils import email_safe, get_cdn_domain, user_has_permissions
|
||||
from app.utils import (
|
||||
email_safe,
|
||||
get_cdn_domain,
|
||||
user_has_permissions,
|
||||
user_is_platform_admin,
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings")
|
||||
@@ -212,7 +217,7 @@ def submit_request_to_go_live(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/switch-live")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def service_switch_live(service_id):
|
||||
service_api_client.update_service(
|
||||
current_service['id'],
|
||||
@@ -226,7 +231,7 @@ def service_switch_live(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/research-mode")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def service_switch_research_mode(service_id):
|
||||
service_api_client.update_service_with_properties(
|
||||
service_id,
|
||||
@@ -270,7 +275,7 @@ def update_service_permissions(service_id, permissions, sms_sender=None):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/can-send-email")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def service_switch_can_send_email(service_id):
|
||||
switch_service_permissions(service_id, 'email')
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
@@ -278,7 +283,7 @@ def service_switch_can_send_email(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/can-send-sms")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def service_switch_can_send_sms(service_id):
|
||||
switch_service_permissions(service_id, 'sms')
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
@@ -286,7 +291,7 @@ def service_switch_can_send_sms(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/email-auth")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def service_switch_email_auth(service_id):
|
||||
switch_service_permissions(service_id, 'email_auth')
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
@@ -294,7 +299,7 @@ def service_switch_email_auth(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/can-send-precompiled-letter")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def service_switch_can_send_precompiled_letter(service_id):
|
||||
switch_service_permissions(service_id, 'precompiled_letter')
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
@@ -690,7 +695,7 @@ def service_set_letter_contact_block(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/set-organisation-type", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def set_organisation_type(service_id):
|
||||
|
||||
form = OrganisationTypeForm(organisation_type=current_service.get('organisation_type'))
|
||||
@@ -715,7 +720,7 @@ def set_organisation_type(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/set-free-sms-allowance", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def set_free_sms_allowance(service_id):
|
||||
|
||||
form = FreeSMSAllowance(free_sms_allowance=billing_api_client.get_free_sms_fragment_limit_for_year(service_id))
|
||||
@@ -733,7 +738,7 @@ def set_free_sms_allowance(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/set-email-branding", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def service_set_email_branding(service_id):
|
||||
email_branding = email_branding_client.get_all_email_branding()
|
||||
|
||||
@@ -762,7 +767,7 @@ def service_set_email_branding(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/set-letter-branding", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def set_letter_branding(service_id):
|
||||
|
||||
form = LetterBranding(choices=email_branding_client.get_letter_email_branding().items())
|
||||
@@ -784,7 +789,7 @@ def set_letter_branding(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/link-service-to-organisation", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
@user_is_platform_admin
|
||||
def link_service_to_organisation(service_id):
|
||||
|
||||
organisations = organisations_client.get_organisations()
|
||||
|
||||
@@ -328,7 +328,7 @@ def add_service_template(service_id, template_type):
|
||||
|
||||
|
||||
def abort_403_if_not_admin_user():
|
||||
if not current_user.has_permissions(admin_override=True):
|
||||
if not current_user.platform_admin:
|
||||
abort(403)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user