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}
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)