示例#1
0
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())
示例#2
0
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())
示例#3
0
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')
示例#4
0
def classes_select():
    """JSON view of all the classes"""
    return storify(db.session.query(Class.code.label('id'), Class.label).all())