diff --git a/busManager/coord/templates/admin/settings_index.html b/busManager/coord/templates/admin/settings_index.html
index ccdff9d..cb100da 100644
--- a/busManager/coord/templates/admin/settings_index.html
+++ b/busManager/coord/templates/admin/settings_index.html
@@ -2,6 +2,7 @@
{% block content %}
diff --git a/busManager/coord/templates/admin/sms_test_form.html b/busManager/coord/templates/admin/sms_test_form.html
new file mode 100644
index 0000000..1d31638
--- /dev/null
+++ b/busManager/coord/templates/admin/sms_test_form.html
@@ -0,0 +1,10 @@
+{% extends "admin/base_site.html" %}
+
+{% block content %}
+
SMS Test
+
+{% endblock %}
\ No newline at end of file
diff --git a/busManager/coord/urls_settings.py b/busManager/coord/urls_settings.py
index dd9732d..2929c6e 100644
--- a/busManager/coord/urls_settings.py
+++ b/busManager/coord/urls_settings.py
@@ -6,6 +6,7 @@ app_name = "settings"
urlpatterns = [
path('rollover', views_settings.rollover, name='rollover'),
path('nightly_task', views_settings.nightly_task, name='nightly_task'),
+ path('sms_test', views_settings.sms_test, name='sms_test'),
path('export', views_settings.export, name='export'),
path('', views_settings.settings, name='index'),
]
diff --git a/busManager/coord/utils/send_sms.py b/busManager/coord/utils/send_sms.py
index 84bbb01..0a515fe 100644
--- a/busManager/coord/utils/send_sms.py
+++ b/busManager/coord/utils/send_sms.py
@@ -145,3 +145,18 @@ def send_sms(send_sms_mixin, request, queryset):
family_set = _family_context(queryset)
return render(request, 'admin/sms_form.html', context={'form': form, 'items': family_set})
+
+
+class SMSTestForm(forms.Form):
+ phone_number = forms.CharField(label="Phone number", max_length=20)
+ message = forms.CharField(label="Message", max_length=160, widget=forms.Textarea)
+
+
+def send_sms_test(request):
+
+ if not settings.TELSTRA_AUTH:
+ return None
+
+ if request.method == "POST":
+ _send_message(request.POST["phone_number"], request.POST["message"])
+ return None
diff --git a/busManager/coord/views_settings.py b/busManager/coord/views_settings.py
index eb33be0..b9fc4eb 100644
--- a/busManager/coord/views_settings.py
+++ b/busManager/coord/views_settings.py
@@ -5,10 +5,11 @@ from django.contrib.admin.views.decorators import staff_member_required
from django.http import HttpResponse
from django.shortcuts import render, redirect
-from coord.scheduled_tasks import nightly_check_active_status
-from coord.utils.rollover import RolloverForm, execute_rollover
+from .scheduled_tasks import nightly_check_active_status
+from .utils.rollover import RolloverForm, execute_rollover
-from coord.backup.backup_helpers import get_export_dict
+from .backup.backup_helpers import get_export_dict
+from .utils.send_sms import SMSTestForm, send_sms_test
@staff_member_required
@@ -28,6 +29,19 @@ def rollover(request):
return render(request, 'admin/rollover_form.html', context={'form': form})
+@staff_member_required
+def sms_test(request):
+ if request.method == 'POST':
+ form = SMSTestForm(request.POST)
+ if form.is_valid():
+ send_sms_test(request)
+ return redirect('settings:index')
+
+ else:
+ form = SMSTestForm()
+ return render(request, 'admin/sms_test_form.html', context={'form': form})
+
+
@staff_member_required
def nightly_task(request):
nightly_check_active_status()