def domain_select(): """JSON view of the domains for current class""" query = (db.session.query(DomainClass.id, Domain.label, Class.code.label('parent')) .select_from(DomainClass) .join(Domain) .join(Class)) if session.get('classe', None): query = query.filter(Class.code == session['classe']) return storify(query.all())
def topic_select(): """JSON view for all topic attached to the current class""" query = (db.session.query(TopicDomainClass.id, Topic.label, DomainClass.id.label('parent')) .select_from(TopicDomainClass) .join(DomainClass) .join(Class) .join(Topic)) if session.get('classe', None): query = query.filter(Class.code == session['classe']) return storify(query.all())
def suggest_sequence(attribute): """Suggest values from an array attribute of an entity""" entity = Sequence query = (db.session.query(func.unnest(getattr(entity, attribute)) .label('label')) .distinct() .filter(entity.user_login == session['user'])) if request.values: query = query.join(TopicDomainClass) for key, value in request.values.items(): query = query.filter(getattr(TopicDomainClass, key) == value) return storify(query.all(), 'label', 'label')
def classes_select(): """JSON view of all the classes""" return storify(db.session.query(Class.code.label('id'), Class.label).all())