mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-05 08:31:00 -04:00
Add mocked service ID to all service-specific pages
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from flask import render_template, jsonify, redirect, session
|
||||
from flask import render_template, jsonify, redirect, session, url_for
|
||||
from flask_login import login_required
|
||||
from app.main import main
|
||||
from app.main.dao import services_dao, users_dao
|
||||
@@ -13,6 +13,6 @@ def add_service():
|
||||
|
||||
user = users_dao.get_user_by_id(session['user_id'])
|
||||
services_dao.insert_new_service(form.service_name.data, user)
|
||||
return redirect('/dashboard')
|
||||
return redirect(url_for('.dashboard', service_id=123))
|
||||
else:
|
||||
return render_template('views/add-service.html', form=form)
|
||||
|
||||
@@ -6,12 +6,13 @@ from app.main import main
|
||||
from ._jobs import jobs
|
||||
|
||||
|
||||
@main.route("/dashboard")
|
||||
@main.route("/<int:service_id>/dashboard")
|
||||
@login_required
|
||||
def dashboard():
|
||||
def dashboard(service_id):
|
||||
return render_template(
|
||||
'views/dashboard.html',
|
||||
jobs=jobs,
|
||||
free_text_messages_remaining=560,
|
||||
spent_this_month='0.00'
|
||||
spent_this_month='0.00',
|
||||
service_id=service_id
|
||||
)
|
||||
|
||||
@@ -20,25 +20,25 @@ def verifymobile():
|
||||
return render_template('views/verify-mobile.html')
|
||||
|
||||
|
||||
@main.route("/send-email")
|
||||
@main.route("/<int:service_id>/send-email")
|
||||
@login_required
|
||||
def sendemail():
|
||||
def sendemail(service_id):
|
||||
return render_template('views/send-email.html')
|
||||
|
||||
|
||||
@main.route("/check-email")
|
||||
@main.route("/<int:service_id>/check-email")
|
||||
@login_required
|
||||
def checkemail():
|
||||
def checkemail(service_id):
|
||||
return render_template('views/check-email.html')
|
||||
|
||||
|
||||
@main.route("/manage-users")
|
||||
@main.route("/<int:service_id>/manage-users")
|
||||
@login_required
|
||||
def manageusers():
|
||||
return render_template('views/manage-users.html')
|
||||
def manageusers(service_id):
|
||||
return render_template('views/manage-users.html', service_id=service_id)
|
||||
|
||||
|
||||
@main.route("/api-keys")
|
||||
@main.route("/<int:service_id>/api-keys")
|
||||
@login_required
|
||||
def apikeys():
|
||||
return render_template('views/api-keys.html')
|
||||
def apikeys(service_id):
|
||||
return render_template('views/api-keys.html', service_id=service_id)
|
||||
|
||||
@@ -42,18 +42,19 @@ messages = [
|
||||
]
|
||||
|
||||
|
||||
@main.route("/jobs")
|
||||
@main.route("/<int:service_id>/jobs")
|
||||
@login_required
|
||||
def showjobs():
|
||||
def showjobs(service_id):
|
||||
return render_template(
|
||||
'views/jobs.html',
|
||||
jobs=jobs
|
||||
jobs=jobs,
|
||||
service_id=service_id
|
||||
)
|
||||
|
||||
|
||||
@main.route("/jobs/job")
|
||||
@main.route("/<int:service_id>/jobs/job")
|
||||
@login_required
|
||||
def showjob():
|
||||
def showjob(service_id):
|
||||
return render_template(
|
||||
'views/job.html',
|
||||
messages=messages,
|
||||
@@ -70,18 +71,20 @@ def showjob():
|
||||
uploaded_file_name='dispatch_20151114.csv',
|
||||
uploaded_file_time=now,
|
||||
template_used='Test message 1',
|
||||
flash_message=u'We’ve started sending your messages'
|
||||
flash_message=u'We’ve started sending your messages',
|
||||
service_id=service_id
|
||||
)
|
||||
|
||||
|
||||
@main.route("/jobs/job/notification/<string:notification_id>")
|
||||
@main.route("/<int:service_id>/jobs/job/notification/<string:notification_id>")
|
||||
@login_required
|
||||
def shownotification(notification_id):
|
||||
def shownotification(service_id, notification_id):
|
||||
return render_template(
|
||||
'views/notification.html',
|
||||
message=[
|
||||
message for message in messages if message['id'] == notification_id
|
||||
][0],
|
||||
delivered_at=now,
|
||||
uploaded_at=now
|
||||
uploaded_at=now,
|
||||
service_id=service_id
|
||||
)
|
||||
|
||||
@@ -11,18 +11,19 @@ service = {
|
||||
}
|
||||
|
||||
|
||||
@main.route("/service-settings")
|
||||
@main.route("/<int:service_id>/service-settings")
|
||||
@login_required
|
||||
def service_settings():
|
||||
def service_settings(service_id):
|
||||
return render_template(
|
||||
'views/service-settings.html',
|
||||
service=service
|
||||
service=service,
|
||||
service_id=service_id
|
||||
)
|
||||
|
||||
|
||||
@main.route("/service-settings/name", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/service-settings/name", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def name():
|
||||
def name(service_id):
|
||||
|
||||
form = ServiceNameForm()
|
||||
form.service_name.data = 'Service name'
|
||||
@@ -31,15 +32,16 @@ def name():
|
||||
return render_template(
|
||||
'views/service-settings/name.html',
|
||||
service=service,
|
||||
form=form
|
||||
form=form,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.confirm_name_change'))
|
||||
return redirect(url_for('.confirm_name_change', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/service-settings/name/confirm", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/service-settings/name/confirm", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def confirm_name_change():
|
||||
def confirm_name_change(service_id):
|
||||
|
||||
form = ConfirmPasswordForm()
|
||||
|
||||
@@ -47,39 +49,42 @@ def confirm_name_change():
|
||||
return render_template(
|
||||
'views/service-settings/confirm.html',
|
||||
heading='Change your service name',
|
||||
form=form
|
||||
form=form,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.service_settings'))
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/service-settings/request-to-go-live", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/service-settings/request-to-go-live", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def request_to_go_live():
|
||||
def request_to_go_live(service_id):
|
||||
if request.method == 'GET':
|
||||
return render_template(
|
||||
'views/service-settings/request-to-go-live.html',
|
||||
service=service
|
||||
service=service,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.service_settings'))
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/service-settings/status", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/service-settings/status", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def status():
|
||||
def status(service_id):
|
||||
if request.method == 'GET':
|
||||
return render_template(
|
||||
'views/service-settings/status.html',
|
||||
service=service
|
||||
service=service,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.confirm_status_change'))
|
||||
return redirect(url_for('.confirm_status_change', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/service-settings/status/confirm", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/service-settings/status/confirm", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def confirm_status_change():
|
||||
def confirm_status_change(service_id):
|
||||
|
||||
form = ConfirmPasswordForm()
|
||||
|
||||
@@ -88,27 +93,29 @@ def confirm_status_change():
|
||||
'views/service-settings/confirm.html',
|
||||
heading='Turn off all outgoing notifications',
|
||||
destructive=True,
|
||||
form=form
|
||||
form=form,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.service_settings'))
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/service-settings/delete", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/service-settings/delete", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def delete():
|
||||
def delete(service_id):
|
||||
if request.method == 'GET':
|
||||
return render_template(
|
||||
'views/service-settings/delete.html',
|
||||
service=service
|
||||
service=service,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.confirm_delete'))
|
||||
return redirect(url_for('.confirm_delete', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/service-settings/delete/confirm", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/service-settings/delete/confirm", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def confirm_delete():
|
||||
def confirm_delete(service_id):
|
||||
|
||||
form = ConfirmPasswordForm()
|
||||
|
||||
@@ -117,7 +124,8 @@ def confirm_delete():
|
||||
'views/service-settings/confirm.html',
|
||||
heading='Delete this service from Notify',
|
||||
destructive=True,
|
||||
form=form
|
||||
form=form,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.dashboard'))
|
||||
return redirect(url_for('.dashboard', service_id=service_id))
|
||||
|
||||
@@ -35,9 +35,9 @@ message_templates = [
|
||||
]
|
||||
|
||||
|
||||
@main.route("/sms/send", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/sms/send", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def sendsms():
|
||||
def sendsms(service_id):
|
||||
form = CsvUploadForm()
|
||||
if form.validate_on_submit():
|
||||
csv_file = form.file.data
|
||||
@@ -49,24 +49,25 @@ def sendsms():
|
||||
message = 'There was a problem with the file: {}'.format(
|
||||
csv_file.filename)
|
||||
flash(message)
|
||||
return redirect(url_for('.sendsms'))
|
||||
return redirect(url_for('.sendsms', service_id=service_id))
|
||||
|
||||
if not results['valid'] and not results['rejects']:
|
||||
message = "The file {} contained no data".format(csv_file.filename)
|
||||
flash(message, 'error')
|
||||
return redirect(url_for('.sendsms'))
|
||||
return redirect(url_for('.sendsms', service_id=service_id))
|
||||
|
||||
session[csv_file.filename] = results
|
||||
return redirect(url_for('.checksms', recipients=csv_file.filename))
|
||||
return redirect(url_for('.checksms', service_id=service_id, recipients=csv_file.filename))
|
||||
|
||||
return render_template('views/send-sms.html',
|
||||
message_templates=message_templates,
|
||||
form=form)
|
||||
form=form,
|
||||
service_id=service_id)
|
||||
|
||||
|
||||
@main.route("/sms/check", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/sms/check", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def checksms():
|
||||
def checksms(service_id):
|
||||
if request.method == 'GET':
|
||||
|
||||
recipients_filename = request.args.get('recipients')
|
||||
@@ -78,10 +79,11 @@ def checksms():
|
||||
return render_template(
|
||||
'views/check-sms.html',
|
||||
upload_result=upload_result,
|
||||
message_template=message_templates[0]['body']
|
||||
message_template=message_templates[0]['body'],
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.showjob'))
|
||||
return redirect(url_for('.showjob', service_id=service_id))
|
||||
|
||||
|
||||
def _build_upload_result(csv_file):
|
||||
|
||||
@@ -5,15 +5,18 @@ from app.main import main
|
||||
from app.main.forms import TemplateForm
|
||||
|
||||
|
||||
@main.route("/templates")
|
||||
@main.route("/<int:service_id>/templates")
|
||||
@login_required
|
||||
def manage_templates():
|
||||
return render_template('views/manage-templates.html')
|
||||
def manage_templates(service_id):
|
||||
return render_template(
|
||||
'views/manage-templates.html',
|
||||
service_id=service_id
|
||||
)
|
||||
|
||||
|
||||
@main.route("/templates/template", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/templates/template", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def add_template():
|
||||
def add_template(service_id):
|
||||
|
||||
form = TemplateForm()
|
||||
|
||||
@@ -24,15 +27,16 @@ def add_template():
|
||||
return render_template(
|
||||
'views/edit-template.html',
|
||||
h1='Edit template',
|
||||
form=form
|
||||
form=form,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.manage_templates'))
|
||||
return redirect(url_for('.manage_templates', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/templates/template/add", methods=['GET', 'POST'])
|
||||
@main.route("/<int:service_id>/templates/template/add", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def edit_template():
|
||||
def edit_template(service_id):
|
||||
|
||||
form = TemplateForm()
|
||||
|
||||
@@ -40,7 +44,8 @@ def edit_template():
|
||||
return render_template(
|
||||
'views/edit-template.html',
|
||||
h1='Add template',
|
||||
form=form
|
||||
form=form,
|
||||
service_id=service_id
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.manage_templates'))
|
||||
return redirect(url_for('.manage_templates', service_id=service_id))
|
||||
|
||||
@@ -19,6 +19,6 @@ def two_factor():
|
||||
if form.validate_on_submit():
|
||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
||||
login_user(user)
|
||||
return redirect(url_for('.dashboard'))
|
||||
return redirect(url_for('.dashboard', service_id=123))
|
||||
|
||||
return render_template('views/two-factor.html', form=form)
|
||||
|
||||
Reference in New Issue
Block a user