From 9aca3bac8bcff422f1f7354f97cf43f1efbbd6e9 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP Date: Thu, 16 Aug 2012 18:27:06 +0530 Subject: [PATCH] [REF/IMP] refectorec the varibale names and added the gantt view, added create ndoe button diable condition bzr revid: jam@tinyerp.com-20120816125706-h92owusp47t6chl1 --- openerp/addons/base/rng/view.rng | 4 ++++ openerp/osv/orm.py | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/rng/view.rng b/openerp/addons/base/rng/view.rng index c56892d7a07..b82c96fdb60 100644 --- a/openerp/addons/base/rng/view.rng +++ b/openerp/addons/base/rng/view.rng @@ -184,6 +184,7 @@ + @@ -381,6 +382,9 @@ 5years + + + diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 0a8a05e7706..ea9f1c094e3 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -1824,6 +1824,10 @@ class BaseModel(object): if node.getchildren()[0].tag == 'node': node_fields = self.pool.get(node.getchildren()[0].get('object')).fields_get(cr, user, None, context) fields.update(node_fields) + if not node.get("create"): + fn = getattr(self.pool.get(node.getchildren()[1].get('object')), 'check_create') + if not fn(cr, user, raise_exception=False): + node.set("create", 'false') if node.getchildren()[1].tag == 'arrow': arrow_fields = self.pool.get(node.getchildren()[1].get('object')).fields_get(cr, user, None, context) fields.update(arrow_fields) @@ -1831,10 +1835,10 @@ class BaseModel(object): fields = self.fields_get(cr, user, None, context) fields_def = self.__view_look_dom(cr, user, node, view_id, False, fields, context=context) node = self._disable_workflow_buttons(cr, user, node) - if node.tag in ('kanban', 'tree', 'form'): - for a, b in (('create', 'check_create'), ('delete', 'check_unlink'), ('edit', 'check_write')): - if not node.get(a) and not getattr(self, b)(cr, user, raise_exception=False): - node.set(a, 'false') + if node.tag in ('kanban', 'tree', 'form', 'gantt'): + for action, fn in (('create', 'check_create'), ('delete', 'check_unlink'), ('edit', 'check_write')): + if not node.get(action) and not getattr(self, fn)(cr, user, raise_exception=False): + node.set(action, 'false') arch = etree.tostring(node, encoding="utf-8").replace('\t', '') for k in fields.keys(): if k not in fields_def: