ソースを参照

Tripal: Added Relationship to Node for Analysis

laceysanderson 13 年 前
コミット
f868929d1f

+ 26 - 0
tripal_analysis/tripal_analysis.views.inc

@@ -70,6 +70,32 @@ function tripal_analysis_views_views_handlers() {
   );
 }
 
+/**
+ * Implementation of hook_views_data_alter().
+ */
+function tripal_analysis_views_data_alter(&$data) {
+
+  if( !(is_array($db_url) and array_key_exists('chado',$db_url)) ){
+
+    // Add featuer relationship to node
+    $data['node']['analysis_chado_nid'] = array(
+      'group' => 'Analysis',
+      'title' => 'Analysis Node',
+      'help' => 'Links Chado analysis Fields/Data to the Nodes in the current View.',
+      'real field' => 'nid',
+      'relationship' => array(
+        'handler' => 'views_handler_relationship',
+        'title' => t('Node => Chado'),
+        'label' => t('Node => Chado'),
+        'real field' => 'nid',
+        'base' => 'chado_analysis',
+        'base field' => 'nid'
+      ),
+    );
+  }
+  
+}
+
 /**
  *
  *

+ 18 - 1
tripal_analysis/views/analysis.views.inc

@@ -99,7 +99,24 @@ function retrieve_analysis_views_data() {
 	    	'handler' => 'views_handler_field_computed_analysis_nid',
 	  	),
 		);
-	}	
+  } else {
+    // Add relationship between chado_analysis and analysis
+    $data['analysis']['analysis_nid'] = array(
+      'group' => 'Analysis',
+      'title' => 'Analysis Node',
+      'help' => 'Links Chado Analysis Fields/Data to the Nodes in the current View.',
+      'real field' => 'analysis_id',
+      'relationship' => array(
+        'handler' => 'views_handler_relationship',
+        'title' => t('Analysis => Chado'),
+        'label' => t('Analysis => Chado'),
+        'real field' => 'analysis_id',
+        'base' => 'chado_analysis',
+        'base field' => 'analysis_id'
+      ),
+    );
+
+  }
 	
 	// Field: name (varchar 255)
  	$data['analysis']['name'] = array(

+ 32 - 0
tripal_analysis/views/chado_analysis.views.inc

@@ -48,5 +48,37 @@ function retrieve_chado_analysis_views_data () {
   	'field' => 'nid',
   );  
 
+  // Add relationship between chado_analysis and analysis
+  $data['chado_analysis']['analysis_nid'] = array(
+    'group' => 'Analysis',
+    'title' => 'Analysis Node',
+    'help' => 'Links Chado Analysis Fields/Data to the Nodes in the current View.',
+    'real field' => 'analysis_id',
+    'relationship' => array(
+      'handler' => 'views_handler_relationship',
+      'title' => t('Chado => Analysis'),
+      'label' => t('Chado => Analysis'),
+      'real field' => 'analysis_id',
+      'base' => 'analysis',
+      'base field' => 'analysis_id'
+    ),
+  );
+
+  // Add node relationship to analysis
+  $data['chado_analysis']['analysis_chado_nid'] = array(
+    'group' => 'Analysis',
+    'title' => 'Analysis Node',
+    'help' => 'Links Chado Analysis Fields/Data to the Nodes in the current View.',
+    'real field' => 'nid',
+    'relationship' => array(
+      'handler' => 'views_handler_relationship',
+      'title' => t('Chado => Node'),
+      'label' => t('Chado => Node'),
+      'real field' => 'nid',
+      'base' => 'node',
+      'base field' => 'nid'
+    ),
+  );
+  
 	return $data;
 }