123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- from openerp import http
- from werkzeug.wrappers import Response
- from werkzeug.datastructures import Headers
- from gzip import GzipFile
- from StringIO import StringIO as IO
- import simplejson as json
- import helpers as hp
- import logging
- LOGGER = logging.getLogger(__name__)
- GZIP_COMPRESSION_LEVEL = 9
- def make_gzip_response(data=None, status=200):
- gzip_buffer = IO()
- with GzipFile(mode='wb', compresslevel=GZIP_COMPRESSION_LEVEL, fileobj=gzip_buffer) as gzip_file:
- gzip_file.write(json.dumps(data))
- value = gzip_buffer.getvalue()
- gzip_buffer.close()
- headers = Headers()
- headers.add('Content-Encoding', 'gzip')
- headers.add('Vary', 'Accept-Encoding')
- headers.add('Content-Length', len(value))
- return Response(value, status=status, headers=headers, content_type='application/json')
- class ReportController(http.Controller):
-
- @http.route('/report-filter-data', auth='user', methods=['GET', 'POST'])
- def getFilterData(self, **kw):
- return make_gzip_response({
- 'companies': hp.get_res_company(),
- 'stores': hp.get_res_store(),
- 'journals': hp.get_account_journal(),
- 'users': hp.get_res_users(),
- 'categories': hp.get_product_category_all(),
- 'brands': hp.get_product_brand(),
- 'attributes': hp.get_product_attribute(),
- 'attribute_values': hp.get_product_attribute_value(),
- })
-
- @http.route('/report-sale-history', auth='user', methods=['GET', 'POST'])
- def getSaleHistory(self, **kw):
- return make_gzip_response({
- 'invoices': hp.get_account_invoice_sale_type(),
- 'orders': hp.get_pos_order(),
- 'vouchers': hp.get_account_voucher_customer(),
- })
-
- @http.route('/report-sale-analytic', auth='user', methods=['GET', 'POST'])
- def getSaleAnalytic(self, **kw):
- return make_gzip_response({
- 'invoice_lines': hp.get_account_invoice_line_out_invoice(),
- 'order_lines': hp.get_pos_order_line(),
- })
-
- @http.route('/report-customers', auth='user', methods=['GET', 'POST'])
- def getCustomers(self, **kw):
- return make_gzip_response({
- 'customers': hp.get_customers(),
- })
-
- @http.route('/report-product-list', auth='user', methods=['GET', 'POST'])
- def getCustomers(self, **kw):
- return make_gzip_response({
- 'products': hp.get_product_product(),
- 'currencies': hp.get_res_currency(),
- })
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @http.route('/report-sale-product-ranking', auth='user', methods=['GET', 'POST'])
- def getSaleProductRanking(self, **kw):
- return make_gzip_response({
- 'invoice_lines': hp.get_account_invoice_line_out_invoice(),
- 'order_lines': hp.get_pos_order_line(),
- 'products': hp.get_product_product(),
- })
-
- @http.route('/report-sale-customer-ranking', auth='user', methods=['GET', 'POST'])
- def getSaleCustomerRanking(self, **kw):
- return make_gzip_response({
- 'invoice_lines': hp.get_account_invoice_line_out_invoice(),
- 'order_lines': hp.get_pos_order_line(),
- 'partners': hp.get_customers(),
- })
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|