Assalamu'alaikum saya akan berbagi cara bagaimana menghide tomobl di odoo menggunakan javascript di odoo..
pertama2 tambahkan 2 kelas di tombol yang akan di beri fungsi hidden.
<header>
<button string="Get Direction POI" class="process_route oe_highlight o_hidden" name="get_direction_poi" type="object" />
</header>
sekarang saya memiliki kelas process_route dan o_hidden. saya menggunakan process_route sebagai selector di JS agar dapat memproses tombolnya. dan o_hidden untuk menghidden tombol.
odoo.define("ab_route_widget.gmaps_route_widget", function (require) {
"use strict";
var FormRenderer = require('web.FormRenderer');
var FormView = require('web.FormView');
var view_registry = require('web.view_registry');
var GmapsRenderer = FormRenderer.extend({
_renderHeaderButton: function (node) {
var $button = this._super.apply(this, arguments);
if (this.mode === 'edit') {
if ($button.hasClass('process_route')) {
$button.removeClass('o_hidden')
}
}
return $button;
},
})
var GmapsForm = FormView.extend({
jsLibs: [],
config: _.extend({}, FormView.prototype.config, {
Renderer: GmapsRenderer,
}),
});
view_registry.add('gmaps_form', GmapsForm);
})
kode diatas adalah isi dari file js tersebut silahkan di copas dan di ubah variabelnya. _renderHeaderButton adalah fungsi asli dari odoo yang saya overiding agar saya bisa menyelipkan sintaks. pada sintaks tersebut pada saat odoo dalam mode edit, maka kelas o_hidden akan dihapus dan tombol akan kelihatan di UI odoo.