DonConfia_Dev/modules/sale_don_confiao/routes.py
2025-01-11 17:00:17 -05:00

110 lines
2.7 KiB
Python

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('/<database_name>/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(
'/<database_name>/sale_don_confiao/party/<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('/<database_name>/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(
'/<database_name>/sale_don_confiao/search_products/<product_name>',
methods=['GET'])
@allow_null_origin
@with_pool
@with_transaction()
@don_confiao_application
def search_products(request, pool, product_name):
Product = pool.get('product.product')
products = Product.search_read(
[('name', 'like', product_name)],
order=[('id', 'ASC')],
fields_names=[
'id', 'name', 'list_price',
'description', 'template.forecast_quantity'
])
return products
@app.route('/<database_name>/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