def send_to_all(request): if request.method == "POST": try: message = request.POST['message_to_send'] except KeyError: pass else: visitors_count = 0 today = datetime.date.today() for visit in Visit.objects.filter(departure_date__gte=today): for con in visit.contact.connection_set.all(): visitors_count += 1 send_msg(text=message, backend=con.backend, identity=con.identity) if visitors_count != 1: messages.add_message(request, 10000, u"%(count)s ressortissants ont reçu "\ u"le message: <blockquote>%(message)s</blockquote>" % { 'count': visitors_count, 'message': message}) else: messages.add_message(request, 10000, u"%(count)s ressortissant a reçu "\ u"le message: <blockquote>%(message)s</blockquote>" % { 'count': visitors_count, 'message': message}) return redirect(reverse("simulation") + "#send_messages")
def respond_to_msg(msg, text): ''' Sends a message to a reporter using the ajax app. This goes to ajax_POST_send_message in direct_sms app.py and use a callback to watermark the response. ''' send_msg(backend=msg.backend, text=text, identity=msg.identity, callback=watermak, callback_kwargs={'in_response_to': msg.id})
def change_alert_level(request): try: area = Area.objects.get(pk=int(request.POST['id'])) old_level = area.alert_level except: pass else: form = AreaForm(request.POST, instance=area) if form.is_valid() and request.POST['alert_level'] != old_level: area = form.save() msg = u"Le niveau d'alerte de %(city)s est passe a '%(level)s'" % { 'city': area.name, 'level': area.get_alert_level_display()} messages.add_message(request, 1000, msg) today = datetime.date.today() for visit in Visit.objects.filter(departure_date__gte=today): for con in visit.contact.connection_set.all(): send_msg(text=msg, backend=con.backend, identity=con.identity) return redirect(reverse("simulation") + "#level_change")