Как сделать пользовательский виджет доступным для редактирования только при нажатии кнопки «Изменить»?

Я создал собственный виджет рейтинга в openerp, используя Rateit.

Но виджет всегда доступен для редактирования. Как я могу сделать его редактируемым только при нажатии кнопки 'Изменить' и как узнать, что он находится в режиме только для чтения?

xml

<field name="rating" widget="rating"/>

JS

instance.my_module.Rating = instance.web.form.FieldChar.extend({
        template : "rating",
        init: function(field_manager, node){
            this._super.apply(this, arguments);

        },

        start: function() {

            var self = this;

            $('#rateit').rateit({
                value: 0,
                resetable: false
            });
        },
    });

person sajadkk    schedule 20.05.2014    source источник


Ответы (1)


Наконец-то я заработал, вот мой код

start: function() {

            var self = this;
            this.field_manager.has_been_loaded.done(function() {
                $('#rateit').rateit({
                    value: 0,
                    resetable: false
                });
                self.field_manager.on("change:actual_mode", self, self.check_actual_mode);
                self.check_actual_mode();
            });

 },

 check_actual_mode: function(source, options) {
    var self = this;
    if(self.field_manager.get("actual_mode")=='view'){
        $('#rateit').rateit('readonly',true);
    }
    else {
        $('#rateit').rateit('readonly',false);
    }
}
person sajadkk    schedule 20.05.2014