Скрыть кнопку редактирования конвейера только на последней стадии в odoo 13 - PullRequest
0 голосов
/ 20 марта 2020

Как скрыть кнопку редактирования только на этапе CRM Won с использованием odoo 13 enterprise

Уже я пытался использовать следующий код в представлении odoo 13 XML:

attrs="{edit:'false':[('stage_id','=','4')]}"

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

Вы также можете сделать с помощью js. Просто замените имя модуля и состояние .

odoo.define('module.extension_name', function (require) {
var FormView = require('web.FormView');
FormView.include({
 load_record: function() {
  this._super.apply(this, arguments);
  if (this.model === 'your.model') {
      if (this.datarecord && (this.datarecord.state === 'state')) {
        this.$buttons.find('.o_form_button_edit').css({'display':'none'});
      }
      else {
        this.$buttons.find('.o_form_button_edit').css({'display':''});
      }
   }
});

});

Просто назовите этот js in in xml файл.

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <template id="assets_backend" name="account assets"inherit_id="web.assets_backend">
            <xpath expr="." position="inside">
                <script type="text/javascript" src="/path_to_js/static/src/js/file.js"/>
            </xpath>
        </template>
    </data>
</odoo>
0 голосов
/ 20 марта 2020

Вариант 1: Вы можете ограничить кнопку редактирования, расширив вид формы js.

Вариант 2: Вы можете скрыть кнопки редактирования условно, используя правило записи. Вам необходимо установить домен в правиле записи.

<record model="ir.rule" id="your_reference_id">
    <field name="name">your reference name</field>
    <field name="model_id" ref="model_model_name"/>
    <field eval="0" name="perm_unlink"/>
    <field eval="0" name="perm_write"/>
    <field eval="1" name="perm_read"/>
    <field eval="0" name="perm_create"/>
    <field name="domain_force">[(Condition)]</field>
</record>

Спасибо

...