Ejemplo n.º 1
0
def get_users(firm_id):

    search = {}
    for key in Person.SEARCH_KEY:
        search_value = request.args.get(key)
        if not search_value:
            continue
        search[key] = search_value

    limit = api_helper.get_request_count(request, Person.PER_PAGE)
    offset = api_helper.get_request_offset(request)
    query = Person.query.filter_by(firm_id=firm_id)
    if search:
        for key, value in search.iteritems():
            query = query.filter(getattr(Person, key).like('%' + value + '%'))

    persons = query.limit(limit).offset(offset).all()
    if not persons:
        logger.debug('API: Not found persons')
        abort(404)

    person_events = None
    if len(persons) == 1:
        person_events = PersonEvent.query.filter_by(person_id=persons[0].id).all()

    return render_template("person/person.xml",
                           persons=persons,
                           person_events=person_events).encode('cp1251')
Ejemplo n.º 2
0
def get_persons():

    limit = api_helper.get_request_count(
        request, Person.PER_PAGE, Person.MAX_PER_PAGE)

    offset = api_helper.get_request_offset(request)
    query = Person.query.filter(Person.firm_id.in_(g.firms))

    parameters = get_parameters()
    if parameters:
        cards_id = parameters.get('CardID')
        if cards_id:
            query = query.filter(Person.id.in_(cards_id))

    persons = query.limit(limit).offset(offset).all()

    if not persons:
        logger.debug('API: Not found persons')
        return get_success_result([])

    data = [person.to_dict() for person in persons]
    return get_success_result(data)