Переглянути джерело

Updates default views to have a chado => node relationship which ensures added node fields are correct

Lacey Sanderson 12 роки тому
батько
коміт
4123a0b716

+ 11 - 0
tripal_analysis/tripal_analysis.views.inc

@@ -503,6 +503,17 @@ function tripal_analysis_views_default_views() {
       )
     );
     $fields = $new_fields + $fields;
+    // Adds analysis => Node relationship
+    $default_handler->override_option('relationships', array(
+      'nid' => array(
+        'label' => 'Analysis to Node',
+        'required' => 0,
+        'id' => 'nid',
+        'table' => 'chado_analysis',
+        'field' => 'nid',
+        'relationship' => 'none',
+      ),
+    ));
     // Change analysis.name to have a link to the node
     $fields['name']['alter']['make_link'] = 1;
     $fields['name']['alter']['path'] = 'node/[nid]';

+ 11 - 0
tripal_feature/tripal_feature.views.inc

@@ -642,6 +642,17 @@ function tripal_feature_views_default_views() {
       )
     );
     $fields = $new_fields + $fields;
+    // Adds feature => Node relationship
+    $default_handler->override_option('relationships', array(
+      'nid' => array(
+        'label' => 'Feature to Node',
+        'required' => 0,
+        'id' => 'nid',
+        'table' => 'chado_feature',
+        'field' => 'nid',
+        'relationship' => 'none',
+      ),
+    ));
     // Change analysis.name to have a link to the node
     $fields['name']['alter']['make_link'] = 1;
     $fields['name']['alter']['path'] = 'node/[nid]';

+ 11 - 0
tripal_library/tripal_library.views.inc

@@ -459,6 +459,17 @@ function tripal_library_views_default_views() {
       )
     );
     $fields = $new_fields + $fields;
+    // Adds library => Node relationship
+    $default_handler->override_option('relationships', array(
+      'nid' => array(
+        'label' => 'Library to Node',
+        'required' => 0,
+        'id' => 'nid',
+        'table' => 'chado_library',
+        'field' => 'nid',
+        'relationship' => 'none',
+      ),
+    ));
     // Change analysis.name to have a link to the node
     $fields['name_1']['alter']['make_link'] = 1;
     $fields['name_1']['alter']['path'] = 'node/[nid]';

+ 11 - 0
tripal_organism/tripal_organism.views.inc

@@ -380,6 +380,17 @@ function tripal_organism_views_default_views() {
       )
     );
     $fields = $new_fields + $fields;
+    // Adds organism => Node relationship
+    $default_handler->override_option('relationships', array(
+      'nid' => array(
+        'label' => 'Organism to Node',
+        'required' => 0,
+        'id' => 'nid',
+        'table' => 'chado_organism',
+        'field' => 'nid',
+        'relationship' => 'none',
+      ),
+    ));
     // Change analysis.name to have a link to the node
     $fields['common_name']['alter']['make_link'] = 1;
     $fields['common_name']['alter']['path'] = 'node/[nid]';

+ 75 - 0
tripal_project/tripal_project.views.inc

@@ -244,6 +244,7 @@ function tripal_project_views_default_views() {
     ),
     'default' => 'name',
   ));
+  $default_handler = $handler;
   $handler = $view->new_display('page', 'Page', 'page_1');
   $handler->override_option('path', 'chado/projects');
   $handler->override_option('menu', array(
@@ -260,6 +261,80 @@ function tripal_project_views_default_views() {
     'weight' => 0,
     'name' => 'navigation',
   ));
+  // Add code specific to a local chado installation
+  // NOTE: Edit $handler above to $default_handler for the default display
+  if (tripal_core_chado_schema_exists()) {
+    // Add nid field
+    $fields = $view->get_items('field', 'default');
+    $new_fields = array(
+      'nid' => array(
+        'label' => 'Nid',
+        'alter' => array(
+          'alter_text' => 0,
+          'text' => '',
+          'make_link' => 0,
+          'path' => '',
+          'absolute' => 0,
+          'link_class' => '',
+          'alt' => '',
+          'rel' => '',
+          'prefix' => '',
+          'suffix' => '',
+          'target' => '',
+          'help' => '',
+          'trim' => 0,
+          'max_length' => '',
+          'word_boundary' => 1,
+          'ellipsis' => 1,
+          'html' => 0,
+          'strip_tags' => 0,
+        ),
+        'empty' => '',
+        'hide_empty' => 0,
+        'empty_zero' => 0,
+        'hide_alter_empty' => 1,
+        'link_to_node' => 0,
+        'exclude' => 1,
+        'id' => 'nid',
+        'table' => 'node',
+        'field' => 'nid',
+        'relationship' => 'none',
+      )
+    );
+    $fields = $new_fields + $fields;
+    // Adds project => Node relationship
+    $default_handler->override_option('relationships', array(
+      'nid' => array(
+        'label' => 'Project to Node',
+        'required' => 0,
+        'id' => 'nid',
+        'table' => 'chado_project',
+        'field' => 'nid',
+        'relationship' => 'none',
+      ),
+    ));
+    // Change project.name to have a link to the node
+    $fields['name']['alter']['make_link'] = 1;
+    $fields['name']['alter']['path'] = 'node/[nid]';
+    $default_handler->override_option('fields', $fields);
+    // Only show records with published nodes
+    $filters = $view->get_items('filter', 'default');
+    $filters['status'] = array(
+      'operator' => '=',
+      'value' => '1',
+      'group' => '0',
+      'exposed' => FALSE,
+      'expose' => array(
+        'operator' => FALSE,
+        'label' => '',
+      ),
+      'id' => 'status',
+      'table' => 'node',
+      'field' => 'status',
+      'relationship' => 'none',
+    );
+    $default_handler->override_option('filters', $filters);
+  }
   $views[$view->name] = $view;
 
   return $views;

+ 11 - 0
tripal_stock/tripal_stock.views.inc

@@ -624,6 +624,17 @@ function tripal_stock_views_default_views() {
     $fields['name_2']['alter']['make_link'] = 1;
     $fields['name_2']['alter']['path'] = 'node/[nid]';
     $default_handler->override_option('fields', $fields);
+    // Adds stock => Node relationship
+    $default_handler->override_option('relationships', array(
+      'nid' => array(
+        'label' => 'Stock to Node',
+        'required' => 0,
+        'id' => 'nid',
+        'table' => 'chado_stock',
+        'field' => 'nid',
+        'relationship' => 'none',
+      ),
+    ));
     // Only show records with published nodes
     $filters = $view->get_items('filter', 'default');
     $filters['status'] = array(