def save(self): """ Create a new broadcast to send out """ recipients = self.validated_data.get( 'contacts', []) + self.validated_data.get('groups', []) for urn in self.validated_data.get('urns', []): # create contacts for URNs if necessary contact = Contact.get_or_create(self.context['org'], self.context['user'], urns=[urn]) contact_urn = contact.urn_objects[urn] recipients.append(contact_urn) text, base_language = self.validated_data['text'] # create the broadcast broadcast = Broadcast.create( self.context['org'], self.context['user'], text=text, base_language=base_language, recipients=recipients, channel=self.validated_data.get('channel')) # send in task on_transaction_commit(lambda: send_broadcast_task.delay(broadcast.id)) return broadcast
def save(self): """ Create a new broadcast to send out """ contact_urns = [] for urn in self.validated_data.get("urns", []): # create contacts for URNs if necessary __, contact_urn = Contact.get_or_create(self.context["org"], urn, user=self.context["user"]) contact_urns.append(contact_urn) text, base_language = self.validated_data["text"] # create the broadcast broadcast = Broadcast.create( self.context["org"], self.context["user"], text=text, base_language=base_language, groups=self.validated_data.get("groups", []), contacts=self.validated_data.get("contacts", []), urns=contact_urns, channel=self.validated_data.get("channel"), ) # send in task on_transaction_commit(lambda: send_broadcast_task.delay(broadcast.id)) return broadcast
def save(self): """ Create a new broadcast to send out """ contact_urns = [] for urn in self.validated_data.get("urns", []): # create contacts for URNs if necessary __, contact_urn = Contact.get_or_create(self.context["org"], urn, user=self.context["user"]) contact_urns.append(contact_urn) text, base_language = self.validated_data["text"] # create the broadcast broadcast = Broadcast.create( self.context["org"], self.context["user"], text=text, base_language=base_language, groups=self.validated_data.get("groups", []), contacts=self.validated_data.get("contacts", []), urns=contact_urns, channel=self.validated_data.get("channel"), ) # send in task on_transaction_commit(lambda: send_broadcast_task.delay(broadcast.id)) return broadcast
def save(self): """ Create a new broadcast to send out """ from temba.msgs.tasks import send_broadcast_task recipients = self.validated_data.get('contacts', []) + self.validated_data.get('groups', []) for urn in self.validated_data.get('urns', []): # create contacts for URNs if necessary contact = Contact.get_or_create(self.context['org'], self.context['user'], urns=[urn]) contact_urn = contact.urn_objects[urn] recipients.append(contact_urn) # create the broadcast broadcast = Broadcast.create(self.context['org'], self.context['user'], self.validated_data['text'], recipients=recipients, channel=self.validated_data.get('channel')) # send in task send_broadcast_task.delay(broadcast.id) return broadcast
def save(self): """ Create a new broadcast to send out """ from temba.msgs.tasks import send_broadcast_task recipients = self.validated_data.get('contacts', []) + self.validated_data.get('groups', []) for urn in self.validated_data.get('urns', []): # create contacts for URNs if necessary contact = Contact.get_or_create(self.context['org'], self.context['user'], urns=[urn]) contact_urn = contact.urn_objects[urn] recipients.append(contact_urn) # create the broadcast broadcast = Broadcast.create(self.context['org'], self.context['user'], self.validated_data['text'], recipients=recipients, channel=self.validated_data.get('channel')) # send in task send_broadcast_task.delay(broadcast.id) return broadcast
def restore_object(self, attrs, instance=None): """ Create a new broadcast to send out """ from temba.msgs.tasks import send_broadcast_task if instance: # pragma: no cover raise ValidationError("Invalid operation") recipients = attrs.get('contacts') + attrs.get('groups') for urn in attrs.get('urns'): # create contacts for URNs if necessary contact = Contact.get_or_create(self.org, self.user, urns=[urn]) contact_urn = contact.urn_objects[urn] recipients.append(contact_urn) # create the broadcast broadcast = Broadcast.create(self.org, self.user, attrs['text'], recipients=recipients, channel=attrs['channel']) # send in task send_broadcast_task.delay(broadcast.id) return broadcast
def post_save(self, obj): # fire our send in celery from temba.msgs.tasks import send_broadcast_task on_transaction_commit(lambda: send_broadcast_task.delay(obj.pk)) return obj
def post_save(self, obj): # fire our send in celery from temba.msgs.tasks import send_broadcast_task send_broadcast_task.delay(obj.pk) return obj
def post_save(self, obj): # fire our send in celery from temba.msgs.tasks import send_broadcast_task send_broadcast_task.delay(obj.pk) return obj
def post_save(self, obj): # fire our send in celery from temba.msgs.tasks import send_broadcast_task on_transaction_commit(lambda: send_broadcast_task.delay(obj.pk)) return obj