소스 검색

Field Aggregator: Added ability to use tokens from tables related by foreign key

Lacey Sanderson 13 년 전
부모
커밋
b3d8c00d8f

+ 8 - 0
base/tripal_core/views/handlers/chado_views_handler_field_aggregate.inc

@@ -7,6 +7,14 @@ class chado_views_handler_field_aggregate extends chado_views_handler_field {
     
     if (!isset($this->chado_table_description)) {
       $this->chado_table_description = module_invoke_all('chado_'.$this->table.'_schema');
+      foreach($this->chado_table_description['foreign keys'] as $defn) {
+        if ($defn['table'] != $this->view->base_table) {
+          $join_table = module_invoke_all('chado_'.$defn['table'].'_schema');
+          foreach ($join_table['fields'] as $fname => $f) {
+            $this->chado_table_description['fields'][$defn['table'] .'_'. $fname] = $f;
+          }
+        }
+      }
     }
     
   }

+ 0 - 3
base/tripal_core/views/handlers/views_handler_join_chado_aggregator.inc

@@ -32,8 +32,6 @@ class views_handler_join_chado_aggregator extends views_join {
     // Create the table SQL (used in join) -------
     // query creating one-to-one table using array_agg
     $table_desc = module_invoke_all('chado_'.$this->definition['table'].'_schema');
-    dpm($table_desc, 'table description');
-    dpm($this, 'this');
     $select_fields[ $this->definition['table'] ] = $table_desc['fields'];
     
     // Add joins to tables with a foreign key in this table
@@ -41,7 +39,6 @@ class views_handler_join_chado_aggregator extends views_join {
     $joins = array();
     foreach($table_desc['foreign keys'] as $defn) {
       if ($defn['table'] != $this->left_table) {
-        dpm($defn, 'workin on');
         foreach( $defn['columns'] as $left => $right) {
           $left = $this->definition['table'] .'.'. $left;
           $right = $defn[table] .'.'. $right;