def query(self): """ Return the main query for our list view """ logger.debug("Queryiing") query = DBSESSION().query(distinct(User.id), User) query = query.join(User.login) return query.outerjoin(User.companies)
def active_company_ids(self): """ Return only enabled companies ids """ from autonomie.models.company import Company query = DBSESSION().query(COMPANY_EMPLOYEE.c.company_id) query = query.filter(COMPANY_EMPLOYEE.c.account_id == self.id) query = query.join(Company).filter(Company.active == True) return [c[0] for c in query]
def get_users_options(roles=None): """ Return the list of active users from the database formatted as choices: [(user_id, user_label)...] :param role: roles of the users we want default: all values : ('contractor', 'manager', 'admin')) """ query = DBSESSION().query(User).options( load_only('id', 'firstname', 'lastname')) # Only User accounts with logins query = query.join(Login).filter(Login.active == True) query = query.order_by(User.lastname) if roles and not hasattr(roles, "__iter__"): roles = [roles] query = _filter_by_group(query, roles) return [(unicode(u.id), format_account(u)) for u in query]
def get_users_options(roles=None): """ Return the list of active users from the database formatted as choices: [(user_id, user_label)...] :param role: roles of the users we want default: all values : ('contractor', 'manager', 'admin')) """ query = DBSESSION().query(User).options( load_only('id', 'firstname', 'lastname') ) # Only User accounts with logins query = query.join(Login).filter(Login.active == True) query = query.order_by(User.lastname) if roles and not hasattr(roles, "__iter__"): roles = [roles] query = _filter_by_group(query, roles) return [(unicode(u.id), format_account(u)) for u in query]