You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
892 B
27 lines
892 B
/* Copyright 2018 Cristian Salamea
|
|
* License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */
|
|
|
|
odoo.define('web.web_action_conditionable', function (require) {
|
|
"use strict";
|
|
|
|
var View = require('web.View');
|
|
|
|
View.include({
|
|
is_action_enabled: function(action) {
|
|
var attrs = this.fields_view.arch.attrs;
|
|
if (action in attrs) {
|
|
try {
|
|
return this._super(action);
|
|
} catch(error) {
|
|
var expr = attrs[action];
|
|
var expression = py.parse(py.tokenize(expr));
|
|
var cxt = this.dataset.get_context().__eval_context.__contexts[1];
|
|
var result = py.evaluate(expression, cxt).toJSON();
|
|
return result;
|
|
}
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
});
|
|
});
|