def getStatictics(action, request, session): """ Get Price items from DB by selected log item's ID. Arguments: action - 305 request - form (selected_item) session - current session Returns: exchange_error, exchange_message - exchange error info id - parsed ID of selected_item data - XML (Order.data) """ form = request.form print_action(action, 'DBase.GetLogStatistics') exchange_message = '' exchange_error = 0 response = None order = None id = form.get('selected_item', None) if IsDebug: print '>>> Selected LogItem ID: [%s]' % id if id: order = Order.get_by_id(id) else: exchange_message = '%s: <id>' % gettext('Missing argument') exchange_error = -10 total, order_id, data, query = statistics(DEFAULT_LOG_MODE, order=order) items = [] headers = get_statistics_headers() line_in_page = 0 for row in data: x = dict(zip(headers[0], row)) line_in_page += 1 x['root'] = '%s' % request.script_root x['num'] = line_in_page x['cdate'] = cdate(x['reg_date'], fmt=LOCAL_EASY_TIMESTAMP) for n, column in enumerate(headers[1]): x['%s_title' % column['id']] = column['title'] items.append([x['id'], [ column.has_key('value') and (column['value'] % x) or x[column['id']] for n, column in enumerate(headers[1]) if column.get('visible') ] ]) return (exchange_error, exchange_message, id, total, items)
def getStatisticsVisibleHeaders(): return [x for x in get_statistics_headers()[1] if x.get('visible')]