Browse Source

Reorganized entity.admin.inc file... oved functions back to their calling Class

Stephen Ficklin 9 years ago
parent
commit
844da3d7ef

+ 74 - 28
tripal_entities/includes/TripalBundleUIController.inc

@@ -271,40 +271,86 @@ function tripal_bundle_access($op, $type = NULL, $account = NULL) {
 }
 
 /**
- * Generates the tripal data type editing form.
+ * Form for creating tripal data types.
+ *
+ * This form is available on the menu at Admin >> Structure >> Biological Data
+ * Types. It requires that a module implmennt the vocabulary storage.  Tripal
+ * knows which vocabulary storage methods are available when a module
+ * implements the hook_vocab_storage_info() hook.
+ *
  */
-function tripal_bundle_form($form, &$form_state, $tripal_bundle, $op = 'edit') {
-
-  if ($op == 'clone') {
-    $tripal_bundle->label .= ' (cloned)';
-    $tripal_bundle->type = '';
+function tripal_entities_admin_add_type_form($form, &$form_state) {
+
+  // TODO: we need some sort of administrative interface that lets the user
+  // switch to the desired vocabulary type. For now, we'll just use the
+  // first one in the list.
+  $stores = module_invoke_all('vocab_storage_info');
+  if (is_array($stores) and count($stores) > 0) {
+    $keys = array_keys($stores);
+    $module = $stores[$keys[0]]['module'];
+    $function = $module . '_vocab_select_term_form';
+    if (function_exists($function)) {
+      $form = $function($form, $form_state);
+    }
+  }
+  else {
+    tripal_set_message('A storage backend is not enabled for managing
+          the vocabulary terms used to create content.  Please enable
+          a module that supports storage of vocabualary terms (e.g. tripal_chado)
+          and return to create new Tripal content types.', TRIPAL_NOTICE);
   }
-
-  $form['label'] = array(
-    '#title' => t('Label'),
-    '#type' => 'textfield',
-    '#default_value' => $tripal_bundle->label,
-    '#description' => t('The human-readable name of this tripal data type.'),
-    '#required' => TRUE,
-    '#size' => 30,
-  );
-
   return $form;
 }
-
 /**
- * Form API submit callback for the type form.
+ * Implements hook_validate() for the tripal_entities_admin_add_type_form.
+ *
  */
-function tripal_bundle_form_submit(&$form, &$form_state) {
-  $tripal_bundle = entity_ui_form_submit_build_entity($form, $form_state);
-  $tripal_bundle->save();
-  $form_state['redirect'] = $this->path;
+function tripal_entities_admin_add_type_form_validate($form, &$form_state) {
+  // TODO: we need some sort of administrative interface that lets the user
+  // switch to the desired vocabulary type. For now, we'll just use the
+  // first one in the list.
+  $stores = module_invoke_all('vocab_storage_info');
+  if (is_array($stores) and count($stores) > 0) {
+    $keys = array_keys($stores);
+    $module = $stores[$keys[0]]['module'];
+    $function = $module . '_vocab_select_term_form_validate';
+    if (function_exists($function)) {
+      $function($form, $form_state);
+    }
+  }
 }
-
 /**
- * Form API submit callback for the delete button.
+ * Implements hook_submit() for the tripal_entities_admin_add_type_form.
+ *
+ * The storage backend must set the
+ *
  */
-function tripal_bundle_form_submit_delete(&$form, &$form_state) {
-  $form_state['redirect'] = $this->path;
-}
-
+function tripal_entities_admin_add_type_form_submit($form, &$form_state) {
+  $namespace = '';
+  $term_id = '';
+  if (array_key_exists('storage', $form_state)) {
+    $storage = $form_state['storage'];
+    $namespace = array_key_exists('namespace', $storage) ? $storage['namespace'] : '';
+    $term_id = array_key_exists('term_id', $storage) ? $storage['term_id'] : '';
+    $term_name = array_key_exists('term_name', $storage) ? $storage['term_name'] : '';
+
+    // Before we try to add this type, check to see if it already exists
+    // as a bundle.
+    $term = tripal_load_term_entity($namespace, $term_id);
+    if (!$term) {
+      $error = '';
+      $success = tripal_create_bundle($namespace, $term_id, $term_name, $error);
+      if (!$success) {
+        drupal_set_message($error, 'error');
+        $form_state['redirect'] = "admin/structure/bio-data";
+      }
+      else {
+        drupal_set_message('New biological data type created.  Fields are added automatically to this type.');
+        $form_state['redirect'] = "admin/structure/bio-data";
+      }
+    }
+    else {
+      drupal_set_message('This type already exists.', 'warning');
+    }
+  }
+}

+ 103 - 1
tripal_entities/includes/TripalEntityUIController.inc

@@ -134,4 +134,106 @@ function tripal_entities_view_entity($entity, $view_mode = 'full') {
    $content = $controller->view(array($entity->id => $entity));
    drupal_set_title($entity->title);
    return $content;
- }
+ }
+
+ /**
+  * Provide a data listing for tripal entites (ie: biological data).
+  *
+  * This function is a callback in a menu item which is set in the
+  * TripalEntityUIController class.
+  */
+ function tripal_entities_content_view() {
+
+   // Retrieve our data listing form and render it.
+   $form = drupal_get_form('tripal_entities_content_overview_form');
+   $output = drupal_render($form);
+
+   // Set the breadcrumb.
+   $breadcrumb = array();
+   $breadcrumb[] = l('Home', '<front>');
+   $breadcrumb[] = l('Administration', 'admin');
+   drupal_set_breadcrumb($breadcrumb);
+
+   return $output;
+
+ }
+
+ /**
+  * Display a listing of Tripal entities.
+  *
+  * @TODO Filters and bulk operations needed to be added to this form.
+  *
+  * @param array $form
+  * @param array $form_state
+  * @return
+  *   A form array describing this listing to the Form API.
+  */
+ function tripal_entities_content_overview_form($form, &$form_state) {
+
+   // Set the title to be informative (defaults to content for some reason).
+   drupal_set_title('Tripal Content');
+
+   // Retrieve a pages list of all tripal entitles (ie: biological data).
+   // This will return the 25 most recently created entities.
+   $entities = db_select('tripal_entity', 'td')
+   ->fields('td')
+   ->orderBy('created', 'DESC')
+   ->range(0,25)
+   ->execute();
+
+   $headers = array('Title', 'Vocabulary', 'Term', 'Author', 'Status', 'Updated', 'Operations');
+   $rows = array();
+
+   // For each entity retrieved add a row to the data listing.
+   while ($entity = $entities->fetchObject()) {
+
+     // Get the term
+     $term = entity_load('TripalTerm', array('id' => $entity->term_id));
+     $term = reset($term);
+     $vocab = entity_load('TripalVocab', array('id' => $term->vocab_id));
+     $vocab = reset($vocab);
+
+     // Retrieve details about the user who created this data.
+     $author = user_load($entity->uid);
+
+     // Add information to the table.
+     $rows[] = array(
+       l($entity->title, 'bio-data/' . $entity->id),
+       $vocab->namespace,
+       $term->name,
+       l($author->name, 'user/' . $entity->uid),
+       $entity->status == 1 ? 'published' : 'unpublished',
+       format_date($entity->changed, 'short'),
+       l('edit', 'bio-data/' . $entity->id . '/edit') . '&nbsp;&nbsp;' .
+       l('delete', 'bio-data/' . $entity->id . '/delete')
+     );
+   }
+
+   // If there are no entites created yet then add a message to the table to
+   // provide guidance to administrators.
+   if (empty($rows)) {
+     $rows[] = array(
+       array(
+         'data' => t('No Tripal content available.'),
+         'colspan' => 7
+       )
+     );
+   }
+
+   // Render the data listing.
+   $table_vars = array(
+     'header'     => $headers,
+     'rows'       => $rows,
+     'attributes' => array(),
+     'sticky'     => TRUE,
+     'caption'    => '',
+     'colgroups'  => array(),
+     'empty'      => '',
+   );
+   $form['results'] = array(
+     '#type' => 'markup',
+     '#markup' => theme('table', $table_vars),
+   );
+
+   return $form;
+ }

+ 0 - 184
tripal_entities/includes/tripal_entities.admin.inc

@@ -1,190 +1,6 @@
 <?php
 
-/**
- * Provide a data listing for tripal entites (ie: biological data).
- *
- * This function is a callback in a menu item which is set in the
- * TripalEntityUIController class.
- */
-function tripal_entities_content_view() {
 
-  // Retrieve our data listing form and render it.
-  $form = drupal_get_form('tripal_entities_content_overview_form');
-  $output = drupal_render($form);
 
-  // Set the breadcrumb.
-  $breadcrumb = array();
-  $breadcrumb[] = l('Home', '<front>');
-  $breadcrumb[] = l('Administration', 'admin');
-  drupal_set_breadcrumb($breadcrumb);
-
-  return $output;
-
-}
-
-/**
- * Display a listing of Tripal entities.
- *
- * @TODO Filters and bulk operations needed to be added to this form.
- *
- * @param array $form
- * @param array $form_state
- * @return
- *   A form array describing this listing to the Form API.
- */
-function tripal_entities_content_overview_form($form, &$form_state) {
-
-  // Set the title to be informative (defaults to content for some reason).
-  drupal_set_title('Tripal Content');
-
-  // Retrieve a pages list of all tripal entitles (ie: biological data).
-  // This will return the 25 most recently created entities.
-  $entities = db_select('tripal_entity', 'td')
-    ->fields('td')
-    ->orderBy('created', 'DESC')
-    ->range(0,25)
-    ->execute();
-
-  $headers = array('Title', 'Vocabulary', 'Term', 'Author', 'Status', 'Updated', 'Operations');
-  $rows = array();
-
-  // For each entity retrieved add a row to the data listing.
-  while ($entity = $entities->fetchObject()) {
-
-    // Get the term
-    $term = entity_load('TripalTerm', array('id' => $entity->term_id));
-    $term = reset($term);
-    $vocab = entity_load('TripalVocab', array('id' => $term->vocab_id));
-    $vocab = reset($vocab);
-
-    // Retrieve details about the user who created this data.
-    $author = user_load($entity->uid);
-
-    // Add information to the table.
-    $rows[] = array(
-      l($entity->title, 'bio-data/' . $entity->id),
-      $vocab->namespace,
-      $term->name,
-      l($author->name, 'user/' . $entity->uid),
-      $entity->status == 1 ? 'published' : 'unpublished',
-      format_date($entity->changed, 'short'),
-      l('edit', 'bio-data/' . $entity->id . '/edit') . '&nbsp;&nbsp;' .
-      l('delete', 'bio-data/' . $entity->id . '/delete')
-    );
-  }
-
-  // If there are no entites created yet then add a message to the table to
-  // provide guidance to administrators.
-  if (empty($rows)) {
-    $rows[] = array(
-      array(
-        'data' => t('No Tripal content available.'),
-        'colspan' => 7
-      )
-    );
-  }
-
-  // Render the data listing.
-  $table_vars = array(
-    'header'     => $headers,
-    'rows'       => $rows,
-    'attributes' => array(),
-    'sticky'     => TRUE,
-    'caption'    => '',
-    'colgroups'  => array(),
-    'empty'      => '',
-  );
-  $form['results'] = array(
-    '#type' => 'markup',
-    '#markup' => theme('table', $table_vars),
-  );
-
-  return $form;
-}
-
-/**
- * Form for creating tripal data types.
- *
- * This form is available on the menu at Admin >> Structure >> Biological Data
- * Types. It requires that a module implmennt the vocabulary storage.  Tripal
- * knows which vocabulary storage methods are available when a module
- * implements the hook_vocab_storage_info() hook.
- *
- */
-function tripal_entities_admin_add_type_form($form, &$form_state) {
-
-  // TODO: we need some sort of administrative interface that lets the user
-  // switch to the desired vocabulary type. For now, we'll just use the
-  // first one in the list.
-  $stores = module_invoke_all('vocab_storage_info');
-  if (is_array($stores) and count($stores) > 0) {
-    $keys = array_keys($stores);
-    $module = $stores[$keys[0]]['module'];
-    $function = $module . '_vocab_select_term_form';
-    if (function_exists($function)) {
-      $form = $function($form, $form_state);
-    }
-  }
-  else {
-    tripal_set_message('A storage backend is not enabled for managing
-          the vocabulary terms used to create content.  Please enable
-          a module that supports storage of vocabualary terms (e.g. tripal_chado)
-          and return to create new Tripal content types.', TRIPAL_NOTICE);
-  }
-  return $form;
-}
-/**
- * Implements hook_validate() for the tripal_entities_admin_add_type_form.
- *
- */
-function tripal_entities_admin_add_type_form_validate($form, &$form_state) {
-  // TODO: we need some sort of administrative interface that lets the user
-  // switch to the desired vocabulary type. For now, we'll just use the
-  // first one in the list.
-  $stores = module_invoke_all('vocab_storage_info');
-  if (is_array($stores) and count($stores) > 0) {
-    $keys = array_keys($stores);
-    $module = $stores[$keys[0]]['module'];
-    $function = $module . '_vocab_select_term_form_validate';
-    if (function_exists($function)) {
-      $function($form, $form_state);
-    }
-  }
-}
-/**
- * Implements hook_submit() for the tripal_entities_admin_add_type_form.
- *
- * The storage backend must set the
- *
- */
-function tripal_entities_admin_add_type_form_submit($form, &$form_state) {
-  $namespace = '';
-  $term_id = '';
-  if (array_key_exists('storage', $form_state)) {
-    $storage = $form_state['storage'];
-    $namespace = array_key_exists('namespace', $storage) ? $storage['namespace'] : '';
-    $term_id = array_key_exists('term_id', $storage) ? $storage['term_id'] : '';
-    $term_name = array_key_exists('term_name', $storage) ? $storage['term_name'] : '';
-
-    // Before we try to add this type, check to see if it already exists
-    // as a bundle.
-    $term = tripal_load_term_entity($namespace, $term_id);
-    if (!$term) {
-      $error = '';
-      $success = tripal_create_bundle($namespace, $term_id, $term_name, $error);
-      if (!$success) {
-        drupal_set_message($error, 'error');
-        $form_state['redirect'] = "admin/structure/bio-data";
-      }
-      else {
-        drupal_set_message('New biological data type created.  Fields are added automatically to this type.');
-        $form_state['redirect'] = "admin/structure/bio-data";
-      }
-    }
-    else {
-      drupal_set_message('This type already exists.', 'warning');
-    }
-  }
-}