>>>>>> 6.x-0.4-dev /** * Implements hook_views_data() * * Purpose: Describe chado/tripal tables & fields to views * * @return: a data array which follows the structure outlined in the * views2 documentation for this hook. Essentially, it's an array of table * definitions keyed by chado/tripal table name. Each table definition * includes basic details about the table, fields in that table and * relationships between that table and others (joins) * * @ingroup tripal_analysis_views */ function tripal_analysis_views_data() { $data = array(); if (module_exists('tripal_views')) { // Base Table: Analysis $tablename = 'analysis'; if (!tripal_views_is_integrated($tablename, 10)) { $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE); tripal_views_integration_add_entry($table_integration_array); } $tables = array( 'analysisfeature', 'analysisprop' ); foreach ($tables as $tablename) { if (!tripal_views_is_integrated($tablename, 10)) { $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, FALSE); tripal_views_integration_add_entry($table_integration_array); } } } return $data; } /** * Implements hook_views_handlers() * * Purpose: Register all custom handlers with views * where a handler describes either "the type of field", * "how a field should be filtered", "how a field should be sorted" * * @return * An array of handler definitions * * @ingroup tripal_analysis_views */ function tripal_analysis_views_views_handlers() { return array( 'info' => array( 'path' => drupal_get_path('module', 'tripal_analysis') . '/views/handlers', ), 'handlers' => array( 'views_handler_field_computed_analysis_nid' => array( 'parent' => 'views_handler_field_numeric', ), 'views_handler_field_readable_date' => array( 'parent' => 'views_handler_field', ), ), ); } /** * 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' ), ); } } /** * * * @ingroup tripal_analysis_views */ function tripal_analysis_views_default_views() { $views = array(); // Main default view // List all cvterms based on cv $view = new view; $view->name = 'all_analysis'; $view->description = 'A listing of all analysis\''; $view->tag = 'chado'; $view->view_php = ''; $view->base_table = 'analysis'; $view->is_cacheable = FALSE; $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( 'name' => 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', 'table' => 'analysis', 'field' => 'name', 'relationship' => 'none', ), 'algorithm' => array( 'label' => 'Algorithm', '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' => 'algorithm', 'table' => 'analysis', 'field' => 'algorithm', 'relationship' => 'none', ), 'program' => array( 'label' => 'Program', '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' => 'program', 'table' => 'analysis', 'field' => 'program', 'relationship' => 'none', ), 'programversion' => array( 'label' => 'Program Version', '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' => 'programversion', 'table' => 'analysis', 'field' => 'programversion', 'relationship' => 'none', ), 'description' => array( 'label' => 'Description', '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' => 'description', 'table' => 'analysis', 'field' => 'description', 'relationship' => 'none', ), 'sourcename' => array( 'label' => 'Source 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, 'exclude' => 0, 'id' => 'sourcename', 'table' => 'analysis', 'field' => 'sourcename', 'relationship' => 'none', ), 'sourceuri' => array( 'label' => 'Source URL', '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' => 'sourceuri', 'table' => 'analysis', 'field' => 'sourceuri', 'relationship' => 'none', ), 'sourceversion' => array( 'label' => 'Source Version', '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' => 'sourceversion', 'table' => 'analysis', 'field' => 'sourceversion', 'relationship' => 'none', ), 'num_features' => array( 'label' => 'Number of Features', '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' => 'num_features', 'table' => 'analysis', 'field' => 'num_features', 'relationship' => 'none', ), 'timeexecuted' => array( 'label' => 'Time Executed', '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, 'date_format' => 'large', 'custom_date_format' => '', 'exclude' => 0, 'id' => 'timeexecuted', 'table' => 'analysis', 'field' => 'timeexecuted', 'relationship' => 'none', ), )); $handler->override_option('filters', array( 'program' => array( 'operator' => '=', 'value' => 'All', 'group' => '0', 'exposed' => TRUE, 'expose' => array( 'use_operator' => 0, 'operator' => 'program_op', 'identifier' => 'program', 'label' => 'Program', 'optional' => 1, 'remember' => 0, ), 'case' => 0, 'id' => 'program', 'table' => 'analysis', 'field' => 'program', 'relationship' => 'none', ), 'sourcename' => array( 'operator' => 'contains', 'value' => '', 'group' => '0', 'exposed' => TRUE, 'expose' => array( 'use_operator' => 0, 'operator' => 'sourcename_op', 'identifier' => 'sourcename', 'label' => 'Source Name Contains', 'optional' => 1, 'remember' => 0, ), 'case' => 0, 'id' => 'sourcename', 'table' => 'analysis', 'field' => 'sourcename', 'relationship' => 'none', ), )); $handler->override_option('access', array( 'type' => 'perm', 'perm' => 'access chado_analysis content', )); $handler->override_option('cache', array( 'type' => 'none', )); $handler->override_option('title', 'Analysis'); $handler->override_option('empty', 'No analysis 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( 'algorithm' => 'algorithm', 'description' => 'description', 'name' => 'name', 'num_features' => 'num_features', 'program' => 'program', 'programversion' => 'programversion', 'sourcename' => 'sourcename', 'sourceuri' => 'sourceuri', 'sourceversion' => 'sourceversion', 'timeexecuted' => 'timeexecuted', ), 'info' => array( 'algorithm' => array( 'sortable' => 1, 'separator' => '', ), 'description' => array( 'sortable' => 1, 'separator' => '', ), 'name' => array( 'sortable' => 1, 'separator' => '', ), 'num_features' => array( 'separator' => '', ), 'program' => array( 'sortable' => 1, 'separator' => '', ), 'programversion' => array( 'sortable' => 1, 'separator' => '', ), 'sourcename' => array( 'sortable' => 1, 'separator' => '', ), 'sourceuri' => array( 'sortable' => 1, 'separator' => '', ), 'sourceversion' => array( 'sortable' => 1, 'separator' => '', ), 'timeexecuted' => array( 'sortable' => 1, 'separator' => '', ), ), 'default' => 'timeexecuted', )); $handler = $view->new_display('page', 'Page', 'page_1'); $handler->override_option('path', 'analyses'); $handler->override_option('menu', array( 'type' => 'normal', 'title' => 'Analyses', 'description' => '', 'weight' => '0', 'name' => 'primary-links', )); $handler->override_option('tab_options', array( 'type' => 'none', 'title' => '', 'description' => '', 'weight' => 0, 'name' => 'navigation', )); $views[$view->name] = $view; return $views; }