llamar a un metodo de un modelo desde javascript

154 views
Skip to first unread message

francisco jose

unread,
Jun 30, 2018, 4:27:57 AM6/30/18
to Usuarios Odoo / OpenERP en España
muy buenas, estoy intentando hacer como bien digo en el asunto llamar a un metodo de un modelo pero en la documentacion no hay nada claro de como hacer y viendo por internet no me solucionó la duda a si que comparto lo que tengo en el codigo.

template.xml

<xpath expr="." position="inside">
<script src="/acp_webjava/static/src/js/acp_pg.js"></script>
</xpath>7

acp_pg.js

var Users = new openerp.Model('res.users');

que segun la documentacion oficial debería funcionar pero no funciona me lanza error en openerp me dice que no existe.

lo  que intento es despues de crear el objeto Users segun la documentación puedo usar Users.call() para llamar a un metodo pero no se como hacerlo segun estoy viendo por internet tengo que crear una funcion con el mismo nombre que mi modulo

function my_module(instance, module)
{
   
module = instance.point_of_sale;
   
var QWeb = instance.web.qweb;
    _t
= instance.web._t;
   
var OrderSuper = module.ProductListWidget;
}


pero tampoco veo nada de documentación respecto a esto.

Luis Planes

unread,
Jun 30, 2018, 5:42:51 AM6/30/18
to openerp-s...@googlegroups.com
Hola Francisco, busca el texto .rpc en ficheros con extensión .js y verás multitud de ejemplos. Ten cuidado con la versión de odoo, ya que puede haber diferencias.
Por ejemplo: 

        options = options || {};
        return session.rpc('/web/dataset/search_read', {
            model: this._model.name,
            fields: this._fields || false,
            domain: pyeval.eval('domains',
                    [this._model.domain(this._filter)]),
            context: pyeval.eval('contexts',
                    [this._model.context(this._context)]),
            offset: this._offset,
            limit: this._limit,
            sort: serialize_sort(this._order_by)
        }, options).then(function (results) {
            self._count = results.length;
            return results.records;
        }, null);


Luis Planes
679 197 619
974 315 411
@luisplanes


Avda. San José María Escrivá, 8

22300 Barbastro (Huesca)

AVISO LEGAL: Este mensaje se dirige exclusivamente a su destinatario individual o a la entidad a la cual va dirigido. La información contenida en este correo electrónico, y en su caso en los documentos adjuntos, es información privilegiada para uso exclusivo de la persona y/o personas a las que va dirigido. No está permitido el acceso a este mensaje a cualquier otra persona distinta a los indicados. Si Usted no es uno de los destinatarios, cualquier duplicación, reproducción, distribución, así como cualquier uso de la información contenida en él o cualquiera otra acción u omisión tomada en relación con el mismo, está prohibida y puede ser ilegal. En dicho caso, por favor, notifíquelo al remitente y proceda a la eliminación de este correo electrónico, así como de sus adjuntos si los hubiere.

En cumplimiento de la legislación española vigente en materia de protección de datos de carácter personal y del RGPD 679/2016 le informamos que sus datos están siendo objeto de tratamiento por parte de PLANES ASESORÍA Y SOLUCIONES INFORMÁTICAS S.L. con CIF B22236541, con la finalidad del mantenimiento y gestión de relaciones comerciales y administrativas. La base jurídica del tratamiento es el interés legítimo de la empresa. No se prevén cesiones de sus datos, salvo que exista una obligación legal. Para ejercitar sus derechos puede dirigirse a PLANES ASESORÍA Y SOLUCIONES INFORMÁTICAS S.L.domiciliada en Avda. San Josemaría Escrivá, nº 822300 de Barbastro (HUESCA), o bien por email a in...@planesnet.com, con el fin de ejercer sus derechos de acceso, rectificación, supresión (derecho al olvido), limitación de tratamiento, portabilidad de los datos, oposición, y a no ser objeto de decisiones automatizadas, indicando como Asunto: “Derechos Ley Protección de Datos”, y adjuntando fotocopia de su DNI.




--
Has recibido este mensaje porque estás suscrito al grupo "Usuarios Odoo / OpenERP en España" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-users+unsub...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

francisco jose

unread,
Jul 1, 2018, 1:38:31 PM7/1/18
to Usuarios Odoo / OpenERP en España
Gracias luis planes, estoy usando Odoo 8 , podrías ponerme algun ejemplo de como poder llamar a un método de un modelo desde javascript?

Luis Planes

unread,
Jul 2, 2018, 7:00:52 AM7/2/18
to openerp-s...@googlegroups.com
Tienes muchos ejemplos en el propio código:
Por ejemplo: en addons/website_sale/static/src/js/website_sale.js

    $(oe_website_sale).on("change", 'input[name="add_qty"]', function (event) {
        product_ids = [];
        var product_dom = $(".js_product .js_add_cart_variants[data-attribute_value_ids]").last();
        product_dom.data("attribute_value_ids").forEach(function(entry) {
            product_ids.push(entry[0]);});
        var qty = $(event.target).closest('form').find('input[name="add_qty"]').val();

        openerp.jsonRpc("/shop/get_unit_price", 'call', {'product_ids': product_ids,'add_qty': parseInt(qty)})
        .then(function (data) {
            var current = product_dom.data("attribute_value_ids");
            for(var j=0; j < current.length; j++){
                current[j][2] = data[current[j][0]];
            }
            product_dom.attr("data-attribute_value_ids", JSON.stringify(current)).trigger("change");
        });
    });


Luis Planes
679 197 619
974 315 411
@luisplanes


Avda. San José María Escrivá, 8

22300 Barbastro (Huesca)

AVISO LEGAL: Este mensaje se dirige exclusivamente a su destinatario individual o a la entidad a la cual va dirigido. La información contenida en este correo electrónico, y en su caso en los documentos adjuntos, es información privilegiada para uso exclusivo de la persona y/o personas a las que va dirigido. No está permitido el acceso a este mensaje a cualquier otra persona distinta a los indicados. Si Usted no es uno de los destinatarios, cualquier duplicación, reproducción, distribución, así como cualquier uso de la información contenida en él o cualquiera otra acción u omisión tomada en relación con el mismo, está prohibida y puede ser ilegal. En dicho caso, por favor, notifíquelo al remitente y proceda a la eliminación de este correo electrónico, así como de sus adjuntos si los hubiere.

En cumplimiento de la legislación española vigente en materia de protección de datos de carácter personal y del RGPD 679/2016 le informamos que sus datos están siendo objeto de tratamiento por parte de PLANES ASESORÍA Y SOLUCIONES INFORMÁTICAS S.L. con CIF B22236541, con la finalidad del mantenimiento y gestión de relaciones comerciales y administrativas. La base jurídica del tratamiento es el interés legítimo de la empresa. No se prevén cesiones de sus datos, salvo que exista una obligación legal. Para ejercitar sus derechos puede dirigirse a PLANES ASESORÍA Y SOLUCIONES INFORMÁTICAS S.L.domiciliada en Avda. San Josemaría Escrivá, nº 822300 de Barbastro (HUESCA), o bien por email a in...@planesnet.com, con el fin de ejercer sus derechos de acceso, rectificación, supresión (derecho al olvido), limitación de tratamiento, portabilidad de los datos, oposición, y a no ser objeto de decisiones automatizadas, indicando como Asunto: “Derechos Ley Protección de Datos”, y adjuntando fotocopia de su DNI.




El 1 de julio de 2018, 19:38, francisco jose <franc...@gmail.com> escribió:
Gracias luis planes, estoy usando Odoo 8 , podrías ponerme algun ejemplo de como poder llamar a un método de un modelo desde javascript?
--
Has recibido este mensaje porque estás suscrito al grupo "Usuarios Odoo / OpenERP en España" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-users+unsub...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

francisco jose

unread,
Jul 2, 2018, 8:41:05 AM7/2/18
to Usuarios Odoo / OpenERP en España
Muchas gracias, me está siendo de mucha ayuda.
Reply all
Reply to author
Forward
0 new messages