diff --git a/busManager/coord/admin.py b/busManager/coord/admin.py index 8f9955b..fc29d7d 100644 --- a/busManager/coord/admin.py +++ b/busManager/coord/admin.py @@ -65,9 +65,20 @@ class TravellerRollMixin: def send_sms(self, request, queryset): if 'send' in request.POST: message = request.POST["message"] + send_to_parents = False + if request.POST.get("send_to_parents"): + send_to_parents = True + send_to_emergency_contacts = False + if request.POST.get("send_to_emergency_contacts"): + send_to_emergency_contacts = True + only_include_active_travellers = False + if request.POST.get("only_include_active_travellers"): + only_include_active_travellers = True total = 0 for traveller in queryset: - total += traveller.send_sms(message, parents=True) + if only_include_active_travellers and not traveller.is_active(): + continue + total += traveller.send_sms(message, parents=send_to_parents, emergency=send_to_emergency_contacts) self.message_user(request, f"SMS has been sent to {total} recipients") return HttpResponseRedirect(request.get_full_path()) diff --git a/busManager/coord/form.py b/busManager/coord/form.py index 39ade0b..e251765 100644 --- a/busManager/coord/form.py +++ b/busManager/coord/form.py @@ -5,4 +5,5 @@ class SMSForm(forms.Form): _selected_action = forms.CharField(widget=forms.MultipleHiddenInput) send_to_parents = forms.BooleanField(required=False) send_to_emergency_contacts = forms.BooleanField(required=False) + only_include_active_travellers = forms.BooleanField(initial=True, required=False) message = forms.CharField(label="Message", max_length=320, widget=forms.Textarea)