90
92
'web_id': website.id,
91
93
'esale_joomla_id': category[0],
94
'name': len(category[1]) > 64 and category[1][0:61]+'...' or category[1]
94
96
existing = category_pool.search(cr, uid, [('web_id','=',website.id), ('esale_joomla_id', '=', category[0])])
95
97
if len(existing)>0:
175
177
create_id = self.pool.get('res.partner').create(cr, uid, {
176
178
'name': adr.name,
178
create_id2 = self.pool.get('res.partner.address').create(cr, uid, {
179
181
'street': adr.address,
180
182
'partner_id': create_id,
182
184
'city': adr.city,
183
185
'email': adr.email,
184
'country_id': country and country[0][0] or False,
185
'state_id': state and state[0][0] or False,
187
if adr.country and len(country) == 1:
188
list['country_id'] = country and country[0][0]
189
if adr.state and len(state) == 1:
190
list['state_id'] = state and state[0][0]
192
create_id2 = self.pool.get('res.partner.address').create(cr, uid, list)
187
194
self.write(cr, uid, [adr.id], {'address_id': create_id2} )
189
196
esale_joomla_partner()
221
228
def order_create(self, cr, uid, ids, context={}):
222
229
for order in self.browse(cr, uid, ids, context):
223
230
if not (order.partner_id and order.partner_invoice_id and order.partner_shipping_id):
224
raise osv.except_osv('No addresses !',
225
'You must assign addresses before creating the order.')
231
raise osv.except_osv('No addresses !', 'You must assign addresses before creating the order.')
232
#pricelist_id=order.partner_id.property_product_pricelist[0]
226
233
pricelist_id=order.partner_id.property_product_pricelist.id
228
235
for line in order.order_lines:
233
240
'product_uom': line.product_uom_id.id,
234
241
'price_unit': line.price_unit,
236
val_new = self.pool.get('sale.order.line').product_id_change(cr, uid, None,
237
pricelist_id, line.product_id.id, line.product_qty,
238
line.product_uom_id.id, name=line.name,
239
partner_id=order.partner_id.id)['value']
243
val_new = self.pool.get('sale.order.line').product_id_change(cr, uid, None, pricelist_id, line.product_id.id, line.product_qty, line.product_uom_id.id, name=line.name)['value']
240
244
del val_new['price_unit']
241
del val_new['weight']
245
#del val_new['weight']
246
del val_new['th_weight']
247
val_new['product_uos'] = 'product_uos' in val_new and val_new['product_uos'] and val_new['product_uos'][0] or False
242
248
val.update( val_new )
243
val['tax_id'] = [(6,0,val['tax_id'])]
249
val['tax_id'] = 'tax_id' in val and [(6,0,val['tax_id'])] or False
244
250
order_lines.append( (0,0,val) )
245
251
order_id = self.pool.get('sale.order').create(cr, uid, {
246
252
'name': order.name,
256
262
'order_line': order_lines
258
264
self.write(cr, uid, [order.id], {'state':'done', 'order_id': order_id})
259
wf_service = netsvc.LocalService("workflow")
260
wf_service.trg_validate(uid, 'sale.order', order_id, 'order_confirm', cr)
265
# wf_service = netsvc.LocalService("workflow")
266
# wf_service.trg_validate(uid, 'sale.order', order_id, 'order_confirm', cr)
263
269
def address_set(self, cr, uid, ids, *args):
287
294
'order_id': fields.many2one('esale_joomla.order', 'eOrder Ref'),
288
295
'product_qty': fields.float('Quantity', digits=(16,2), required=True),
289
296
'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok','=',True)], change_default=True),
290
'product_uom_id': fields.many2one('product.uom', 'Unit of Measure', required=True),
291
'price_unit': fields.float('Unit Price', required=True),
297
'product_uom_id': fields.many2one('product.uom', 'Unit of Measure',required=True),
298
'price_unit': fields.float('Unit Price',digits=(16, int(config['price_accuracy'])), required=True),
295
302
esale_joomla_order_line()
304
class esale_joomla_web_exportlog(osv.osv):
305
_name = 'esale_joomla.web.exportlog'
306
_description = "eSale webshop Synchronisation log"
308
'name': fields.char('Synchronisation Log',size=64,required=True),
309
'web_id': fields.many2one('esale_joomla.web', 'Web Ref'),
310
'log_date':fields.datetime('Log date',required=True),
311
'log_type':fields.selection([('product','Product'), ('category','Category'),('lang','Language'),('tax','Tax')], 'Export type',readonly=True),
312
'user_id': fields.many2one('res.users', 'Exported By', required=True),
315
'log_date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
316
'user_id' : lambda obj,cr,uid,context: uid,
318
esale_joomla_web_exportlog()
320
class product_product(osv.osv):
321
_name = "product.product"
322
_inherit = "product.product"
324
'exportable':fields.boolean('Export to website'),
327
'exportable':lambda *a: True,