本文整理汇总了Python中trytond.pool.Pool.find_using_magento_data方法的典型用法代码示例。如果您正苦于以下问题:Python Pool.find_using_magento_data方法的具体用法?Python Pool.find_using_magento_data怎么用?Python Pool.find_using_magento_data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trytond.pool.Pool
的用法示例。
在下文中一共展示了Pool.find_using_magento_data方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_payment_using_magento_data
# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import find_using_magento_data [as 别名]
def create_payment_using_magento_data(self, payment_data):
"""
Create sale payment using data magento sent payment data.
"""
Payment = Pool().get('sale.payment')
MagentoPaymentGateway = Pool().get('magento.instance.payment_gateway')
magento_gateway = MagentoPaymentGateway.find_using_magento_data({
'name': payment_data['method']
})
if magento_gateway is None:
return
if payment_data['amount_paid']:
payment, = Payment.create([{
'sale': self.id,
'gateway': magento_gateway.gateway.id,
'magento_id': payment_data['payment_id'],
'amount': Decimal(payment_data['amount_paid']),
'credit_account': self.party.account_receivable.id,
'payment_transactions': [('create', [{
'party': self.party.id,
'address': self.invoice_address.id,
'state': 'completed',
'gateway': magento_gateway.gateway.id,
'amount': Decimal(payment_data['amount_paid']),
'credit_account': self.party.account_receivable.id,
}])]
}])
for transaction in payment.payment_transactions:
transaction.safe_post()
示例2: get_shipping_line_data_using_magento_data
# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import find_using_magento_data [as 别名]
def get_shipping_line_data_using_magento_data(self, order_data):
"""
Returns an unsaved shipping line active record for the given sale
using magento data.
:param order_data: Order Data from magento
"""
MagentoCarrier = Pool().get('magento.instance.carrier')
SaleLine = Pool().get('sale.line')
carrier_data = self.get_carrier_data_from_order_data(order_data)
magento_carrier = MagentoCarrier.find_using_magento_data(carrier_data)
if magento_carrier and magento_carrier.carrier:
# Save shipping carrier in sale
self.carrier = magento_carrier.carrier
product = magento_carrier.carrier.carrier_product
else:
product = None
return SaleLine(**{
'sale': self.id,
'description': order_data['shipping_description'] or
'Magento Shipping',
'product': product,
'unit_price': Decimal(order_data.get('shipping_amount', 0.00)),
'unit': self.channel.default_uom.id,
'note': ' - '.join([
'Magento Shipping',
order_data['shipping_method'],
order_data['shipping_description']
]),
'quantity': 1,
})
示例3: import_order
# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import find_using_magento_data [as 别名]
def import_order(self, order_info):
"Downstream implementation to import sale order from magento"
if self.source != "magento":
return super(Channel, self).import_order(order_info)
Sale = Pool().get("sale.sale")
sale = Sale.find_using_magento_data(order_info)
if sale:
return sale
with Transaction().set_context({"current_channel": self.id}):
with magento.Order(self.magento_url, self.magento_api_user, self.magento_api_key) as order_api:
order_data = order_api.info(order_info["increment_id"])
return Sale.create_using_magento_data(order_data)
示例4: get_shipping_line_data_using_magento_data
# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import find_using_magento_data [as 别名]
def get_shipping_line_data_using_magento_data(self, order_data):
"""
Returns an unsaved shipping line active record for the given sale
using magento data.
:param order_data: Order Data from magento
"""
Uom = Pool().get('product.uom')
MagentoCarrier = Pool().get('magento.instance.carrier')
SaleLine = Pool().get('sale.line')
carrier_data = {}
unit, = Uom.search([('name', '=', 'Unit')])
# Fetch carrier code from shipping_method
# ex: shipping_method : flaterate_flaterate
# carrier_code : flaterate
carrier_data['code'], _ = order_data['shipping_method'].split('_', 1)
magento_carrier = MagentoCarrier.find_using_magento_data(carrier_data)
if magento_carrier and magento_carrier.carrier:
product = magento_carrier.carrier.carrier_product
else:
product = None
return SaleLine(**{
'sale': self.id,
'description': order_data['shipping_description'] or
'Magento Shipping',
'product': product,
'unit_price': Decimal(order_data.get('shipping_amount', 0.00)),
'unit': unit.id,
'note': ' - '.join([
'Magento Shipping',
order_data['shipping_method'],
order_data['shipping_description']
]),
'quantity': 1,
})
示例5: create_payment_using_magento_data
# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import find_using_magento_data [as 别名]
def create_payment_using_magento_data(self, payment_data):
"""
Create sale payment using data magento sent payment data.
"""
Payment = Pool().get('sale.payment')
MagentoPaymentGateway = Pool().get('magento.instance.payment_gateway')
magento_gateway = MagentoPaymentGateway.find_using_magento_data({
'name': payment_data['method']
})
if magento_gateway is None:
return
if payment_data['amount_paid']:
payment, = Payment.create([{
'sale': self.id,
'gateway': magento_gateway.gateway.id,
'magento_id': payment_data['payment_id'],
'amount': Decimal(payment_data['amount_paid']),
'credit_account': self.party.account_receivable.id,
}])
self.capture_payments(Decimal(payment_data['amount_paid']))
self.process_pending_payments()