def location_latest_groups(location_id, limit=6): from ututi.model import Tag, Group, meta location = Tag.get(int(location_id)) ids = [t.id for t in location.flatten] groups = meta.Session.query(Group).filter(Group.location_id.in_(ids)).order_by(Group.created_on.desc()).limit(limit).all() return [{'id': group.group_id, 'title': group.title, 'url': group.url(), 'logo_url': group.url(action='logo', width=45), 'logo_small_url': group.url(action='logo', width=30)} for group in groups]
def location_members(location_id, limit=6): from ututi.model import Tag, User, meta location = Tag.get(int(location_id)) ids = [t.id for t in location.flatten] members = meta.Session.query(User).filter(User.location_id.in_(ids)).order_by(User.last_seen.desc()).limit(limit).all() return [{'id': member.id, 'title': member.fullname, 'url': member.url(), 'logo_url': member.url(action='logo', width=45), 'logo_small_url': member.url(action='logo', width=30)} for member in members]
def location_count(location_id, object_type=None): from ututi.model import Tag location = Tag.get(int(location_id)) return location.count(object_type)