|
@@ -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;
|