コンテンツへスキップ
メニュー
この質問にフラグが付けられました
4302 ビュー

I am using odoo v11. One boolean field is there in res.users object. Based on that field I want to load library in a calendar view. I have tried the following code, but this does not work. It will display an error like self._rpc is not a function.

var is_enable_custom_cal;
var CalendarView = require('web.CalendarView');

CalendarView.include({

    jsLibs: [],

    cssLibs: [],

    init: function (viewInfo, params) {

    var self = this; 

    this._super.apply(this, arguments);

        self._rpc({

            model: 'res.users',

            method: 'get_current_user_cal',

            args: [[]],

    }).then(function (result) {

    is_enable_custom_cal = result['is_enable_custom_cal'];

    if(is_enable_custom_cal){

    self.jsLibs.push('.../static/lib/fullcalendar.js');

    self.cssLibs.push('../static/src/css/fullcalendar.css');

              }else{

              self.jsLibs.push('/web/static/lib/fullcalendar/js/fullcalendar.js');

              self.cssLibs.push('/web/static/lib/fullcalendar/css/fullcalendar.css');

              }

            });

    },
    });
Some Help?

アバター
破棄

I think you forget to define rpc in first of line on your file.

The rpc functions located in web module if you like to access rpc query and functions you should define below code.

var rpc = require('web.rpc');

We already did it to access calendar library in POS.

We’ll do it.

著作者

web.rpc worked for me.Thanks.

関連投稿 返信 ビュー 活動
2
5月 22
2471
1
9月 21
20660
2
5月 24
2641
1
6月 23
3534
0
2月 23
2343