Import Order discount

Bug #619289 reported by ntrubert-cobweb
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Magento OpenERP Connector
Won't Fix
Undecided
Unassigned

Bug Description

I'm working on lp:~openlabs-akretion-consortium/magentoerpconnect/improved_discount_n_address
When I try to import order got this ERROR:

[2010-08-17 16:59:26,544] ERROR:web-services:[01]:
[2010-08-17 16:59:26,544] ERROR:web-services:[02]: Environment Information :
[2010-08-17 16:59:26,544] ERROR:web-services:[03]: System : Linux-2.6.26-2-vserver-686-i686-with-debian-5.0.5
[2010-08-17 16:59:26,544] ERROR:web-services:[04]: OS Name : posix
[2010-08-17 16:59:26,545] ERROR:web-services:[05]: Operating System Release : 2.6.26-2-vserver-686
[2010-08-17 16:59:26,545] ERROR:web-services:[06]: Operating System Version : #1 SMP Thu May 13 01:30:39 UTC 2010
[2010-08-17 16:59:26,545] ERROR:web-services:[07]: Operating System Architecture : 32bit
[2010-08-17 16:59:26,546] ERROR:web-services:[08]: Operating System Locale : fr_FR.UTF8
[2010-08-17 16:59:26,546] ERROR:web-services:[09]: Python Version : 2.5.2
[2010-08-17 16:59:26,546] ERROR:web-services:[10]: OpenERP-Server Version : 5.0.12
[2010-08-17 16:59:26,546] ERROR:web-services:[11]: Last revision No. & ID :
[2010-08-17 16:59:26,546] ERROR:web-services:[12]: Traceback (most recent call last):
[2010-08-17 16:59:26,547] ERROR:web-services:[13]: File "/usr/src/openerp/openerp-server-5.0.12/bin/osv/osv.py", line 58, in wrapper
[2010-08-17 16:59:26,547] ERROR:web-services:[14]: return f(self, dbname, *args, **kwargs)
[2010-08-17 16:59:26,547] ERROR:web-services:[15]: File "/usr/src/openerp/openerp-server-5.0.12/bin/osv/osv.py", line 119, in execute
[2010-08-17 16:59:26,547] ERROR:web-services:[16]: res = pool.execute_cr(cr, uid, obj, method, *args, **kw)
[2010-08-17 16:59:26,547] ERROR:web-services:[17]: File "/usr/src/openerp/openerp-server-5.0.12/bin/osv/osv.py", line 111, in execute_cr
[2010-08-17 16:59:26,548] ERROR:web-services:[18]: return getattr(object, method)(cr, uid, *args, **kw)
[2010-08-17 16:59:26,548] ERROR:web-services:[19]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/base_sale_multichannels/sale.py", line 196, in import_orders
[2010-08-17 16:59:26,548] ERROR:web-services:[20]: self.import_shop_orders(cr, uid, shop, defaults, ctx)
[2010-08-17 16:59:26,548] ERROR:web-services:[21]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/sale.py", line 114, in import_shop_orders
[2010-08-17 16:59:26,548] ERROR:web-services:[22]: 'ids_or_filter':ids_or_filter
[2010-08-17 16:59:26,549] ERROR:web-services:[23]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/magerp_osv.py", line 262, in mage_import_base
[2010-08-17 16:59:26,549] ERROR:web-services:[24]: rec_result = self.ext_import(cr, uid, rec_data, external_referential_id, defaults, context)
[2010-08-17 16:59:26,549] ERROR:web-services:[25]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/base_external_referentials/external_osv.py", line 155, in ext_import
[2010-08-17 16:59:26,549] ERROR:web-services:[26]: vals = self.oevals_from_extdata(cr, uid, external_referential_id, each_row, for_key_field, mapping_lines, defaults, context)
[2010-08-17 16:59:26,549] ERROR:web-services:[27]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/sale.py", line 418, in oevals_from_extdata
[2010-08-17 16:59:26,550] ERROR:web-services:[28]: res = self.get_order_discount(cr, uid, res, data_record, context)
[2010-08-17 16:59:26,550] ERROR:web-services:[29]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/sale.py", line 394, in get_order_discount
[2010-08-17 16:59:26,550] ERROR:web-services:[30]: discount_product_id = self.pool.get('product.product').search(cr, uid, [('default_code', '=', 'DISCOUNT MAGENTO')])[0]
[2010-08-17 16:59:26,550] ERROR:web-services:[31]: IndexError: list index out of range

I disabled this line in sale.py and it works of course without discount management
#res = self.get_order_discount(cr, uid, res, data_record, context)

Revision history for this message
Raimon Esteve (www.zikzakmedia.com) (resteve) wrote : Re: [Bug 619289] [NEW] Import Order discount

> [2010-08-17 16:59:26,550] ERROR:web-services:[30]:     discount_product_id = self.pool.get('product.product').search(cr, uid, [('default_code', '=', 'DISCOUNT MAGENTO')])[0]

Review if this product exist.

note:
sale.py at 338 revision not exist this search code of "default_code".
http://bazaar.launchpad.net/~openlabs-akretion-consortium/magentoerpconnect/magentoerpconnect/annotate/head:/sale.py

--
Raimon Esteve
// OpenERP, gestió empresarial flexible
// Magento, botigues virtuals dinàmiques
// AulaERP, formació online
// easyOERP, tu aplicación OpenERP lista para usar
www.zikzakmedia.com

Revision history for this message
ntrubert-cobweb (ntrubert) wrote :

No, DISCOUNT MAGENTO product doesn't exist.

So I create one with this default code and now I have new error :

[2010-08-18 10:14:40,005] ERROR:web-services:[19]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/base_sale_multichannels/sale.py", line 196, in import_orders
[2010-08-18 10:14:40,005] ERROR:web-services:[20]: self.import_shop_orders(cr, uid, shop, defaults, ctx)
[2010-08-18 10:14:40,006] ERROR:web-services:[21]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/sale.py", line 114, in import_shop_orders
[2010-08-18 10:14:40,006] ERROR:web-services:[22]: 'ids_or_filter':ids_or_filter
[2010-08-18 10:14:40,006] ERROR:web-services:[23]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/magerp_osv.py", line 262, in mage_import_base
[2010-08-18 10:14:40,007] ERROR:web-services:[24]: rec_result = self.ext_import(cr, uid, rec_data, external_referential_id, defaults, context)
[2010-08-18 10:14:40,007] ERROR:web-services:[25]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/base_external_referentials/external_osv.py", line 155, in ext_import
[2010-08-18 10:14:40,007] ERROR:web-services:[26]: vals = self.oevals_from_extdata(cr, uid, external_referential_id, each_row, for_key_field, mapping_lines, defaults, context)
[2010-08-18 10:14:40,007] ERROR:web-services:[27]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/sale.py", line 418, in oevals_from_extdata
[2010-08-18 10:14:40,008] ERROR:web-services:[28]: res = self.get_order_discount(cr, uid, res, data_record, context)
[2010-08-18 10:14:40,008] ERROR:web-services:[29]: File "/usr/src/openerp/openerp-server-5.0.12/bin/addons/magentoerpconnect_generic/sale.py", line 401, in get_order_discount
[2010-08-18 10:14:40,008] ERROR:web-services:[30]: res['order_line'].append((0, 0, {
[2010-08-18 10:14:40,009] ERROR:web-services:[31]: KeyError: 'order_line'

About default_code "DISCOUNT MAGENTO" search I'm using other branch improved_discount_n_address (mark as mature branch) so I'm not so interested by discount management but more by the alternative address management.

Thanks for your help!

Revision history for this message
Mutunga Mutua (jeffmuts) wrote :

Nico 74

Thanks so much the Sale.py was fixed but now I get this error when I try importing the orders

File "/usr/local/lib/python2.6/dist-packages/openerp-server/addons/magentoerpconnect/partner.py", line 77, in find_or_create
    logger = netsvc.Logger()
NameError: global name 'netsvc' is not defined

I Tried fixing it by creating a class netsvc with an attribute logger but then I got an error magento_address['is_active']==1 key error

So I returned it as it was.

I am sure this is something you might know the answer to.

Kindly assist me.

God bless you.

Regards,

Mutunga Mutua

Revision history for this message
ntrubert-cobweb (ntrubert) wrote :

Hi,

    def find_or_create(self, cr, uid, magento_address, external_referential_id, address_default, context={}):
        logger = netsvc.Logger()
        create_ids = []
        write_ids = []
        oe_address = self.mage_to_oe_address(cr, uid, magento_address, address_default)
        args = [(key,'=',oe_address.get(key)) for key in oe_address.keys()]
        addr_id = self.search(cr,uid,args,context=context)

        #Comment by Me

        #if magento_address['is_active'] == 1:
        active = True
        #else:
        # active = False

        #oe_address['active'] = active # this should not be a basis of creating a new address.

Hope that it can help you!

Revision history for this message
Sébastien BEAU - http://www.akretion.com (sebastien.beau) wrote :

This branch is not use anymore.
If you still have trouble with the stable branch, please re-open the bug or open a new one.
Best regards

Changed in magentoerpconnect:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.