Odoo отключена кнопка редактирования в зависимости от состояния

Этот вопрос уже задан кем-то, это на примере вопроса

Как скрыть форму кнопки редактирования только в том случае, если счет 'состояние' оплачено ' Odoo v8?

но я не могу получить верный ответ, кто-то может мне помочь, мне действительно нужно скрыть или отключить эту кнопку.

Для вашей информации я использую odoo v.10

заранее спасибо

1 ответ

Единственный путь к этому Javascript вам нужно добавить это поведение в представление формы, создать собственное дополнение и просто добавить этот файл javascript в свой backend assets template

//file: static/src/js/disable_edit_for_paid_invoice.js

openerp.your_addon_name = function(instance, local) {
    var instance = openerp;
    var FormView = instance.web.FormView;

    // override load_record
    FormView.include({
        load_record: function(record) {
        // disable only for cancel and paid account.invoice
        if (record){
            if (this.model == 'account.invoice' & _.contains(['paid', 'cancel'], record.state)){
                    $('button.oe_form_button_edit').hide()
                }else {
                    $('button.oe_form_button_edit').show()
                }
        }
        // call super
        return this._super(record);
        }
    });
}

Добавьте это в шаблон базового ресурса

    <template id="assets_backend" name="disable edit paid invoice assets" inherit_id="web.assets_backend">
        <xpath expr="." position="inside">
            <script type="text/javascript" src="/your_addon_name/static/src/js/disable_edit_for_paid_invoice.js"></script>
        </xpath>
    </template>

Не забудьте заменить your_addon_name посредством real addon name that you create,

Другие вопросы по тегам