Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 def get_users(self, sql_location):
     return [
         user
         for user in get_web_users_by_location(self.domain, sql_location.location_id)
         if get_preferred_phone_number_for_recipient(user)
     ]
Ejemplo n.º 4
0
 def get_users(self, sql_location):
     return [
         user
         for user in get_web_users_by_location(self.domain, sql_location.location_id)
         if get_preferred_phone_number_for_recipient(user)
     ]