Added Telstra SMS test function to settings page

This commit is contained in:
st01765
2025-09-08 13:54:45 +10:00
parent af2f47b7f9
commit 6442472c0d
5 changed files with 44 additions and 3 deletions
@@ -2,6 +2,7 @@
{% block content %}
<div><a href={% url 'settings:nightly_task' %}>Run nightly task</a></div>
<div><a href={% url 'settings:sms_test' %}>Send SMS test message</a></div>
<div><a href={% url 'settings:export' %}>Export</a></div>
<div>
<div class="flex-container">
@@ -0,0 +1,10 @@
{% extends "admin/base_site.html" %}
{% block content %}
<h1>SMS Test</h1>
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send" class="default">
</form>
{% endblock %}
+1
View File
@@ -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'),
]
+15
View File
@@ -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
+17 -3
View File
@@ -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()