12
_import_done_fields = {
13
'num': {'string':'New Sales Orders', 'readonly':True, 'type':'integer'}
16
_import_done_form = '''<?xml version="1.0"?>
17
<form string="Saleorders import">
18
<separator string="eSale Orders imported" colspan="4" />
22
def _do_import(self, cr, uid, data, context):
23
self.pool = pooler.get_pool(cr.dbname)
24
ids = self.pool.get('esale_joomla.web').search(cr, uid, [])
26
for website in self.pool.get('esale_joomla.web').browse(cr, uid, ids):
27
server = xmlrpclib.ServerProxy("%s/tinyerp-synchro.php" % website.url)
29
cr.execute("select max(web_ref) from esale_joomla_order where web_id=%d", (website.id,))
30
max_web_id=cr.fetchone()[0]
32
saleorders = server.get_saleorders(max_web_id or 0)
35
pids = self.pool.get('esale_joomla.partner').search(cr, uid, [('esale_id','=',so['delivery']['esale_id'])])
38
self.pool.get('esale_joomla.partner').write(cr, uid, pids, so['delivery'] )
40
adr_ship = self.pool.get('esale_joomla.partner').create(cr, uid, so['delivery'] )
42
pids = self.pool.get('esale_joomla.partner').search(cr, uid, [('esale_id','=',so['billing']['esale_id'])])
45
self.pool.get('esale_joomla.partner').write(cr, uid, pids, so['billing'] )
47
adr_bill = self.pool.get('esale_joomla.partner').create(cr, uid, so['billing'] )
49
order_id=self.pool.get('esale_joomla.order').create(cr, uid, {
53
'date_order': so['date'] or time.strftime('%Y-%m-%d'),
54
'note': so['note'] or '',
55
'epartner_shipping_id': adr_ship,
56
'epartner_invoice_id': adr_bill,
59
for orderline in so['lines']:
60
print orderline, website.id
61
ids=self.pool.get('esale_joomla.product').search(cr, uid, [('esale_joomla_id', '=', orderline['product_id']), ('web_id', '=', website.id)])
66
osc_product=self.pool.get('esale_joomla.product').browse(cr, uid, osc_product_id)
68
'product_id': osc_product.product_id.id,
69
'product_qty': orderline['product_qty'],
70
'name': osc_product.name,
72
'product_uom_id': osc_product.product_id.uom_id.id,
73
'price_unit': orderline['price'],
77
self.pool.get('esale_joomla.order.line').create(cr, uid, {
78
'product_id': osc_product.product_id.id,
79
'product_qty': orderline['product_qty'],
80
'name': osc_product.name,
82
'product_uom_id': osc_product.product_id.uom_id.id,
83
'price_unit': orderline['price'],
88
class wiz_esale_joomla_import_sos(wizard.interface):
91
'actions': [_do_import],
94
'arch': _import_done_form,
95
'fields': _import_done_fields,
96
'state': [('end', 'End')]
100
wiz_esale_joomla_import_sos('esale_joomla.saleorders');