← Back to team overview

openerp-connector-community team mailing list archive

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