ORDER IMPORT - TypeError: int() argument must be a string or a number, not 'NoneType'

Bug #1045335 reported by Ivan Kunz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Magento OpenERP Connector
New
Undecided
Unassigned

Bug Description

I get this exception during Order Import

Magento 1.7

magentoerpconnect: revision 659
6.1: revision 10
extra_trunk: revision 5785

OpenERP Server Error

Client Traceback (most recent call last):
  File "/opt/openerp/server/openerp/addons/web/common/http.py", line 180, in dispatch
    response["result"] = method(controller, self, **self.params)
  File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1004, in call_button
    action = self.call_common(req, model, method, args, domain_id, context_id)
  File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 948, in call_common
    return self._call_kw(req, model, method, args, {})
  File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 962, in _call_kw
    return getattr(req.session.model(model), method)(*args, **kwargs)
  File "/opt/openerp/server/openerp/addons/web/common/openerplib/main.py", line 250, in proxy
    args, kw)
  File "/opt/openerp/server/openerp/addons/web/common/openerplib/main.py", line 117, in proxy
    result = self.connector.send(self.service_name, method, *args)
  File "/opt/openerp/server/openerp/addons/web/common/http.py", line 611, in send
    raise fault

Server Traceback (most recent call last):
  File "/opt/openerp/server/openerp/addons/web/common/http.py", line 592, in send
    result = openerp.netsvc.dispatch_rpc(service_name, method, args)
  File "/opt/openerp/server/openerp/netsvc.py", line 360, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/opt/openerp/server/openerp/service/web_services.py", line 572, in dispatch
    res = fn(db, uid, *params)
  File "/opt/openerp/server/openerp/osv/osv.py", line 167, in execute_kw
    return self.execute(db, uid, obj, method, *args, **kw or {})
  File "/opt/openerp/server/openerp/osv/osv.py", line 121, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/opt/openerp/server/openerp/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/opt/openerp/server/openerp/osv/osv.py", line 164, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/opt/openerp/server/openerp/addons/base_sale_multichannels/sale.py", line 324, in import_orders
    self.import_shop_orders(cr, uid, shop, defaults, context)
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/sale.py", line 161, in import_shop_orders
    context=ctx)
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/sale.py", line 780, in mage_import_base
    cr, uid, conn, ext_order_ids, external_referential_id, defaults=defaults, context=context)
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/sale.py", line 810, in _import_orders
    cr, uid, conn, referential_id, mapping_id[0], order_ids_filtred, defaults, context)
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/magerp_osv.py", line 315, in mage_import_one_by_one
    record_cr, uid, conn, record, external_referential_id, mapping_id, defaults=defaults, context=import_ctx)
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/magerp_osv.py", line 296, in _mage_import_one
    rec_result = self.ext_import(cr, uid, rec_data, referential_id, defaults, context)
  File "/opt/openerp/server/openerp/addons/base_external_referentials/external_osv.py", line 615, in ext_import
    context=context)
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/sale.py", line 743, in _ext_import_one_cr
    cr, uid, external_data, referential_id, defaults=defaults, context=context)
  File "/opt/openerp/server/openerp/addons/base_external_referentials/external_osv.py", line 534, in _ext_import_one_cr
    context=import_ctx)[0]
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/sale.py", line 524, in convert_extdata_into_oedata
    res = super(sale_order, self).convert_extdata_into_oedata(cr, uid, external_data, external_referential_id, parent_data=parent_data, defaults=defaults, context=context)
  File "/opt/openerp/server/openerp/addons/base_external_referentials/external_osv.py", line 409, in convert_extdata_into_oedata
    result.append(self.oevals_from_extdata(cr, uid, external_referential_id, each_row, mapping_lines, key_for_external_id, parent_data, result, defaults, context))
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/sale.py", line 602, in oevals_from_extdata
    cr, uid, external_referential_id, data_record, context=context))
  File "/opt/openerp/server/openerp/addons/magentoerpconnect/sale.py", line 276, in get_order_addresses
    is_guest_order = bool(int(data_record.get('customer_is_guest', 0)))
TypeError: int() argument must be a string or a number, not 'NoneType'

I fixed it in this way.

is_guest_order = bool(int( 0 if data_record.get('customer_is_guest', 0) is None else data_record.get('customer_is_guest', 0) ))

Ivan

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.