|  | @@ -28,10 +28,13 @@ function tripal_contact_views_data()  {
 | 
	
		
			
				|  |  |    if (module_exists('tripal_views')) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // Base Table: contact
 | 
	
		
			
				|  |  | -    $table_name = 'contact';
 | 
	
		
			
				|  |  | +    $tablename = 'contact';
 | 
	
		
			
				|  |  |      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);
 | 
	
		
			
				|  |  | +      $status = tripal_views_integration_add_entry($table_integration_array);
 | 
	
		
			
				|  |  | +        if (!$status) {
 | 
	
		
			
				|  |  | +          drupal_set_message(t('Tripal Contact is unable to integrate %table', array('%table' => $tablename)), 'error');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // Additional tables
 | 
	
	
		
			
				|  | @@ -41,7 +44,10 @@ function tripal_contact_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, FALSE);
 | 
	
		
			
				|  |  | -        tripal_views_integration_add_entry($table_integration_array);
 | 
	
		
			
				|  |  | +        $status = tripal_views_integration_add_entry($table_integration_array);
 | 
	
		
			
				|  |  | +        if (!$status) {
 | 
	
		
			
				|  |  | +          drupal_set_message(t('Tripal Contact is unable to integrate %table', array('%table' => $tablename)), 'error');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -69,3 +75,276 @@ function tripal_contact_views_handlers() {
 | 
	
		
			
				|  |  |    ),
 | 
	
		
			
				|  |  |    );
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @ingroup tripal_feature_views
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function tripal_contact_views_default_views() {
 | 
	
		
			
				|  |  | +  $views = array();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // Main default view
 | 
	
		
			
				|  |  | +  $view = new view;
 | 
	
		
			
				|  |  | +  $view->name = 'contact_listing';
 | 
	
		
			
				|  |  | +  $view->description = 'A listing of chado contacts';
 | 
	
		
			
				|  |  | +  $view->tag = 'chado default';
 | 
	
		
			
				|  |  | +  $view->base_table = 'contact';
 | 
	
		
			
				|  |  | +  $view->core = 6;
 | 
	
		
			
				|  |  | +  $view->api_version = '2';
 | 
	
		
			
				|  |  | +  $view->disabled = TRUE; /* 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' => '',
 | 
	
		
			
				|  |  | +        '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,
 | 
	
		
			
				|  |  | +      'type' => 'separator',
 | 
	
		
			
				|  |  | +      'separator' => ', ',
 | 
	
		
			
				|  |  | +      'exclude' => 0,
 | 
	
		
			
				|  |  | +      'id' => 'name',
 | 
	
		
			
				|  |  | +      'table' => 'contact',
 | 
	
		
			
				|  |  | +      'field' => 'name',
 | 
	
		
			
				|  |  | +      'relationship' => 'none',
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +    'name_1' => array(
 | 
	
		
			
				|  |  | +      'label' => 'Type',
 | 
	
		
			
				|  |  | +      '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,
 | 
	
		
			
				|  |  | +      'type' => 'separator',
 | 
	
		
			
				|  |  | +      'separator' => ', ',
 | 
	
		
			
				|  |  | +      'exclude' => 0,
 | 
	
		
			
				|  |  | +      'id' => 'name_1',
 | 
	
		
			
				|  |  | +      'table' => 'cvterm',
 | 
	
		
			
				|  |  | +      'field' => 'name',
 | 
	
		
			
				|  |  | +      'relationship' => 'none',
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +    'description' => array(
 | 
	
		
			
				|  |  | +      'label' => 'Description',
 | 
	
		
			
				|  |  | +      '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,
 | 
	
		
			
				|  |  | +      'type' => 'separator',
 | 
	
		
			
				|  |  | +      'separator' => ', ',
 | 
	
		
			
				|  |  | +      'exclude' => 0,
 | 
	
		
			
				|  |  | +      'id' => 'description',
 | 
	
		
			
				|  |  | +      'table' => 'contact',
 | 
	
		
			
				|  |  | +      'field' => 'description',
 | 
	
		
			
				|  |  | +      'relationship' => 'none',
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +  ));
 | 
	
		
			
				|  |  | +  $handler->override_option('filters', array(
 | 
	
		
			
				|  |  | +    '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 contacts matching the entered criteria. If you leave a any of the criteria blank then the contacts will be not be filtered based on that field. Furthermore, if you leave all criteria blank then all contacts 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' => 'contact',
 | 
	
		
			
				|  |  | +      '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' => 'contains',
 | 
	
		
			
				|  |  | +      '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' => 'contact',
 | 
	
		
			
				|  |  | +      'field' => 'name',
 | 
	
		
			
				|  |  | +      'relationship' => 'none',
 | 
	
		
			
				|  |  | +      'agg' => array(
 | 
	
		
			
				|  |  | +        'records_with' => 1,
 | 
	
		
			
				|  |  | +        'aggregates_with' => 1,
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +    'description' => array(
 | 
	
		
			
				|  |  | +      'operator' => 'contains',
 | 
	
		
			
				|  |  | +      'value' => '',
 | 
	
		
			
				|  |  | +      'group' => '0',
 | 
	
		
			
				|  |  | +      'exposed' => TRUE,
 | 
	
		
			
				|  |  | +      'expose' => array(
 | 
	
		
			
				|  |  | +        'use_operator' => 0,
 | 
	
		
			
				|  |  | +        'operator' => 'description_op',
 | 
	
		
			
				|  |  | +        'identifier' => 'description',
 | 
	
		
			
				|  |  | +        'label' => 'Description Contains',
 | 
	
		
			
				|  |  | +        'remember' => 0,
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +      'case' => 0,
 | 
	
		
			
				|  |  | +      'id' => 'description',
 | 
	
		
			
				|  |  | +      'table' => 'contact',
 | 
	
		
			
				|  |  | +      'field' => 'description',
 | 
	
		
			
				|  |  | +      'relationship' => 'none',
 | 
	
		
			
				|  |  | +      'agg' => array(
 | 
	
		
			
				|  |  | +        'records_with' => 1,
 | 
	
		
			
				|  |  | +        'aggregates_with' => 1,
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +  ));
 | 
	
		
			
				|  |  | +  $handler->override_option('access', array(
 | 
	
		
			
				|  |  | +    'type' => 'perm',
 | 
	
		
			
				|  |  | +    'perm' => 'access content',
 | 
	
		
			
				|  |  | +  ));
 | 
	
		
			
				|  |  | +  $handler->override_option('cache', array(
 | 
	
		
			
				|  |  | +    'type' => 'none',
 | 
	
		
			
				|  |  | +  ));
 | 
	
		
			
				|  |  | +  $handler->override_option('title', 'Contacts');
 | 
	
		
			
				|  |  | +  $handler->override_option('header', 'Click "Show" to see a list of all contacts matching the entered criteria. If you leave a any of the criteria blank then the contacts will be not be filtered based on that field. Furthermore, if you leave all criteria blank then all contacts will be listed.');
 | 
	
		
			
				|  |  | +  $handler->override_option('header_format', '2');
 | 
	
		
			
				|  |  | +  $handler->override_option('header_empty', 0);
 | 
	
		
			
				|  |  | +  $handler->override_option('empty', 'No contacts match the current criteria.');
 | 
	
		
			
				|  |  | +  $handler->override_option('empty_format', '2');
 | 
	
		
			
				|  |  | +  $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',
 | 
	
		
			
				|  |  | +    'summary' => '',
 | 
	
		
			
				|  |  | +    'columns' => array(
 | 
	
		
			
				|  |  | +      'name' => 'name',
 | 
	
		
			
				|  |  | +      'name_1' => 'name_1',
 | 
	
		
			
				|  |  | +      'description' => 'description',
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +    'info' => array(
 | 
	
		
			
				|  |  | +      'name' => array(
 | 
	
		
			
				|  |  | +        'sortable' => 1,
 | 
	
		
			
				|  |  | +        'separator' => '',
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +      'name_1' => array(
 | 
	
		
			
				|  |  | +        'sortable' => 1,
 | 
	
		
			
				|  |  | +        'separator' => '',
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +      'description' => array(
 | 
	
		
			
				|  |  | +        'sortable' => 0,
 | 
	
		
			
				|  |  | +        'separator' => '',
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +    'default' => 'name',
 | 
	
		
			
				|  |  | +  ));
 | 
	
		
			
				|  |  | +  $handler = $view->new_display('page', 'Page', 'page_1');
 | 
	
		
			
				|  |  | +  $handler->override_option('path', 'contacts');
 | 
	
		
			
				|  |  | +  $handler->override_option('menu', array(
 | 
	
		
			
				|  |  | +    'type' => 'normal',
 | 
	
		
			
				|  |  | +    'title' => 'Contacts',
 | 
	
		
			
				|  |  | +    '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;
 | 
	
		
			
				|  |  | +}
 |