Added Send SMS function to traveller contacts. The send command is commented out.

This commit is contained in:
John Mullins
2023-09-07 15:42:11 +10:00
parent 49dae4892b
commit 43c23498bf
5 changed files with 103 additions and 2 deletions
+17 -2
View File
@@ -4,7 +4,8 @@ from datetime import date
from django.contrib.admin import DateFieldListFilter, BooleanFieldListFilter
from django.forms import widgets
from django.contrib import admin
from django.http import HttpResponse
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.urls import reverse
from django.utils.html import format_html
from django.utils.http import urlencode
@@ -15,6 +16,7 @@ from .adminClone import CloneModelAdmin
from .context_helpers import bus_roll_context, emergency_contacts_context, traveller_roll_context, \
traveller_route_context, school_roll_context
from .email_helpers import email_companies_bus_roll, render_to_pdf, email_school_roll
from .form import SMSForm
from .models import *
@@ -60,6 +62,19 @@ class SchoolRollMixin:
class TravellerRollMixin:
def send_sms(self, request, queryset):
if 'send' in request.POST:
message = request.POST["message"]
total = 0
for traveller in queryset:
total += traveller.send_sms(message, parents=True)
self.message_user(request, f"SMS has been sent to {total} recipients")
return HttpResponseRedirect(request.get_full_path())
form = SMSForm(initial={'_selected_action': queryset.values_list('id', flat=True)})
return render(request, 'admin/sms_form.html', context={'form': form, 'items': queryset})
def export_to_csv(self, request, queryset):
traveller_list = traveller_roll_context(queryset)
response = HttpResponse(content_type="text/csv")
@@ -182,7 +197,7 @@ class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin
"emergency_contact_B_phone", "emergency_contact_B_relation"]
inlines = [TravellerRouteInline]
readonly_fields = ["fare_paying", "created_on", "last_edit", "is_archived"]
actions = ["export_to_csv", "yearly_rollover"]
actions = ["export_to_csv", "send_sms", "yearly_rollover"]
fieldsets = [
(None, {
'fields': [