Skip to content

Commit b922cab

Browse files
committed
Create a new URL converter for daily limit types.
1 parent 63d6d67 commit b922cab

File tree

7 files changed

+20
-13
lines changed

7 files changed

+20
-13
lines changed

app/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@
140140
from app.url_converters import (
141141
AgreementTypeConverter,
142142
BrandingTypeConverter,
143+
DailyLimitTypeConverter,
143144
LetterFileExtensionConverter,
144145
SimpleDateTypeConverter,
145146
TemplateTypeConverter,
@@ -271,6 +272,7 @@ def inject_global_template_variables():
271272
application.url_map.converters["uuid"].to_python = lambda self, value: value.lower()
272273
application.url_map.converters["agreement_type"] = AgreementTypeConverter
273274
application.url_map.converters["template_type"] = TemplateTypeConverter
275+
application.url_map.converters["daily_limit_type"] = DailyLimitTypeConverter
274276
application.url_map.converters["branding_type"] = BrandingTypeConverter
275277
application.url_map.converters["ticket_type"] = TicketTypeConverter
276278
application.url_map.converters["letter_file_extension"] = LetterFileExtensionConverter

app/main/views/service_settings/index.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -611,27 +611,27 @@ def set_per_day_international_sms_message_limit(service_id):
611611
"views/service-settings/set-message-limit-for-international-sms.html",
612612
form=form,
613613
error_summary_enabled=True,
614-
partials=get_daily_limit_partials(notification_type="international_sms"),
614+
partials=get_daily_limit_partials(daily_limit_type="international_sms"),
615615
updates_url=url_for(
616616
"json_updates.view_remaining_limit",
617617
service_id=service_id,
618-
notification_type="international_sms",
618+
daily_limit_type="international_sms",
619619
),
620620
)
621621

622622

623623
@json_updates.route(
624-
"/services/<uuid:service_id>/service-settings/<template_type:notification_type>/remaining-today.json"
624+
"/services/<uuid:service_id>/service-settings/<daily_limit_type:daily_limit_type>/remaining-today.json"
625625
)
626626
@user_has_permissions("manage_service")
627-
def view_remaining_limit(service_id, notification_type):
628-
return jsonify(**get_daily_limit_partials(notification_type=notification_type))
627+
def view_remaining_limit(service_id, daily_limit_type):
628+
return jsonify(**get_daily_limit_partials(daily_limit_type=daily_limit_type))
629629

630630

631-
def get_daily_limit_partials(notification_type):
631+
def get_daily_limit_partials(daily_limit_type):
632632
return {
633633
"remaining_limit": render_template(
634-
"partials/daily-limits/remaining-limit.html", notification_type=notification_type
634+
"partials/daily-limits/remaining-limit.html", daily_limit_type=daily_limit_type
635635
),
636636
}
637637

app/templates/partials/daily-limits/remaining-limit.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{% from "govuk_frontend_jinja/components/inset-text/macro.html" import govukInsetText %}
22

3-
{% set sent_today = current_service.sent_today(notification_type) %}
4-
{% set remaining_limit = current_service.remaining_messages(notification_type) %}
3+
{% set sent_today = current_service.sent_today(daily_limit_type) %}
4+
{% set remaining_limit = current_service.remaining_messages(daily_limit_type) %}
55

66
<div class="ajax-block-container">
77
{{ govukInsetText({
88
"text": "You have sent {} today ({} remaining).".format(
9-
sent_today|message_count(notification_type),
9+
sent_today|message_count(daily_limit_type),
1010
remaining_limit|format_thousands
1111
),
1212
"classes": "govuk-!-margin-top-0"

app/url_converters.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,17 @@ class AgreementTypeConverter(BaseConverter):
1313

1414

1515
class TemplateTypeConverter(BaseConverter):
16-
regex = f"(?:{'|'.join(Service.TEMPLATE_TYPES)}|international_sms)"
16+
regex = f"(?:{'|'.join(Service.TEMPLATE_TYPES)})"
1717

1818

1919
class BrandingTypeConverter(BaseConverter):
2020
regex = "(?:email|letter)"
2121

2222

23+
class DailyLimitTypeConverter(BaseConverter):
24+
regex = f"(?:{'|'.join(Service.TEMPLATE_TYPES)}|international_sms)"
25+
26+
2327
class TicketTypeConverter(BaseConverter):
2428
regex = f"(?:{PROBLEM_TICKET_TYPE}|{QUESTION_TICKET_TYPE}|{GENERAL_TICKET_TYPE})"
2529

tests/app/main/test_init.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def test_all_routes_return_401_for_unauthorised(self, notify_admin, client_reque
1111
"template_type": "email",
1212
"message_type": "email",
1313
"job_id": fake_uuid,
14-
"notification_type": "email",
14+
"daily_limit_type": "email",
1515
}
1616
bad_views = []
1717
client_request.logout()

tests/app/main/test_permissions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ def test_routes_have_permissions_decorators():
332332
def test_routes_require_types(client_request):
333333
partial_param_name_to_type = {
334334
"_id": "uuid",
335+
"daily_limit_type": "daily_limit_type",
335336
"template_type": "template_type",
336337
"notification_type": "template_type",
337338
"branding_type": "branding_type",

tests/route-list.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@
218218
"/services/<uuid:service_id>/service-settings",
219219
"/services/<uuid:service_id>/service-settings/<branding_type:branding_type>-branding/confirm-change",
220220
"/services/<uuid:service_id>/service-settings/<branding_type:branding_type>-branding/nhs",
221-
"/services/<uuid:service_id>/service-settings/<template_type:notification_type>/remaining-today.json",
221+
"/services/<uuid:service_id>/service-settings/<daily_limit_type:daily_limit_type>/remaining-today.json",
222222
"/services/<uuid:service_id>/service-settings/archive",
223223
"/services/<uuid:service_id>/service-settings/email-branding",
224224
"/services/<uuid:service_id>/service-settings/email-branding/add-banner",

0 commit comments

Comments
 (0)