web.DataModel отсутствует odoo11 - PullRequest
0 голосов
/ 18 мая 2018

Я меняю модуль odoo 10 на odoo 11. У меня проблема с отсутствующей зависимостью web.DataModel.Как я могу преобразовать следующий код в версию odoo 11.

 var temp = {
       'partner_id': client['id'],
       'coupon_pos': cp.code,
          };
 new Model('partner.coupon.pos').call('update_history', 
 ['',temp]).done(function (result) {
     // alert("result")
     var applied = self.pos.applied_coupon;
     var already_used = false;
     for (var j in applied) {
     if (applied[j]['partner_id'][0] == client['id'] &&
         applied[j]['coupon_pos'] == order.coupon_status['code']) {
         applied[j]['number_pos'] += 1;
         already_used = true;
         break;
     }
   }
   if (!already_used) {
      var temp = {
          'partner_id': [client['id'], client['name']],
          'number_pos': 1,
          'coupon_pos': order.coupon_status['code']
       };
       self.pos.applied_coupon.push(temp);
    }
 });
self.gui.close_popup();

1 Ответ

0 голосов
/ 22 мая 2018

В v10 web.DataModel используется для вызова метода py в js, но не рекомендуется в odoo v11.Если вы хотите вызвать любой метод py в js-файле, вам нужно использовать метод _rpc.Например:

this._rpc({
                model: 'model.name',
                method: 'method_name',
                args: [arguments],
            })
            .then(function(result) {
                //custom code
            });

Таким образом, вы можете преобразовать код v10 js в v11.

...