فهرست منبع

Merge branch '6.x-0.4-dev' of git.drupal.org:sandbox/spficklin/1337878 into 6.x-0.4-dev

alexgl 13 سال پیش
والد
کامیت
e852a65e17
1فایلهای تغییر یافته به همراه31 افزوده شده و 20 حذف شده
  1. 31 20
      base/tripal_library/tripal_library.module

+ 31 - 20
base/tripal_library/tripal_library.module

@@ -903,27 +903,32 @@ function chado_library_validate($node){
  */
 function chado_library_insert($node){
 
-   // get the library type id
-   $values = array(
-      'cv_id' => array(
-         'name' => 'tripal'
-      ),
-      'name' => $node->library_type
-   );
-   $type = tripal_core_chado_select('cvterm',array('cvterm_id'),$values);
-
-   $values = array(
-      'name' => $node->title,
-      'uniquename' => $node->uniquename,
-      'organism_id' => $node->organism_id,
-      'type_id' => $type[0]->cvterm_id
-   );
-   $library = tripal_core_chado_insert('library', $values);
+  if ($node->library_id) {
+    $library['library_id'] = $node->library_id;
+  } else {
+     // get the library type id
+     $values = array(
+        'cv_id' => array(
+           'name' => 'tripal'
+        ),
+        'name' => $node->library_type
+     );
+     $type = tripal_core_chado_select('cvterm',array('cvterm_id'),$values);
+  
+     $values = array(
+        'name' => $node->title,
+        'uniquename' => $node->uniquename,
+        'organism_id' => $node->organism_id,
+        'type_id' => $type[0]->cvterm_id
+     );
+     $library = tripal_core_chado_insert('library', $values);
+   }
+   
    if ($library) {
        // add the description property
       tripal_library_insert_property($library['library_id'],'library_description',$node->library_description);
 
-      // make sure the entry for this feature doesn't already exist in the chado_feature table
+      // make sure the entry for this feature doesn't already exist in the chado_library table
       // if it doesn't exist then we want to add it.
       $library_id = chado_get_id_for_node('library',$node) ;
       if(!$library_id){
@@ -1169,6 +1174,7 @@ function tripal_library_sync_libraries ($library_id = NULL, $job_id = NULL){
           "WHERE library_id = %d";
 
    while($library = db_fetch_object($results)){
+    
       // check if this library already exists in the drupal database. if it
       // does then skip this library and go to the next one.
       if(!db_fetch_object(db_query($sql,$library->library_id))){
@@ -1183,15 +1189,20 @@ function tripal_library_sync_libraries ($library_id = NULL, $job_id = NULL){
          $new_node->type_id = $library->type_id;
 
          node_validate($new_node);
-         if(!form_get_errors()){
+         $errors = form_get_errors();
+         if(!$errors){
             $node = node_submit($new_node);
             node_save($node);
             if($node->nid){
-               $page_content .= "Added $library->name<br>";
+              print "Added ".$library->name."\n";
+            } else {
+              print "ERROR: Unable to create ".$library->name."\n";
             }
+         } else {
+           print "ERROR: Unable to create ".$library->name."\n".print_r($errors, TRUE)."\n";
          }
       } else {
-         $page_content .= "Skipped $library->name<br>";
+         print "Skipped ".$library->name."\n";
       }
    }
    return $page_content;