mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-01 04:09:46 -04:00
76 lines
1.9 KiB
Python
76 lines
1.9 KiB
Python
from flask import redirect, render_template, url_for
|
|
from flask_login import login_required
|
|
|
|
from app import organisations_client
|
|
from app.main import main
|
|
from app.main.forms import CreateOrUpdateOrganisation
|
|
from app.utils import user_has_permissions
|
|
|
|
|
|
@main.route("/organisations", methods=['GET'])
|
|
@login_required
|
|
@user_has_permissions(admin_override=True)
|
|
def organisations():
|
|
orgs = organisations_client.get_organisations()
|
|
|
|
return render_template(
|
|
'views/organisations/organisations.html',
|
|
organisations=orgs
|
|
)
|
|
|
|
|
|
@main.route("/organisation/<org_id>", methods=['GET'])
|
|
@login_required
|
|
@user_has_permissions(admin_override=True)
|
|
def view_organisation(org_id):
|
|
org = organisations_client.get_organisation(org_id)
|
|
|
|
return render_template(
|
|
'views/organisations/view-organisation.html',
|
|
organisation=org
|
|
)
|
|
|
|
|
|
@main.route("/organisation/<org_id>/edit", methods=['GET', 'POST'])
|
|
@login_required
|
|
@user_has_permissions(admin_override=True)
|
|
def update_organisation(org_id):
|
|
org = organisations_client.get_organisation(org_id)
|
|
|
|
form = CreateOrUpdateOrganisation()
|
|
|
|
if form.validate_on_submit():
|
|
organisations_client.update_organisation(
|
|
org_id=org_id,
|
|
name=form.name.data
|
|
)
|
|
|
|
return redirect(url_for('.organisations'))
|
|
|
|
form.name.data = org['name']
|
|
|
|
return render_template(
|
|
'views/organisations/manage-organisation.html',
|
|
form=form,
|
|
organisation=org
|
|
)
|
|
|
|
|
|
@main.route("/organisations/add", methods=['GET', 'POST'])
|
|
@login_required
|
|
@user_has_permissions(admin_override=True)
|
|
def add_organisation():
|
|
form = CreateOrUpdateOrganisation()
|
|
|
|
if form.validate_on_submit():
|
|
organisations_client.create_organisation(
|
|
name=form.name.data,
|
|
)
|
|
|
|
return redirect(url_for('.organisations'))
|
|
|
|
return render_template(
|
|
'views/organisations/manage-organisation.html',
|
|
form=form
|
|
)
|