Exemple #1
0
def report_create_new():
    """Создание нового или редактирование отчета"""

    answer = dict(error='yes', message=u'Произошла ошибка')

    arg = get_post_arg(request, True)
    if 'id' not in arg:
        abort(405)
    arg['firm_id'] = g.firm_info['id']

    report_stack = ReportStack.query.get(arg['id'])
    if not report_stack:
        report_stack = ReportStack()

    if 'details' in arg and 'person' in arg['details']:
        name = arg['details']['person']
        person = Person.get_by_name(g.firm_info['id'], name, 1)
        if not person:
            del arg['details']['person']
        else:
            arg['details']['person'] = person[0].id

    for key in arg:
        setattr(report_stack, key, arg[key])

    if report_stack.save():
        answer['error'] = 'no'
        answer['message'] = u'Отчет сохранен'

    return jsonify(answer)
Exemple #2
0
def get_person_search_result():
    """Поиск сотрудников по запросу"""

    answer = dict(error='yes', result={})
    arg = json.loads(request.stream.read())
    if 'request' not in arg:
        abort(400)

    limit = arg['limit'] if 'limit' in arg else 5
    result = Person.get_by_name(g.firm_info['id'], arg['request'], limit)

    answer['error'] = 'no'
    answer['result'] = [row.name for row in result]

    return jsonify(answer)