Esempio n. 1
0
def get_demande_encours(annee_deb, annee_fin):
    return (_db.session.query(TravauxBatiment).filter(
        _db.and_(
            TravauxBatiment.dem_date <= annee_fin,
            _db.or_(
                TravauxBatiment.rea_date == None,  # noqa
                TravauxBatiment.rea_date >= annee_deb))).all())
Esempio n. 2
0
def get_demande_encours(annee_deb, annee_fin):
    return (_db.session.query(Demande).filter(
        _db.and_(
            Demande.dem_date <= annee_fin,
            _db.or_(
                Demande.rea_date == None,  # noqa
                Demande.rea_date >= annee_deb))).all())
Esempio n. 3
0
def load_changes(instance, full=False):
    results = db.session.query(Changelog).filter(
        db.and_(Changelog.module_name == instance.__class__.__module__,
                Changelog.model_name == instance.__class__.__name__,
                Changelog.entity_id == instance.id)).all()
    if full:
        return [map_changes(x) for x in results]
    else:
        return [ChangelogSerializer(x).dump() for x in results]
Esempio n. 4
0
def posts_for_feed():
    """ return the posts for logged in user's feed"""
    user_id = session.get('user_id')
    friend_posts = Post.query.join(
        Friend, db.and_(Post.user_id == Friend.user_2,
                        Friend.active == True)).outerjoin(
                            Comment,
                            db.and_(Comment.post_id == Post.post_id,
                                    Comment.active == True)).filter(
                                        Friend.user_1 == user_id,
                                        Post.active == True).order_by(
                                            Post.post_id.desc()).all()

    post_list = []
    for post in friend_posts:
        post_list.append(post.to_dict_for_json())

    resp = make_response(jsonify(post_list), 200)
    return resp
Esempio n. 5
0
def get_demande_encours(annee_deb, annee_fin):
    return (
            _db.session.query(Demande)
            .filter(
                _db.and_(
                    Demande.dem_date <= annee_fin,
                    _db.or_(
                        Demande.rea_date == None,
                        Demande.rea_date >= annee_deb
                    )
                )
            )
            .all())
Esempio n. 6
0
def get_demande_encours(annee_deb, annee_fin):
        return (
                _db.session.query(TravauxBatiment)
                .filter(
                    _db.and_(
                        TravauxBatiment.dem_date <= annee_fin,
                        _db.or_(
                            TravauxBatiment.rea_date == None,
                            TravauxBatiment.rea_date >= annee_deb
                        )
                    )
                )
                .all())
Esempio n. 7
0
def get_agents_presents(annee_deb, annee_fin, frmt='dict'):
    '''
    Retourne la liste des agents présents au cours de l'année
    '''
    if frmt == 'dict':
        klass = Agent
    else:
        klass = AgentDetail
    qr = klass.query.filter(
            _db.and_(
                _db.or_(
                    klass.depart > annee_deb,
                    klass.depart == None),
                klass.arrivee < annee_fin))
    return qr.order_by(_db.asc(klass.arrivee)).all()
Esempio n. 8
0
def get_agents_presents(annee_deb, annee_fin, frmt='dict'):
    '''
    Retourne la liste des agents présents au cours de l'année
    '''
    if frmt == 'dict':
        klass = Agent
    else:
        klass = AgentDetail
    qr = klass.query.filter(
        _db.and_(
            _db.or_(
                klass.depart >= annee_deb,
                klass.depart == None  # noqa
            ),
            klass.arrivee <= annee_fin))
    return qr.order_by(_db.asc(klass.arrivee)).all()
Esempio n. 9
0
def search():

    search_term = request.args.get('term')
    user_id = session['user_id']

    results = db.session.query(User, Friend).outerjoin(
        Friend,
        db.and_(
            Friend.user_1 == user_id, Friend.active == True,
            Friend.user_2 == User.user_id)).filter(
                (User.user_id != user_id) & (User.public == True)
                & ((Friend.user_2 == None) | (Friend.user_2 != User.user_id))
                & (((User.first_name.like(f'%{search_term}%'))
                    | (User.last_name.like(f'%{search_term}%'))))).all()

    return render_template('search.html', results=results)
Esempio n. 10
0
def users_posts():
    """ return the users's posts"""

    user_id = session.get('user_id')
    posts = Post.query.outerjoin(
        Comment,
        db.and_(Comment.post_id == Post.post_id,
                Comment.active == True)).filter(Post.user_id == user_id,
                                                Post.active == True).order_by(
                                                    Post.post_id.desc()).all()
    post_list = []
    for post in posts:
        post_list.append(post.to_dict_for_json())

    resp = make_response(jsonify(post_list), 200)

    return resp
Esempio n. 11
0
def get_entites():
    '''
    retourne la liste des groupes
    '''
    entite_ids = request.args.getlist('params')
    _format = request.args.get('format', None)
    _etype = request.args.get('type', 'correspondant')
    if not len(entite_ids):
        if not request.args.get('all', False):
            return {}
        entites = Entite.query.all()
    else:
        parents = Entite.query.filter(Entite.id.in_(entite_ids)).all()
        filters = [Entite.parents.contains(z) for z in parents]
        entites = Entite.query.filter(_db.and_(*filters)).order_by(
            Entite.type_entite).order_by(Entite.nom).all()
    if _format in ('csv', 'tsv'):
        ent_type, serializer = TYPES_E[_etype]
        entites = filter(lambda x: isinstance(x, ent_type), entites)
        if _format == 'csv':
            csv = serializer.export_csv(entites, fields=FIELDS_E[_etype])
        else:
            csv = serializer.export_csv(entites,
                                        fields=FIELDS_E[_etype],
                                        sep='\t')
        return csv_response(csv, 'annuaire.csv')
    if _format == 'vcard':
        vcards = '\r\n'.join([
            format_vcard(CorrespondantSerializer(e)) for e in entites
            if isinstance(e, Correspondant)
        ])
        return vcard_response(vcards, 'annuaire.vcf')

    return {
        'recherche': [TYPES_E[e.type_entite][1](e).dump() for e in parents],
        'liste': [TYPES_E[e.type_entite][1](e).dump() for e in entites]
    }