Browse Source

Updates hook_views_data to call new tripal_views_add_node_relationship_to_chado_table_integration() function for tables with corresponding nodes

Lacey Sanderson 12 năm trước cách đây
mục cha
commit
10b117b94f

+ 10 - 1
tripal_analysis/tripal_analysis.views.inc

@@ -42,7 +42,16 @@ function tripal_analysis_views_data()  {
       $table_integration_array['fields']['program']['handlers']['filter']['name'] = 'tripal_views_handler_filter_select_string';
       $table_integration_array['fields']['algorithm']['handlers']['filter']['name'] = 'tripal_views_handler_filter_select_string';
 
-      tripal_views_integration_add_entry($table_integration_array);
+      // Add in node relationships if chado is in the same db as drupal
+      if (tripal_core_chado_schema_exists()) {
+        $integrations = tripal_views_add_node_relationship_to_chado_table_integration($table_integration_array);
+        foreach ($integrations as $integration) {
+          tripal_views_integration_add_entry($integration);
+        }
+      }
+      else {
+        tripal_views_integration_add_entry($table_integration_array);
+      }
     }
 
 

+ 12 - 1
tripal_feature/tripal_feature.views.inc

@@ -39,7 +39,18 @@ function tripal_feature_views_data()  {
     foreach ($tables as $tablename) {
       if (!tripal_views_is_integrated($tablename, 9)) {
         $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
-        tripal_views_integration_add_entry($table_integration_array);
+
+        // Add in node relationships if chado is in the same db as drupal
+        if (tripal_core_chado_schema_exists()) {
+          $integrations = tripal_views_add_node_relationship_to_chado_table_integration($table_integration_array);
+          foreach ($integrations as $integration) {
+            tripal_views_integration_add_entry($integration);
+          }
+        }
+        else {
+          tripal_views_integration_add_entry($table_integration_array);
+        }
+
       }
     }
 

+ 12 - 1
tripal_library/tripal_library.views.inc

@@ -37,7 +37,18 @@ function tripal_library_views_data()  {
     foreach ($tables as $tablename) {
       if (!tripal_views_is_integrated($tablename, 9)) {
         $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
-        tripal_views_integration_add_entry($table_integration_array);
+
+        // Add in node relationships if chado is in the same db as drupal
+        if (tripal_core_chado_schema_exists()) {
+          $integrations = tripal_views_add_node_relationship_to_chado_table_integration($table_integration_array);
+          foreach ($integrations as $integration) {
+            tripal_views_integration_add_entry($integration);
+          }
+        }
+        else {
+          tripal_views_integration_add_entry($table_integration_array);
+        }
+
       }
     }
 

+ 10 - 1
tripal_organism/tripal_organism.views.inc

@@ -45,7 +45,16 @@ function tripal_organism_views_data()  {
         $table_integration_array['fields']['species']['handlers']['filter']['name'] = 'tripal_views_handler_filter_select_string';
         $table_integration_array['fields']['abbreviation']['handlers']['filter']['name'] = 'tripal_views_handler_filter_select_string';
 
-        tripal_views_integration_add_entry($table_integration_array);
+        // Add in node relationships if chado is in the same db as drupal
+        if (tripal_core_chado_schema_exists()) {
+          $integrations = tripal_views_add_node_relationship_to_chado_table_integration($table_integration_array);
+          foreach ($integrations as $integration) {
+            tripal_views_integration_add_entry($integration);
+          }
+        }
+        else {
+          tripal_views_integration_add_entry($table_integration_array);
+        }
       }
     }
 

+ 11 - 1
tripal_project/tripal_project.views.inc

@@ -30,7 +30,17 @@ function tripal_project_views_data()  {
     foreach ($tables as $tablename) {
       if (!tripal_views_is_integrated($tablename, 9)) {
         $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
-        tripal_views_integration_add_entry($table_integration_array);
+
+        // Add in node relationships if chado is in the same db as drupal
+        if (tripal_core_chado_schema_exists()) {
+          $integrations = tripal_views_add_node_relationship_to_chado_table_integration($table_integration_array);
+          foreach ($integrations as $integration) {
+            tripal_views_integration_add_entry($integration);
+          }
+        }
+        else {
+          tripal_views_integration_add_entry($table_integration_array);
+        }
       }
     }
 

+ 18 - 7
tripal_stock/tripal_stock.views.inc

@@ -32,17 +32,28 @@ function tripal_stock_views_data()  {
   $data = array();
 
   if (module_exists('tripal_views')) {
-    $tables = array(
-      'stock',
-      'stockcollection'
-    );
-    foreach ($tables as $tablename) {
-      if (!tripal_views_is_integrated($tablename, 9)) {
-        $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
+    $tablename = 'stock';
+    if (!tripal_views_is_integrated($tablename, 9)) {
+      $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
+
+      // Add in node relationships if chado is in the same db as drupal
+      if (tripal_core_chado_schema_exists()) {
+        $integrations = tripal_views_add_node_relationship_to_chado_table_integration($table_integration_array);
+        foreach ($integrations as $integration) {
+          tripal_views_integration_add_entry($integration);
+        }
+      }
+      else {
         tripal_views_integration_add_entry($table_integration_array);
       }
     }
 
+    $tablename = 'stockcollection';
+    if (!tripal_views_is_integrated($tablename, 9)) {
+      $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
+      tripal_views_integration_add_entry($table_integration_array);
+    }
+
     $tables = array(
       'stock_cvterm',
       'stock_dbxref',