Browse Source

wrapped command to avoid errors for uninstalled objects

pull/455/head
Alan Stanley 11 years ago
parent
commit
24cb55c726
  1. 28
      islandora.drush.inc

28
islandora.drush.inc

@ -177,23 +177,25 @@ function drush_islandora_solution_pack_install_content_models() {
$objects_to_add = array(); $objects_to_add = array();
foreach ($info['objects'] as $key => $candidate) { foreach ($info['objects'] as $key => $candidate) {
$object = islandora_object_load($candidate); $object = islandora_object_load($candidate);
if (in_array('fedora-system:ContentModel-3.0', $object->models)) { if ($object && in_array('fedora-system:ContentModel-3.0', $object->models)) {
$objects_to_add[] = $candidate; $objects_to_add[] = $candidate;
} }
} }
foreach ($objects_to_add as $object_to_add) { if (count($objects_to_add) > 0) {
$old_object = islandora_object_load($object_to_add->id); foreach ($objects_to_add as $object_to_add) {
if ($old_object) { $old_object = islandora_object_load($object_to_add->id);
$deleted = islandora_delete_object($old_object); if ($old_object) {
if (!$deleted) { $deleted = islandora_delete_object($old_object);
drush_log(dt('@object did not delete.', array('@object' => $old_object->id), 'error')); if (!$deleted) {
continue; drush_log(dt('@object did not delete.', array('@object' => $old_object->id), 'error'));
continue;
}
}
$new_object = islandora_add_object($object_to_add);
$verb = $deleted ? dt("Replaced") : dt("Added");
if ($new_object) {
drush_log("$verb " . $object_to_add->id . " - " . $object_to_add->label);
} }
}
$new_object = islandora_add_object($object_to_add);
$verb = $deleted ? dt("Replaced") : dt("Added");
if ($new_object) {
drush_log("$verb " . $object_to_add->id . " - " . $object_to_add->label);
} }
} }
} }

Loading…
Cancel
Save