Browse Source

Project: Fixed sync'ing

Lacey Sanderson 13 years ago
parent
commit
81c0e22b5a

+ 16 - 12
base/tripal_project/tripal_project.admin.inc

@@ -73,22 +73,26 @@ function tripal_project_sync_all_projects () {
   
   foreach ($chado_projects as $project_id) {
     $project = tripal_core_chado_select('project',array('name','description'),array('project_id'=>$project_id));
-    print 'Project:'.print_r($project,TRUE)."\n";
-    print 'Sync\'ing '.$project[0]->name.'...';
     
     // create node
-    $form_state = array();
-    $form_state['values']['name'] = $project[0]->name;
-    $form_state['values']['description'] = $project[0]->description;
-    $form_state['values']['project_id'] = $project_id;
-    $form_state['clicked_button'] = 'Save';
-    drupal_execute('tripal_project_node_form',$form_state, (object)array('type' => 'tripal_project'));
+    $new_node = new stdClass();
+    $new_node->type = 'tripal_project';
+    $new_node->uid = $user->uid;
+    $new_node->title = $project[0]->name;
+    $new_node->project_id = $project_id;
+    $new_node->description = $project[0]->description;
+    $new_node->project_name = $project[0]->name;
+    node_validate($new_node);
     $errors = form_get_errors();
-    if ($errors) {
-      print "Error Encountered!\n";
-      print "Errors:".print_r($errors,TRUE)."\n";
+    if(!$errors){
+      $node = node_submit($new_node);
+      node_save($node);
+      if($node->nid){
+         print "Added ".$project[0]->name." (Node ID:".$node->nid.")\n";
+      }
     } else {
-      print "Successful (".$node->nid.")\n";
+      print "Failed to insert project: ".$project[0]->name."\n";
+      print "Errors: ".print_r($errors, TRUE)."\n";
     }
     
   }

+ 12 - 4
base/tripal_project/tripal_project.module

@@ -179,7 +179,6 @@ function tripal_project_form(&$node, $form_state) {
   
   $type = node_get_types('type', $node);
 
-  //define form elements for the node's title and body.
   $form['title'] = array(
     '#type' => 'textfield',
     '#title' => check_plain($type->title_label),
@@ -187,15 +186,24 @@ function tripal_project_form(&$node, $form_state) {
     '#default_value' => $node->title,
     '#weight' => -5
   );
+
+  $form['project_name'] = array(
+    '#type' => 'textfield',
+    '#maxlength' => 255,
+    '#title' => 'Project Name',
+  );
+
+  $form['description'] = array(
+    '#type' => 'textfield',
+    '#maxlength' => 255,
+    '#title' => 'Short Description',
+  ); 
   
-  // Putting body and filter elements to be adjacent them into a sub-array together
   $form['body_filter']['body'] = array(
     '#type' => 'textarea',
     '#title' => check_plain($type->body_label),
     '#default_value' => $node->body,
-    '#required' => FALSE
   );
-  
   $form['body_filter']['filter'] = filter_form($node->format);
   
   // whether or not the project exists in chado