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