def get_users_messages(self): locations = SQLLocation.active_objects.filter( domain=self.domain, location_type__administrative=False) for sql_location in locations: in_charges = list( map( CommCareUser.wrap, iter_docs(CommCareUser.get_db(), [ in_charge.user_id for in_charge in sql_location.facilityincharge_set.all() ]))) web_users = [ web_user for web_user in get_web_users_by_location( self.domain, sql_location.location_id) if has_notifications_enabled(self.domain, web_user) ] message, kwargs = self.get_message_for_location(sql_location) for user in web_users + in_charges: phone_number = get_preferred_phone_number_for_recipient(user) if not phone_number: continue kwargs['name'] = user.full_name if message: yield user, phone_number, message % kwargs
def recipients_filter(self, user): sql_location = user.get_sql_location(self.domain) if not sql_location or not sql_location.location_type.administrative: return False date = datetime.datetime.utcnow() - datetime.timedelta(weeks=13) return user.last_login < date and has_notifications_enabled( self.domain, user)
def get_users_messages(self): locations = SQLLocation.active_objects.filter(domain=self.domain, location_type__administrative=False) for sql_location in locations: in_charges = list(map(CommCareUser.wrap, iter_docs( CommCareUser.get_db(), [in_charge.user_id for in_charge in sql_location.facilityincharge_set.all()] ))) web_users = [ web_user for web_user in get_web_users_by_location(self.domain, sql_location.location_id) if has_notifications_enabled(self.domain, web_user) ] message, kwargs = self.get_message_for_location(sql_location) for user in web_users + in_charges: phone_number = get_preferred_phone_number_for_recipient(user) if not phone_number: continue kwargs['name'] = user.full_name if message: yield user, phone_number, message % kwargs
def send(self): for recipient, message in self.get_users_messages(): phone_number = get_preferred_phone_number_for_recipient(recipient) if phone_number and has_notifications_enabled(self.domain, recipient): send_sms(self.domain, recipient, phone_number, message)
def send(self): phone_number = get_preferred_phone_number_for_recipient(self.user) if phone_number and has_notifications_enabled(self.domain, self.user): send_sms(self.domain, self.user, phone_number, self.message)
def recipients_filter(self, user): sql_location = user.get_sql_location(self.domain) if not sql_location or not sql_location.location_type.administrative: return False date = datetime.datetime.utcnow() - datetime.timedelta(weeks=13) return user.last_login < date and has_notifications_enabled(self.domain, user)
def recipients_filter(self, user): return has_notifications_enabled(self.domain, user)