def test_multiple_country_prefixes(self): self.assertEqual( MobileBackend.auto_load('256800000000')._id, self.backend5._id) self.assertEqual( MobileBackend.auto_load('256700000000')._id, self.backend6._id) self.assertEqual( MobileBackend.auto_load('256750000000')._id, self.backend7._id)
def process_verification(phone_number, msg, backend_id=None): v = VerifiedNumber.by_phone(phone_number, True) if not v: return if not verification_response_ok(msg.text): return msg.domain = v.domain msg.couch_recipient_doc_type = v.owner_doc_type msg.couch_recipient = v.owner_id msg.save() if not domain_has_privilege(msg.domain, privileges.INBOUND_SMS): return if backend_id: backend = MobileBackend.load(backend_id) else: backend = MobileBackend.auto_load(phone_number, v.domain) # i don't know how to dynamically instantiate this object, which may be any number of doc types... #owner = CommCareMobileContactMixin.get(v.owner_id) assert v.owner_doc_type == 'CommCareUser' owner = CommCareUser.get(v.owner_id) v = owner.save_verified_number(v.domain, phone_number, True, backend.name) with localize(owner.language): send_sms_to_verified_number(v, _(CONFIRM))
def process_verification(phone_number, msg, backend_id=None): v = VerifiedNumber.by_phone(phone_number, True) if not v: return if not verification_response_ok(msg.text): return msg.domain = v.domain msg.couch_recipient_doc_type = v.owner_doc_type msg.couch_recipient = v.owner_id msg.save() if backend_id: backend = MobileBackend.load(backend_id) else: backend = MobileBackend.auto_load(phone_number, v.domain) # i don't know how to dynamically instantiate this object, which may be any number of doc types... #owner = CommCareMobileContactMixin.get(v.owner_id) assert v.owner_doc_type == 'CommCareUser' owner = CommCareUser.get(v.owner_id) v = owner.save_verified_number(v.domain, phone_number, True, backend.name) with localize(owner.language): send_sms_to_verified_number(v, _(CONFIRM))
def send_verification(domain, user, phone_number): module = MobileBackend.auto_load(phone_number, domain).backend_module reply_phone = getattr(module, 'receive_phone_number', lambda: None)() message = OUTGOING % { 'name': user.username.split('@')[0], 'replyto': ' to %s' % util.clean_phone_number(reply_phone) if reply_phone else '', } api.send_sms(domain, user._id, phone_number, message)
def send_verification(domain, user, phone_number): backend = MobileBackend.auto_load(phone_number, domain) reply_phone = backend.reply_to_phone_number message = OUTGOING % { "name": user.username.split("@")[0], "replyto": " to %s" % util.clean_phone_number(reply_phone) if reply_phone else "", } send_sms(domain, user, phone_number, message)
def send_verification(domain, user, phone_number): backend = MobileBackend.auto_load(phone_number, domain) reply_phone = backend.reply_to_phone_number with localize(user.language): message = _(OUTGOING) % { 'name': user.username.split('@')[0], 'replyto': ' to %s' % util.clean_phone_number(reply_phone) if reply_phone else '', } send_sms(domain, user, phone_number, message)
def send_verification(domain, user, phone_number): backend = MobileBackend.auto_load(phone_number, domain) reply_phone = backend.reply_to_phone_number with localize(user.language): message = _(OUTGOING) % { 'name': user.username.split('@')[0], 'replyto': ' to %s' % util.clean_phone_number(reply_phone) if reply_phone else '', } send_sms(domain, user, phone_number, message)
def process_verification(phone_number, msg, backend_id=None): v = VerifiedNumber.by_phone(phone_number, True) if not v: return logged_event = MessagingEvent.get_current_verification_event( v.domain, v.owner_id, phone_number) if not logged_event: logged_event = MessagingEvent.create_verification_event( v.domain, v.owner) subevent = logged_event.create_subevent_for_single_sms( v.owner_doc_type, v.owner_id) subevent.completed() msg.domain = v.domain msg.couch_recipient_doc_type = v.owner_doc_type msg.couch_recipient = v.owner_id msg.messaging_subevent_id = subevent.pk msg.save() if (not domain_has_privilege(msg.domain, privileges.INBOUND_SMS) or not verification_response_ok(msg.text)): return if backend_id: backend = MobileBackend.load(backend_id) else: backend = MobileBackend.auto_load(phone_number, v.domain) assert v.owner_doc_type == 'CommCareUser' owner = CommCareUser.get(v.owner_id) v = owner.save_verified_number(v.domain, phone_number, True, backend.name) logged_event.completed() subevent = logged_event.create_subevent_for_single_sms( v.owner_doc_type, v.owner_id) with localize(owner.language): send_sms_to_verified_number( v, _(CONFIRM), metadata=MessageMetadata(messaging_subevent_id=subevent.pk)) subevent.completed()
def send_verification(domain, user, phone_number, logged_event): backend = MobileBackend.auto_load(phone_number, domain) reply_phone = backend.reply_to_phone_number subevent = logged_event.create_subevent_for_single_sms( user.doc_type, user.get_id ) with localize(user.language): message = _(OUTGOING) % { 'name': user.username.split('@')[0], 'replyto': ' to %s' % util.clean_phone_number(reply_phone) if reply_phone else '', } send_sms(domain, user, phone_number, message, metadata=MessageMetadata(messaging_subevent_id=subevent.pk)) subevent.completed()
def send_verification(domain, user, phone_number, logged_event): backend = MobileBackend.auto_load(phone_number, domain) reply_phone = backend.reply_to_phone_number subevent = logged_event.create_subevent_for_single_sms( user.doc_type, user.get_id) with localize(user.language): message = _(OUTGOING) % { 'name': user.username.split('@')[0], 'replyto': ' to %s' % util.clean_phone_number(reply_phone) if reply_phone else '', } send_sms(domain, user, phone_number, message, metadata=MessageMetadata(messaging_subevent_id=subevent.pk)) subevent.completed()
def process_verification(phone_number, text, backend_id=None): v = VerifiedNumber.by_phone(phone_number, True) if not v: return if not verification_response_ok(text): return if backend_id: backend = MobileBackend.load(backend_id) else: backend = MobileBackend.auto_load(phone_number, v.domain) # i don't know how to dynamically instantiate this object, which may be any number of doc types... #owner = CommCareMobileContactMixin.get(v.owner_id) assert v.owner_doc_type == 'CommCareUser' owner = CommCareUser.get(v.owner_id) owner.save_verified_number(v.domain, phone_number, True, backend._id) api.send_sms(v.domain, owner._id, phone_number, CONFIRM)
def test_multiple_country_prefixes(self): self.assertEqual(MobileBackend.auto_load('256800000000')._id, self.backend5._id) self.assertEqual(MobileBackend.auto_load('256700000000')._id, self.backend6._id) self.assertEqual(MobileBackend.auto_load('256750000000')._id, self.backend7._id)