openerp-connector-community team mailing list archive
-
openerp-connector-community team
-
Mailing list archive
-
Message #00451
Re: Cash on delivery
My module:
*backend.py*
# -*- coding: utf-8 -*-
import openerp.addons.connector.backend as backend
import openerp.addons.magentoerpconnect.backend as magento_backend
magento_myversion = backend.Backend(parent=magento_backend.magento,
version='1.6')
*connector.py*
from openerp.addons.connector.connector import install_in_connector
install_in_connector()
*magento_model.py*
from openerp.osv import orm, fields
class magento_backend(orm.Model):
_inherit = 'magento.backend'
def _select_versions(self, cr, uid, context=None):
""" Available versions
Can be inherited to add custom versions.
"""
versions = super(magento_backend, self)._select_versions(cr,
uid, context=context)
versions.append(('1.6', '1.6 My Version'))
return versions
_columns = {
'version': fields.selection(
_select_versions,
string='Version',
required=True),
}
*sale.py (not finishes but not enten in any def)*
from openerp.osv import orm, fields
from openerp.addons.connector.unit.mapper import mapping
from openerp.addons.magentoerpconnect.sale import SaleOrderImportMapper
from .backend import magento_myversion
@magento_myversion
class CashDeliverySeur(SaleOrderImportMapper):
_model_name = 'magento.sale.oder'
@mapping
def debug(self, record):
print "hola*******************"
import pdb
pdb.set_trace()
@mapping
def _add_cash_on_delivery_line_seur(self, map_record,values):
record = map_record.source
amount = float(record.get('i4seur_cashondelivery_surcharge') or
0.0)
print "hola*******************"
if not amount:
return values
line_builder =
self.get_connector_unit_for_model(MagentoCashOnDeliveryLineBuilder)
backend = self.backend_record
print "hola*******************"
tax_include = self.options.tax_include
line_builder.price_unit = amount_incl if tax_include else
amount_excl
line = (0, 0, line_builder.get_line())
values['order_line'].append(line)
return values
# def _add_cash_on_delivery_line(self, map_record, values):
# print "holaa***********************"
# values = super(CashDeliverySeur,
self)._add_cash_on_delivery_line(self, map_record, values)
# record = map_record.source
# amount = float(record.get('i4seur_cashondelivery_surcharge')
or 0.0)
# print "hola*******************"
# if not amount:
# return values
# line_builder =
self.get_connector_unit_for_model(MagentoCashOnDeliveryLineBuilder)
# backend = self.backend_record
# print "hola*******************"
# tax_include = self.options.tax_include
# line_builder.price_unit = amount_incl if tax_include else
amount_excl
# line = (0, 0, line_builder.get_line())
# values['order_line'].append(line)
# return values
@mapping
def finalize(self, map_record, values):
print "finalize*********************"
values = super(finalize, self).finalize(self, map_record, values)
values = self._add_cash_on_delivery_line_seur(map_record, values)
onchange = self.get_connector_unit_for_model(SaleOrderOnChange)
return onchange.play(values, values['magento_order_line_ids'])
El 12/06/14 16:40, Guewen Baconnier escribió:
On 06/12/2014 04:31 PM, Alberto Garcia wrote:
El 12/06/14 16:28, Guewen Baconnier escribió:
On 06/12/2014 04:25 PM, Alberto Garcia wrote:
Thanks Guewen
I try this but not result
My customer use magento 1.6
i have backend:
magento_myversion = backend.Backend(parent=magento_backend.magento,
version='1.6')
Is this version selected in the setup of the backend in the menu
"Connectors > Magento > Backends"?
Yes.
- your custom module calls
openerp.addons.connector.connector.install_in_connector()
I have connector.py with:
from openerp.addons.connector.connector import install_in_connector
install_in_connector()
¿ Some other thing can I do?
Are the python modules correctly imported in __init__.py ?
Yes
Do you have several openerp addons where you declared a custom backend?
--
Alberto Garcia
Consultor Funcional / Jefe Proyecto
References