Added Telstra SMS test function to settings page
This commit is contained in:
@@ -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 %}
|
||||
@@ -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'),
|
||||
]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user