Вы также можете сделать с помощью 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>