Browse Source

Chado Node API -URLs: implemented for feature map nodes

Lacey Sanderson 10 years ago
parent
commit
2967ddcbd0

+ 14 - 0
tripal_featuremap/includes/tripal_featuremap.admin.inc

@@ -65,5 +65,19 @@ function tripal_featuremap_admin() {
   // This sub-form handles it's own validation & submit
   chado_add_admin_form_set_title($form, $form_state, $details);
 
+  // URL ALIAS
+  $details = array(
+    'module' => 'tripal_featuremap',
+    'content_type' => 'chado_featuremap',
+    'options' => array(
+      '/featuremap/[featuremap.featuremap_id]' => 'Feature Map ID',
+      '/featuremap/[featuremap.name]' => 'Unique Contraint: The name of the Feature Map'
+    ),
+  );
+
+  // This call adds the configuration form to your current form
+  // This sub-form handles it's own validation & submit
+  chado_add_admin_form_set_url($form, $form_state, $details);
+
   return system_settings_form($form);
 }

+ 16 - 7
tripal_featuremap/includes/tripal_featuremap.chado_node.inc

@@ -561,6 +561,9 @@ function tripal_featuremap_node_insert($node) {
       // Now get the title
       $node->title = chado_get_node_title($node);
 
+      // Now use the API to set the path.
+      chado_set_node_url($node);
+
       break;
   }
 }
@@ -575,16 +578,13 @@ function tripal_featuremap_node_update($node) {
 
   switch ($node->type) {
     case 'chado_featuremap':
-
-      // get the feature details from chado
-      $featuremap_id = chado_get_id_from_nid('featuremap', $node->nid);
-      $values = array('featuremap_id' => $featuremap_id);
-      $featuremap = chado_generate_var('featuremap', $values);
-      $node->featuremap = $featuremap;
       
       // Now get the title
       $node->title = chado_get_node_title($node);
 
+      // Now use the API to set the path.
+      chado_set_node_url($node);
+
       break;
   }
 }
@@ -597,4 +597,13 @@ function tripal_featuremap_node_update($node) {
  */
 function chado_featuremap_chado_node_default_title_format() {
   return '[featuremap.name]';
-}
+}
+
+/**
+ * Implements hook_chado_node_default_url_format().
+ *
+ * Designates a default URL format for featuremap nodes.
+ */
+function chado_featuremap_chado_node_default_url_format() {
+  return '/featuremap/[featuremap.featuremap_id]';
+}