Changeset 14784

Show
Ignore:
Timestamp:
02/07/08 13:18:47 (10 months ago)
Author:
bergie
Message:

Don't use unnecessary OR groups in Asgard navigation. It can be harmful in 1.9

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.helper.reflector/reflector_tree.php

    r14773 r14784  
    541541        // Figure out constraint to use to get child objects 
    542542        // TODO: Review this code 
    543         $qb->begin_group('OR'); 
    544543        $ref = new midgard_reflection_property($schema_type); 
    545544        $upfield = midgard_object_class::get_property_up($schema_type); 
     545         
     546        if (   !empty($upfield) 
     547            && !empty($parentfield)) 
     548        { 
     549            $qb->begin_group('OR'); 
     550        } 
    546551 
    547552        if (!empty($upfield)) 
     
    569574                    debug_add("Do not know how to handle upfield '{$upfield}' has type {$uptype}", MIDCOM_LOG_ERROR); 
    570575                    debug_pop(); 
    571                     $qb->end_group(); 
     576                    if (   !empty($upfield) 
     577                        && !empty($parentfield)) 
     578                    { 
     579                        $qb->end_group(); 
     580                    } 
    572581                    return false; 
    573582            } 
     
    596605                    debug_add("Do not know how to handle parentfield '{$parentfield}' has type {$parenttype}", MIDCOM_LOG_INFO); 
    597606                    debug_pop(); 
    598                     $qb->end_group(); 
     607                    if (   !empty($upfield) 
     608                        && !empty($parentfield)) 
     609                    { 
     610                        $qb->end_group(); 
     611                    } 
    599612                    return false; 
    600613            } 
    601614        } 
    602         $qb->end_group(); 
     615         
     616        if (   !empty($upfield) 
     617            && !empty($parentfield)) 
     618        { 
     619            $qb->end_group(); 
     620        } 
    603621        // TODO: /Review this code 
    604622