from trytond.transaction import Transaction from trytond.wsgi import app from trytond.protocols.wrappers import ( with_pool, with_transaction, user_application, allow_null_origin) import json don_confiao_application = user_application( 'sale_don_confiao') @app.route('//sale_don_confiao/parties', methods=[ 'GET', 'POST']) @allow_null_origin @with_pool @with_transaction() @don_confiao_application def parties(request, pool): Party = pool.get('party.party') if request.method == 'GET': parties = Party.search_read( [], order=[('id', 'ASC')], fields_names=['id', 'name']) return parties if request.method == 'POST': data = json.loads( request.get_data().decode() ) party = Party() party.name = data['name'] party.save() @app.route( '//sale_don_confiao/party/', methods=['GET']) @allow_null_origin @with_pool @with_transaction() @don_confiao_application def party(request, pool, party: int): Party = pool.get('party.party') if request.method == 'GET': parties = Party.search_read( [('id', '=', party)], order=[('id', 'ASC')], fields_names=['id', 'name']) return parties @app.route('//sale_don_confiao/products', methods=['GET']) @allow_null_origin @with_pool @with_transaction() @don_confiao_application def products(request, pool): Product = pool.get('product.product') products = Product.search_read( [], order=[('id', 'ASC')], fields_names=['id', 'name']) return products @app.route('//sale_don_confiao/sales', methods=['GET']) @allow_null_origin @with_pool @with_transaction() @don_confiao_application def sales(request, pool): data = json.loads( request.get_data().decode() ) with Transaction().set_context( {'company': data['company']}): Sale = pool.get('sale.sale') sales = Sale.search_read([ # ('company', '=', data['company']), # ('state', '=', 'draft') ], order=[ ('id', 'ASC') ], fields_names=['id', 'party.name']) return sales