Author:   Thomas Casteleyn <[email protected]>
Date:     Tue Apr 19 12:01:18 2011 +0200
Committer:   Lars Michelsen <[email protected]>
Commit-Date: Wed Apr 27 18:42:06 2011 +0200

Fixed problem with hover childs not being displayed and old childs being cached

Signed-off-by: Lars Michelsen <[email protected]>

---

 share/frontend/nagvis-js/js/hover.js               |   16 +++++++++-------
 .../core/classes/objects/NagVisStatefulObject.php  |    2 +-
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/share/frontend/nagvis-js/js/hover.js 
b/share/frontend/nagvis-js/js/hover.js
index f9ee1aa..7012ce7 100644
--- a/share/frontend/nagvis-js/js/hover.js
+++ b/share/frontend/nagvis-js/js/hover.js
@@ -92,11 +92,16 @@ function replaceHoverTemplateChildMacros(oObj, 
sTemplateCode) {
                        }
                }
                
+       }
+
+       if(childsHtmlCode != ''){
                var regex = new 
RegExp('<!--\\sBEGIN\\sloop_child\\s-->(.+?)<!--\\sEND\\sloop_child\\s-->');
-               sTemplateCode = sTemplateCode.replace(regex, childsHtmlCode);
-               regex = null;
+       }else{
+               var regex = new 
RegExp('<!--\\sBEGIN\\schilds\\s-->.+?<!--\\sEND\\schilds\\s-->');
        }
        
+       sTemplateCode = sTemplateCode.replace(regex, childsHtmlCode);
+       regex = null;
        childsHtmlCode = null;
        rowHtmlCode = null;
        
@@ -169,9 +174,7 @@ function replaceHoverTemplateDynamicMacros(replaceChild, 
oObj, sTemplateCode) {
        
        // Replace child macros
        // FIXME: Check if this can be moved to static hover template macro 
replacements
-       if(replaceChild != '1' && oObj.conf.hover_childs_show
-                && oObj.conf.hover_childs_show == '1'
-                && typeof oObj.conf.num_members != 'undefined' && 
oObj.conf.num_members > 0)
+       if(replaceChild != '1' && oObj.conf.hover_childs_show && 
oObj.conf.hover_childs_show == '1' )
                sTemplateCode = replaceHoverTemplateChildMacros(oObj, 
sTemplateCode);
        
        // Loop and replace all normal macros
@@ -279,8 +282,7 @@ function replaceHoverTemplateStaticMacros(replaceChild, 
oObj, sTemplateCode) {
                oSectionMacros.servicegroupChild = 
'<!--\\sBEGIN\\sservicegroup_child\\s-->.+?<!--\\sEND\\sservicegroup_child\\s-->';
        
        // Replace child section when unwanted
-       if((oObj.conf.hover_childs_show && oObj.conf.hover_childs_show != '1')
-          || typeof oObj.conf.num_members == 'undefined' || 
oObj.conf.num_members == 0)
+       if(oObj.conf.hover_childs_show && oObj.conf.hover_childs_show != '1')
                oSectionMacros.childs = 
'<!--\\sBEGIN\\schilds\\s-->.+?<!--\\sEND\\schilds\\s-->';
        
        // Replace child macros
diff --git a/share/server/core/classes/objects/NagVisStatefulObject.php 
b/share/server/core/classes/objects/NagVisStatefulObject.php
index 716a56a..27f0e87 100644
--- a/share/server/core/classes/objects/NagVisStatefulObject.php
+++ b/share/server/core/classes/objects/NagVisStatefulObject.php
@@ -528,7 +528,7 @@ class NagVisStatefulObject extends NagVisObject {
                }
                
                // Enable/Disable fetching children
-               if($bFetchChilds && $this->hasMembers()) {
+               if($bFetchChilds && method_exists($this, 'getMembers')) {
                        $arr['members'] = Array();
                        foreach($this->getSortedObjectMembers() AS $OBJ) {
                                $arr['members'][] = $OBJ->fetchObjectAsChild();


------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Nagvis-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nagvis-checkins

Reply via email to