<?php /** * @file * This file contains the basic functions for views integration of * chado/tripal stock tables. Supplementary functions can be found in * ./views/ * * Documentation on views integration can be found at * http://views2.logrus.com/doc/html/index.html. */ /** * @defgroup tripal_stock_views Stock Views Integration * @ingroup views */ /** * * @ingroup tripal_stock_views */ function tripal_stock_views_default_views() { $views = array(); if (!module_exists('tripal_views')) { return $views; } // Main default view $view = new view; $view->name = 'stock_listing'; $view->description = 'This view lists all stocks by default.'; $view->tag = 'chado default'; $view->base_table = 'stock'; $view->core = 0; $view->api_version = '2'; $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */ $handler = $view->new_display('default', 'Defaults', 'default'); $handler->override_option('fields', array( 'uniquename' => array( 'label' => 'Unique Name', 'alter' => array( 'alter_text' => 0, 'text' => '', 'make_link' => 0, 'path' => '', 'link_class' => '', 'alt' => '', '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, 'link_to_node' => 1, 'exclude' => 0, 'id' => 'uniquename', 'table' => 'stock', 'field' => 'uniquename', 'relationship' => 'none', ), 'name_2' => array( 'label' => 'Name', 'alter' => array( 'alter_text' => 0, 'text' => '', 'make_link' => 0, 'path' => '', 'link_class' => '', 'alt' => '', '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, 'link_to_node' => 1, 'exclude' => 0, 'id' => 'name_2', 'table' => 'stock', 'field' => 'name', 'relationship' => 'none', ), 'name' => array( 'label' => 'Type', 'alter' => array( 'alter_text' => 0, 'text' => '', 'make_link' => 0, 'path' => '', 'link_class' => '', 'alt' => '', '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, 'exclude' => 0, 'id' => 'name', 'table' => 'cvterm', 'field' => 'name', 'relationship' => 'none', ), 'common_name' => array( 'label' => 'Organism', 'alter' => array( 'alter_text' => 0, 'text' => '', 'make_link' => 0, 'path' => '', 'link_class' => '', 'alt' => '', '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, 'link_to_node' => 1, 'exclude' => 0, 'id' => 'common_name', 'table' => 'organism', 'field' => 'common_name', 'relationship' => 'none', ), )); $handler->override_option('sorts', array( 'common_name' => array( 'order' => 'ASC', 'id' => 'common_name', 'table' => 'organism', 'field' => 'common_name', 'relationship' => 'none', ), 'uniquename' => array( 'order' => 'ASC', 'id' => 'uniquename', 'table' => 'stock', 'field' => 'uniquename', 'relationship' => 'none', ), )); $handler->override_option('filters', array( 'common_name' => array( 'operator' => '=', 'value' => array(), 'group' => '0', 'exposed' => TRUE, 'expose' => array( 'use_operator' => 0, 'operator' => 'common_name_op', 'identifier' => 'organism_common_name', 'label' => 'Organism', 'remember' => 0, ), 'case' => 1, 'id' => 'common_name', 'table' => 'organism', 'field' => 'common_name', 'relationship' => 'none', 'values_form_type' => 'select', 'multiple' => 1, 'optional' => 0, 'agg' => array( 'records_with' => 1, 'aggregates_with' => 1, ), ), 'search_results' => array( 'operator' => '=', 'value' => '', 'group' => '0', 'exposed' => FALSE, 'expose' => array( 'operator' => FALSE, 'label' => '', ), 'id' => 'search_results', 'table' => 'views', 'field' => 'search_results', 'relationship' => 'none', 'apply_button' => 'Show', 'no_results_text' => 'Click "Show" to see a list of all stocks matching the entered criteria. If you leave a any of the criteria blank then the stocks will be not be filtered based on that field. Furthermore, if you leave all criteria blank then all stocks will be listed.', ), 'type_id' => array( 'operator' => '=', 'value' => '', 'group' => '0', 'exposed' => TRUE, 'expose' => array( 'use_operator' => 0, 'operator' => 'type_id_op', 'identifier' => 'type_id', 'label' => 'Type', 'remember' => 0, ), 'case' => 1, 'id' => 'type_id', 'table' => 'stock', 'field' => 'type_id', 'relationship' => 'none', 'values_form_type' => 'select', 'multiple' => 1, 'optional' => 0, 'show_all' => 0, 'agg' => array( 'records_with' => 1, 'aggregates_with' => 1, ), ), 'name' => array( 'operator' => '~', 'value' => '', 'group' => '0', 'exposed' => TRUE, 'expose' => array( 'use_operator' => 0, 'operator' => 'name_op', 'identifier' => 'name', 'label' => 'Name Contains', 'remember' => 0, ), 'case' => 0, 'id' => 'name', 'table' => 'stock', 'field' => 'name', 'relationship' => 'none', 'agg' => array( 'records_with' => 1, 'aggregates_with' => 1, ), ), )); $handler->override_option('access', array( 'type' => 'perm', 'perm' => 'access chado_stock content', )); $handler->override_option('cache', array( 'type' => 'none', )); $handler->override_option('title', 'Stocks'); $handler->override_option('header', 'Click "Show" to see a list of all stocks matching the entered criteria. If you leave a any of the criteria blank then the stocks will be not be filtered based on that field. Furthermore, if you leave all criteria blank then all stocks will be listed.'); $handler->override_option('header_format', '2'); $handler->override_option('header_empty', 0); $handler->override_option('empty', 'No stocks match the supplied criteria.'); $handler->override_option('empty_format', '1'); $handler->override_option('items_per_page', 50); $handler->override_option('use_pager', '1'); $handler->override_option('style_plugin', 'table'); $handler->override_option('style_options', array( 'grouping' => '', 'override' => 1, 'sticky' => 0, 'order' => 'asc', 'columns' => array( 'uniquename' => 'uniquename', 'name_2' => 'name_2', 'name' => 'name', 'common_name' => 'common_name', 'all_dbxref' => 'all_dbxref', 'all_properties' => 'all_properties', 'all_relationships' => 'all_relationships', ), 'info' => array( 'uniquename' => array( 'sortable' => 1, 'separator' => '', ), 'name_2' => array( 'sortable' => 1, 'separator' => '', ), 'name' => array( 'sortable' => 1, 'separator' => '', ), 'common_name' => array( 'sortable' => 1, 'separator' => '', ), 'all_dbxref' => array( 'separator' => '', ), 'all_properties' => array( 'separator' => '', ), 'all_relationships' => array( 'separator' => '', ), ), 'default' => '-1', )); $default_handler = $handler; $handler = $view->new_display('page', 'Page', 'page_1'); $handler->override_option('path', 'chado/stocks'); $handler->override_option('menu', array( 'type' => 'normal', 'title' => 'Stocks', 'description' => 'A stock is the physical entities, either living or preserved, held by collections and can be globally identified by the combination of organism, uniquename and stock type.', 'weight' => '10', 'name' => 'navigation', )); $handler->override_option('tab_options', array( 'type' => 'none', 'title' => '', 'description' => '', '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; // Change analysis.name to have a link to the node $fields['name_2']['alter']['link_to_node'] = 1; $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( '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; }