Development

Changeset 33203

You must first sign up to be able to contribute.

Changeset 33203

Show
Ignore:
Timestamp:
11/11/11 19:02:56 (2 years ago)
Author:
chrodriguez
Message:

Add support for a type in tree

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/dcReloadedFormExtraPlugin/trunk/lib/widget/crWidgetFormJsTreeAjaxPropel.class.php

    r33202 r33203  
    3434  *                             peer_class objects. Default value: ID 
    3535  *   * criteria:               Criteria object. Default value: new Criteria() 
     36  *   * root_nodes_criteria:    If this option is set, it will be used to retrieve root nodes. 
    3637  *   * peer_method:            method to retrieve objects: Default value doSelect 
    3738  *   * peer_count_method:      method to count objects: Default value doCount 
     
    5960    $this->addOption('peer_to_string_method', '__toString');  
    6061    $this->addOption('root_nodes_criteria', null);  
     62    $this->addOption('get_type_callback', null);  
    6163  } 
    6264 
     
    110112                peer_count_method: "%peer_count_method%", 
    111113                peer_to_string_method: "%peer_to_string_method%", 
     114                get_type_callback: "%get_type_callback%", 
    112115                   }; 
    113116                }',array( 
     
    128131              "%peer_to_string_method%"     => $this->encode($this->getOption('peer_to_string_method')), 
    129132              "%root_nodes_criteria%"       => $this->encode(serialize($this->getOption('root_nodes_criteria'))), 
     133              "%get_type_callback%"         => $this->encode(serialize($this->getOption('get_type_callback'))), 
    130134            )); 
    131135  } 
  • plugins/dcReloadedFormExtraPlugin/trunk/modules/dc_ajax/actions/actions.class.php

    r33202 r33203  
    327327      $peer_method,  
    328328      $peer_count_method, 
    329       $peer_to_string_method ) { 
     329      $peer_to_string_method, 
     330      $get_type_callback= null ) { 
    330331    $ret=array(); 
    331332    $tableMap = call_user_func(array($peer_class, 'getTableMap')); 
     
    340341          $new ['state']= 'closed'; 
    341342        } 
     343        if ( $get_type_callback != null && is_callable(array($o,$get_type_callback)) ) $new['attr']['type']= call_user_func(array($o,$get_type_callback)); 
    342344        $ret[]=$new; 
    343345    } 
     
    370372      $peer_count_method, 
    371373      $peer_to_string_method, 
    372       $related_by_column = null 
     374      $related_by_column = null, 
     375      $get_type_callback = null 
    373376      ) { 
    374377 
     
    418421        $peer_to_string_method  = $this->decodeCrJsTreePropel( $request->getParameter('peer_to_string_method')); 
    419422        $operation              = $request->getParameter('operation'); 
     423        $get_type_callback      = unserialize( $this->decodeCrJsTreePropel( $request->getParameter('get_type_callback'))); 
    420424 
    421425        switch ( $operation ) { 
     
    428432            break; 
    429433        } 
    430         $nodes = $this->getCrJsTreePropelAsOneLevelHierarchy($id, $peer_class, $peer_parent_id_column, $peer_id_column, $criteria, $root_nodes_criteria, $peer_method, $peer_count_method, $peer_to_string_method);  
     434        $nodes = $this->getCrJsTreePropelAsOneLevelHierarchy($id, $peer_class, $peer_parent_id_column, $peer_id_column, $criteria, $root_nodes_criteria, $peer_method, $peer_count_method, $peer_to_string_method, $get_type_callback);  
     435         
    431436        return $this->renderText( json_encode($nodes)); 
    432437      }