Exemplo n.º 1
0
    def post(self, request, *args, **kwargs):
        if self.async_response is not None:
            return self.async_response

        if self.schedule_form.is_valid():
            if not self.can_use_inbound_sms and self.schedule_form.uses_sms_survey:
                return HttpResponseBadRequest(
                    "Cannot create or edit survey reminders because subscription "
                    "does not have access to inbound SMS")

            broadcast, schedule = self.schedule_form.save_broadcast_and_schedule(
            )
            if isinstance(schedule, AlertSchedule):
                refresh_alert_schedule_instances.delay(schedule.schedule_id,
                                                       broadcast.recipients)
            elif isinstance(schedule, TimedSchedule):
                refresh_timed_schedule_instances.delay(
                    schedule.schedule_id,
                    broadcast.recipients,
                    start_date=broadcast.start_date)
            else:
                raise TypeError("Expected AlertSchedule or TimedSchedule")

            return HttpResponseRedirect(
                reverse(BroadcastListView.urlname, args=[self.domain]))

        return self.get(request, *args, **kwargs)
Exemplo n.º 2
0
    def get_scheduled_broadcast_activate_ajax_response(self, active_flag,
                                                       broadcast_id):
        broadcast = self.get_scheduled_broadcast(broadcast_id)
        TimedSchedule.objects.filter(schedule_id=broadcast.schedule_id).update(
            active=active_flag)
        refresh_timed_schedule_instances.delay(broadcast.schedule_id,
                                               broadcast.recipients,
                                               start_date=broadcast.start_date)

        return HttpResponse()
Exemplo n.º 3
0
    def get_scheduled_broadcast_activate_ajax_response(self, active_flag,
                                                       broadcast_id):
        broadcast = self.get_scheduled_broadcast(broadcast_id)
        if not self.can_use_inbound_sms and broadcast.schedule.memoized_uses_sms_survey:
            return HttpResponseBadRequest(
                "Cannot create or edit survey reminders because subscription "
                "does not have access to inbound SMS")

        TimedSchedule.objects.filter(schedule_id=broadcast.schedule_id).update(
            active=active_flag)
        refresh_timed_schedule_instances.delay(broadcast.schedule_id,
                                               broadcast.recipients,
                                               start_date=broadcast.start_date)

        return HttpResponse()
Exemplo n.º 4
0
    def get_scheduled_broadcast_activate_ajax_response(self, active_flag, broadcast_id):
        broadcast = self.get_scheduled_broadcast(broadcast_id)
        if not self.can_use_inbound_sms and broadcast.schedule.memoized_uses_sms_survey:
            return HttpResponseBadRequest(
                "Cannot create or edit survey reminders because subscription "
                "does not have access to inbound SMS"
            )

        TimedSchedule.objects.filter(schedule_id=broadcast.schedule_id).update(active=active_flag)
        refresh_timed_schedule_instances.delay(
            broadcast.schedule_id,
            broadcast.recipients,
            start_date=broadcast.start_date
        )

        return HttpResponse()
Exemplo n.º 5
0
    def post(self, request, *args, **kwargs):
        if self.async_response is not None:
            return self.async_response

        if self.schedule_form.is_valid():
            broadcast, schedule = self.schedule_form.save_broadcast_and_schedule(
            )
            if isinstance(schedule, AlertSchedule):
                refresh_alert_schedule_instances.delay(schedule.schedule_id,
                                                       broadcast.recipients)
            elif isinstance(schedule, TimedSchedule):
                refresh_timed_schedule_instances.delay(
                    schedule.schedule_id,
                    broadcast.recipients,
                    start_date=broadcast.start_date)
            else:
                raise TypeError("Expected AlertSchedule or TimedSchedule")

            return HttpResponseRedirect(
                reverse(BroadcastListView.urlname, args=[self.domain]))

        return self.get(request, *args, **kwargs)
Exemplo n.º 6
0
    def post(self, request, *args, **kwargs):
        if self.async_response is not None:
            return self.async_response

        if self.schedule_form.is_valid():
            if not self.can_use_inbound_sms and self.schedule_form.uses_sms_survey:
                return HttpResponseBadRequest(
                    "Cannot create or edit survey reminders because subscription "
                    "does not have access to inbound SMS"
                )

            broadcast, schedule = self.schedule_form.save_broadcast_and_schedule()
            if isinstance(schedule, AlertSchedule):
                refresh_alert_schedule_instances.delay(schedule.schedule_id, broadcast.recipients)
            elif isinstance(schedule, TimedSchedule):
                refresh_timed_schedule_instances.delay(schedule.schedule_id, broadcast.recipients,
                    start_date=broadcast.start_date)
            else:
                raise TypeError("Expected AlertSchedule or TimedSchedule")

            return HttpResponseRedirect(reverse(BroadcastListView.urlname, args=[self.domain]))

        return self.get(request, *args, **kwargs)
Exemplo n.º 7
0
 def refresh():
     refresh_timed_schedule_instances.delay(broadcast.schedule_id,
                                            broadcast.recipients,
                                            start_date=broadcast.start_date)
Exemplo n.º 8
0
 def refresh():
     refresh_timed_schedule_instances.delay(
         broadcast.schedule_id,
         broadcast.recipients,
         start_date=broadcast.start_date
     )
Exemplo n.º 9
0
 def refresh():
     refresh_timed_schedule_instances.delay(
         broadcast.schedule_id.hex,
         broadcast.recipients,
         start_date_iso_string=json_format_date(broadcast.start_date))