From 67007c80dedd0b62e20158f0f43956cb00cc788f Mon Sep 17 00:00:00 2001 From: Ben Woodhead Date: Tue, 14 Feb 2012 10:34:13 -0400 Subject: [PATCH] Created a move to trash option asdf removed breadcrumbs for a test setback to default playing with the menu playing with the menu playing with the menu playing with the menu playing with the menu cleanup Removed ALL limits on collections remove testing line --- CollectionClass.inc | 3 --- api/fedora_item.inc | 28 ++++++++++++++++++++++++++++ fedora_repository.module | 1 + formClass.inc | 2 ++ 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/CollectionClass.inc b/CollectionClass.inc index c5029333..71710d78 100644 --- a/CollectionClass.inc +++ b/CollectionClass.inc @@ -67,9 +67,6 @@ class CollectionClass { function getRelatedItems($pid, $itqlquery = NULL, $limit = NULL, $offset = NULL) { module_load_include('inc', 'fedora_repository', 'ObjectHelper'); module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); - if (!isset($limit)) { - $limit = 10000; - } if (!isset($offset)) { $offset = 0; } diff --git a/api/fedora_item.inc b/api/fedora_item.inc index 2a70010a..3018d614 100644 --- a/api/fedora_item.inc +++ b/api/fedora_item.inc @@ -635,6 +635,28 @@ class Fedora_Item { return FALSE; } + + /** + * Set the object to a deleted state + */ + function move_to_trash($log_message = 'Flagged deleted using Islandora API.') + { + // Loop through the datastreams and mark them deleted + foreach($this->get_datastreams_list_as_array() as $dsid) + { + $this->set_datastream_state($dsid, 'D'); + } + + // Create a message to mark the object deleted + $params = array( + 'pid' => $this->pid, + 'state' => 'D', + 'logMessage' => $logMessage + ); + + // Send message to mark the object deleted + return self::soap_call('modifyObject', $params, $quiet); + } /** * Removes this object form the repository. @@ -643,12 +665,18 @@ class Fedora_Item { * @return type */ function purge($log_message = 'Purged using Islandora API.', $force = FALSE) { + + // Flag the object to be deleted first + $this->move_to_trash($log_message); + + // Create the delete message $params = array( 'pid' => $this->pid, 'logMessage' => $log_message, 'force' => $force ); + // Delete the object return $this->soap_call('purgeObject', $params); } diff --git a/fedora_repository.module b/fedora_repository.module index aaad2c4c..f3412b54 100644 --- a/fedora_repository.module +++ b/fedora_repository.module @@ -1011,6 +1011,7 @@ function fedora_repository_get_items($pid = NULL, $dsId = NULL, $collection = NU ); } } + // Add a 'manage object' tab for all objects, where detailed list of content is shown. $obj = new FedoraObjectDetailedContent($pid); $object_details = $obj->showFieldSets(); diff --git a/formClass.inc b/formClass.inc index 1c8d2f84..b3972087 100644 --- a/formClass.inc +++ b/formClass.inc @@ -581,6 +581,8 @@ class formClass { if (!$this->canShowIngestForm($collection_pid)) { return FALSE; } + + drupal_set_title($collection_label); if (module_exists('islandora_content_model_forms')) { module_load_include('inc', 'islandora_content_model_forms', 'IngestObjectMetadataForm'); try {