def recipients_by_role(self, roles):
        if not roles:
            return set()

        users = UserCollection(self.request.session)

        q = users.by_roles(*roles)
        q = q.filter(User.active == True)
        q = q.with_entities(User.username)

        return {u.username for u in q}
Example #2
0
    def username_choices(self):
        assert self.request.is_admin  # safety net

        users = UserCollection(self.request.session)
        users = users.by_roles('admin', 'editor')
        users = users.with_entities(User.username, User.title)

        def choice(row):
            return row[0], row[1]

        def by_title(choice):
            return normalize_for_url(choice[1])

        return sorted([choice(r) for r in users.all()], key=by_title)