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')
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)