summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjem-odoo <jem@openerp.com>2019-08-08 15:47:53 +0000
committerjem-odoo <jem@openerp.com>2019-08-12 11:21:15 +0000
commit4b8af06d8a9477ffabe2aa220f0ed910a79b2344 (patch)
tree348cb2fe9b3ce5626fc4604c073550f3c17e8bcf
parentdf93bf175f7be9e7cb36665684ceaf30e7b6f4a7 (diff)
[IMP] base: extract gantt validation
All views defined in the 'enterprise' addons have their validation done manually in their respective addons. Each one ? No, one rebel still resists to the standart way to work. This commit moves the gantt validation to put it in its module. The idea is (for developper) to have only one module to change when adding feature in gantt view. Task-2050019
-rw-r--r--odoo/addons/base/models/ir_ui_view.py2
-rw-r--r--odoo/addons/base/rng/gantt_view.rng71
-rw-r--r--odoo/tools/view_validation.py2
3 files changed, 2 insertions, 73 deletions
diff --git a/odoo/addons/base/models/ir_ui_view.py b/odoo/addons/base/models/ir_ui_view.py
index 0234662644a..bf1f62381f3 100644
--- a/odoo/addons/base/models/ir_ui_view.py
+++ b/odoo/addons/base/models/ir_ui_view.py
@@ -976,7 +976,7 @@ actual arch.
not self._context.get("create", True) and is_base_model):
node.set("create", 'false')
- if node.tag in ('kanban', 'tree', 'form', 'gantt', 'activity'):
+ if node.tag in ('kanban', 'tree', 'form', 'activity'):
for action, operation in (('create', 'create'), ('delete', 'unlink'), ('edit', 'write')):
if (not node.get(action) and
not Model.check_access_rights(operation, raise_exception=False) or
diff --git a/odoo/addons/base/rng/gantt_view.rng b/odoo/addons/base/rng/gantt_view.rng
deleted file mode 100644
index 2180800c8de..00000000000
--- a/odoo/addons/base/rng/gantt_view.rng
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0"
- xmlns:a="http://relaxng.org/ns/annotation/1.0"
- datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
- <!-- Handling of element overloading when inheriting from a base
- template
- -->
- <rng:include href="common.rng"/>
- <rng:define name="gantt">
- <rng:element name="gantt">
- <rng:attribute name="date_start"/>
- <rng:attribute name="date_stop"/>
-
- <rng:optional><rng:attribute name="js_class"/></rng:optional>
- <rng:optional><rng:attribute name="progress"/></rng:optional>
- <rng:optional><rng:attribute name="consolidation"/></rng:optional>
- <rng:optional><rng:attribute name="consolidation_max"/></rng:optional>
- <rng:optional><rng:attribute name="consolidation_exclude"/></rng:optional>
- <rng:optional><rng:attribute name="string"/></rng:optional>
- <rng:optional><rng:attribute name="create"/></rng:optional>
- <rng:optional><rng:attribute name="on_create"/></rng:optional>
- <rng:optional><rng:attribute name="edit"/></rng:optional>
- <rng:optional><rng:attribute name="plan"/></rng:optional>
- <rng:optional><rng:attribute name="default_group_by"/></rng:optional>
- <rng:optional><rng:attribute name="display_unavailability"/></rng:optional>
- <rng:optional><rng:attribute name="total_row"/></rng:optional>
- <rng:optional><rng:attribute name="collapse_first_level"/></rng:optional>
- <rng:optional><rng:attribute name="offset"/></rng:optional>
- <rng:optional><rng:attribute name="scales"/></rng:optional>
-
- <rng:optional>
- <rng:attribute name="default_scale">
- <rng:choice>
- <rng:value>day</rng:value>
- <rng:value>week</rng:value>
- <rng:value>month</rng:value>
- <rng:value>year</rng:value>
- </rng:choice>
- </rng:attribute>
- </rng:optional>
-
- <rng:optional><rng:attribute name="precision"/></rng:optional>
-
- <rng:optional><rng:attribute name="color"/></rng:optional>
-
- <rng:optional><rng:attribute name="decoration-secondary"/></rng:optional>
- <rng:optional><rng:attribute name="decoration-success"/></rng:optional>
- <rng:optional><rng:attribute name="decoration-info"/></rng:optional>
- <rng:optional><rng:attribute name="decoration-warning"/></rng:optional>
- <rng:optional><rng:attribute name="decoration-danger"/></rng:optional>
-
- <rng:interleave>
- <rng:zeroOrMore><rng:ref name="field"/></rng:zeroOrMore>
- <rng:optional>
- <rng:element name="templates">
- <rng:oneOrMore>
- <rng:ref name="any"/>
- </rng:oneOrMore>
- </rng:element>
- </rng:optional>
- </rng:interleave>
-
- <rng:empty/>
- </rng:element>
- </rng:define>
- <rng:start>
- <rng:choice>
- <rng:ref name="gantt" />
- </rng:choice>
- </rng:start>
-</rng:grammar>
diff --git a/odoo/tools/view_validation.py b/odoo/tools/view_validation.py
index 9751c386a2b..f135e52dc3a 100644
--- a/odoo/tools/view_validation.py
+++ b/odoo/tools/view_validation.py
@@ -183,7 +183,7 @@ def relaxng(view_type):
return _relaxng_cache[view_type]
-@validate('calendar', 'diagram', 'gantt', 'graph', 'pivot', 'search', 'tree', 'activity')
+@validate('calendar', 'diagram', 'graph', 'pivot', 'search', 'tree', 'activity')
def schema_valid(arch, **kwargs):
""" Get RNG validator and validate RNG file."""
validator = relaxng(arch.tag)