Files
notifications-admin/app/main/views/pricing.py
Carlo Costino da84a18970 Ensure users are authenticated for most pages (#586)
* Ensure users are authenticated for most pages

This changeset makes sure that users must be authenticated and logged in to view most pages of the Notify service.  We are moving to a model where only the home page and a select few others will be publicly accessible for the time being.

Signed-off-by: Carlo Costino <carlo.costino@gsa.gov>
2023-07-03 15:03:33 -04:00

52 lines
1.5 KiB
Python

from flask import current_app, render_template
from flask_login import current_user
from notifications_utils.international_billing_rates import (
INTERNATIONAL_BILLING_RATES,
)
from app.main import main
from app.main.forms import SearchByNameForm
from app.main.views.sub_navigation_dictionaries import using_notify_nav
from app.utils.user import user_is_logged_in
CURRENT_SMS_RATE = '1.72'
@main.route('/using-notify/pricing')
@user_is_logged_in
def pricing():
return render_template(
'views/pricing/index.html',
sms_rate=CURRENT_SMS_RATE,
international_sms_rates=sorted([
(cc, country['names'], country['billable_units'])
for cc, country in INTERNATIONAL_BILLING_RATES.items()
], key=lambda x: x[0]),
search_form=SearchByNameForm(),
navigation_links=using_notify_nav(),
)
@main.route('/pricing/how-to-pay')
@user_is_logged_in
def how_to_pay():
return render_template(
'views/pricing/how-to-pay.html',
navigation_links=using_notify_nav(),
)
@main.route('/pricing/billing-details')
@user_is_logged_in
def billing_details():
if current_user.is_authenticated:
return render_template(
'views/pricing/billing-details.html',
billing_details=current_app.config['NOTIFY_BILLING_DETAILS'],
navigation_links=using_notify_nav(),
)
return render_template(
'views/pricing/billing-details-signed-out.html',
navigation_links=using_notify_nav(),
)