forked from Techsystech/web
[FIX] web_action_conditionable: Adapt to new api
parent
fafbbe8a04
commit
ada18f0338
|
@ -25,7 +25,17 @@ web_action_conditionable
|
|||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
This module was written to extend the functionality of actions in tree views.
|
||||
This module was written to extend the functionality of actions in
|
||||
tree view (One2Many fields).
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
Odoo by default support:
|
||||
|
||||
::
|
||||
|
@ -36,20 +46,10 @@ with this module you can:
|
|||
|
||||
::
|
||||
|
||||
<tree delete="state=='draft'">
|
||||
<tree delete="state=='draft'" create="state!='sent'">
|
||||
|
||||
It works in any tree view, so you can use it in One2many.
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
This module has no direct interface, it only adds functionality for custom views.
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
|
@ -73,6 +73,7 @@ Contributors
|
|||
|
||||
* Cristian Salamea <cristian.salamea@gmail.com>
|
||||
* André Paramés <github@andreparames.com> (https://www.acsone.eu/)
|
||||
* Alexandre Díaz <alexandre.diaz@tecnativa.com>
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
* Cristian Salamea <cristian.salamea@gmail.com>
|
||||
* André Paramés <github@andreparames.com> (https://www.acsone.eu/)
|
||||
* Alexandre Díaz <alexandre.diaz@tecnativa.com>
|
||||
|
|
|
@ -1,14 +1,2 @@
|
|||
This module was written to extend the functionality of actions in tree views.
|
||||
Odoo by default support:
|
||||
|
||||
::
|
||||
|
||||
<tree delete="false" create="false">
|
||||
|
||||
with this module you can:
|
||||
|
||||
::
|
||||
|
||||
<tree delete="state=='draft'">
|
||||
|
||||
It works in any tree view, so you can use it in One2many.
|
||||
This module was written to extend the functionality of actions in
|
||||
tree view (One2Many fields).
|
||||
|
|
|
@ -1 +1,13 @@
|
|||
This module has no direct interface, it only adds functionality for custom views.
|
||||
Odoo by default support:
|
||||
|
||||
::
|
||||
|
||||
<tree delete="false" create="false">
|
||||
|
||||
with this module you can:
|
||||
|
||||
::
|
||||
|
||||
<tree delete="state=='draft'" create="state!='sent'">
|
||||
|
||||
It works in any tree view, so you can use it in One2many.
|
||||
|
|
|
@ -368,16 +368,8 @@ ul.auto-toc {
|
|||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/12.0/web_action_conditionable"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_action_conditionable"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
|
||||
<p>This module was written to extend the functionality of actions in tree views.
|
||||
Odoo by default support:</p>
|
||||
<pre class="literal-block">
|
||||
<tree delete="false" create="false">
|
||||
</pre>
|
||||
<p>with this module you can:</p>
|
||||
<pre class="literal-block">
|
||||
<tree delete="state=='draft'">
|
||||
</pre>
|
||||
<p>It works in any tree view, so you can use it in One2many.</p>
|
||||
<p>This module was written to extend the functionality of actions in
|
||||
tree view (One2Many fields).</p>
|
||||
<p><strong>Table of contents</strong></p>
|
||||
<div class="contents local topic" id="contents">
|
||||
<ul class="simple">
|
||||
|
@ -393,7 +385,15 @@ Odoo by default support:</p>
|
|||
</div>
|
||||
<div class="section" id="usage">
|
||||
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
|
||||
<p>This module has no direct interface, it only adds functionality for custom views.</p>
|
||||
<p>Odoo by default support:</p>
|
||||
<pre class="literal-block">
|
||||
<tree delete="false" create="false">
|
||||
</pre>
|
||||
<p>with this module you can:</p>
|
||||
<pre class="literal-block">
|
||||
<tree delete="state=='draft'" create="state!='sent'">
|
||||
</pre>
|
||||
<p>It works in any tree view, so you can use it in One2many.</p>
|
||||
</div>
|
||||
<div class="section" id="bug-tracker">
|
||||
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
|
||||
|
@ -416,6 +416,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
|||
<ul class="simple">
|
||||
<li>Cristian Salamea <<a class="reference external" href="mailto:cristian.salamea@gmail.com">cristian.salamea@gmail.com</a>></li>
|
||||
<li>André Paramés <<a class="reference external" href="mailto:github@andreparames.com">github@andreparames.com</a>> (<a class="reference external" href="https://www.acsone.eu/">https://www.acsone.eu/</a>)</li>
|
||||
<li>Alexandre Díaz <<a class="reference external" href="mailto:alexandre.diaz@tecnativa.com">alexandre.diaz@tecnativa.com</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
/* global py */
|
||||
/* Copyright 2019 Alexandre Díaz
|
||||
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
|
||||
odoo.define('web.web_action_conditionable', function (require) {
|
||||
"use strict";
|
||||
|
||||
var FieldOne2Many = require('web.relational_fields').FieldOne2Many;
|
||||
|
||||
FieldOne2Many.include({
|
||||
init: function () {
|
||||
var self = this;
|
||||
try {
|
||||
return this._super.apply(this, arguments);
|
||||
} catch (error) {
|
||||
var arch = this.view && this.view.arch;
|
||||
if (arch) {
|
||||
['create', 'delete'].forEach(function (item) {
|
||||
if (!_.has(arch.attrs, item)) {
|
||||
return;
|
||||
}
|
||||
var expr = arch.attrs[item];
|
||||
try {
|
||||
self.activeActions[item] = py.evaluate(
|
||||
py.parse(py.tokenize(expr)),
|
||||
self.recordData).toJSON();
|
||||
} catch (ignored) {
|
||||
// Do nothing
|
||||
}
|
||||
});
|
||||
this.editable = arch.attrs.editable;
|
||||
}
|
||||
if (this.attrs.columnInvisibleFields) {
|
||||
this._processColumnInvisibleFields();
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
});
|
|
@ -1,24 +0,0 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
|
@ -2,7 +2,7 @@
|
|||
<odoo>
|
||||
<template id="assets_backend" name="action conditionable assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/web_action_conditionable/static/src/js/views.js"/>
|
||||
<script type="text/javascript" src="/web_action_conditionable/static/src/js/field_one2many.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
|
Loading…
Reference in New Issue