diff --git a/models/widgets_viewport.py b/models/widgets_viewport.py index 8a2986a8aad51fd5481569be04d791b0a3bba914..2a84acb84188f2797f9904e1259fc5bb5e76a9cf 100644 --- a/models/widgets_viewport.py +++ b/models/widgets_viewport.py @@ -2,6 +2,11 @@ """ widgets viewport """ +# +# the CAS node +# +casNode = None + # # The form node # @@ -48,6 +53,6 @@ reportNode.add_child(T('report_3'), leaf_3) viewportModifier = dbui.ViewportModifier() viewportModifier.append_plugins('pViewportLogin') viewportModifier.configure(logged=True) -viewportModifier.add_node(helpNode, formNode, gridNode, reportNode) +viewportModifier.add_node(helpNode, casNode, formNode, gridNode, reportNode) viewportModifier.default_node(T('Tables'), T('publications')) diff --git a/modules/plugin_dbui/viewportmodifier.py b/modules/plugin_dbui/viewportmodifier.py index c84f2611ca92a85c52038c1bb4f8a1d0c476c48d..15f0af326904de73eb2ba776b2f0c8237793b15d 100644 --- a/modules/plugin_dbui/viewportmodifier.py +++ b/modules/plugin_dbui/viewportmodifier.py @@ -50,17 +50,31 @@ class ViewportModifier(Modifier): def add_node(self, *args): - """Add L{Node}s to the navigation tree. + """Add a list of L{Node}s to the navigation tree. - @type args: L{Node} + @type args: list of L{Node} @param args: + @note: Elements of the list equal to C{None} are ignored. + This feature is useful when the list of nodes depend on user role. + + @raise ViewportModifierException: at least one element of the list + is not a C{Node} or C{None}. + """ + li = [] for el in args: - if not isinstance(el, Node): + + if isinstance(el, Node): + li.append(el) + + elif el == None: + continue + + else: raise ViewportModifierException(MSG_INVALID_NODE) - self.data.nodes.extend(args) + self.data.nodes.extend(li) def default_node(self, *args): diff --git a/static/plugin_dbui/CHANGELOG b/static/plugin_dbui/CHANGELOG index b37a4b22ec86cb8aa57432ae342570cf8ac653c3..814c7d30bc103df8cd0fe51d300dfeaf6be0e720 100644 --- a/static/plugin_dbui/CHANGELOG +++ b/static/plugin_dbui/CHANGELOG @@ -4,6 +4,7 @@ HEAD - The viewport can open a tab at startup. - Automatic loggout when the page is refreshed and closed. - In the App.GridPanel a new record is inserted after the selected one. + - None node can be added in the ViewportModifier. 0.4.13.2 (Jul 2013) - Table callback _before_delete, _before_insert and _before_update