From 64c75ef4daed05c75adde852529547e020acd37c Mon Sep 17 00:00:00 2001 From: Kylea Jackson Date: Wed, 8 Apr 2015 13:50:35 -0300 Subject: [PATCH] Cleaning something up. --- includes/delete_datastream.form.inc | 38 +++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/includes/delete_datastream.form.inc b/includes/delete_datastream.form.inc index 346aeeca..14bb8ebe 100644 --- a/includes/delete_datastream.form.inc +++ b/includes/delete_datastream.form.inc @@ -19,15 +19,43 @@ * The drupal form definition. */ function islandora_delete_datastream_form(array $form, array &$form_state, AbstractDatastream $datastream) { + // XXX: Stashed version of datastream is deprecated... Use object and + // datastream IDs from 'datastream_info' to acquire. $form_state['datastream'] = $datastream; + $form_state['datastream_info'] = array( + 'object_id' => $datastream->parent->id, + 'datastream_id' => $datastream->id, + ); $object = $datastream->parent; $dsid = $datastream->id; - $derivs = implode(', ', islandora_datastream_to_purge($object, $dsid)); + $dsids = array_merge(array($dsid), islandora_datastream_to_purge($object, $dsid)); + $dsids = array_unique($dsids); $form['delete_derivatives'] = array( '#title' => t('Delete Derivatives'), '#type' => 'checkbox', '#default_value' => 0, - '#description' => t('Derivatives can be regenerated at a later time.

Datastream(s) to be purged:

@dsid, @derivs', array('@dsid' => $datastream->id, '@derivs' => $derivs)), + '#description' => t('Derivatives can be regenerated at a later time.'), + ); + $form['base_info'] = array( + '#type' => 'item', + '#title' => t('Datastream to be purged'), + '#markup' => $dsid, + '#states' => array( + 'invisible' => array( + ':input[name="delete_derivatives"]' => array('checked' => TRUE), + ), + ), + ); + $form['derivative_info'] = array( + '#type' => 'item', + '#title' => t('Datastream(s) to be purged'), + '#description' => t('Including detectable derivatives.'), + '#markup' => implode(', ', $dsids), + '#states' => array( + 'visible' => array( + ':input[name="delete_derivatives"]' => array('checked' => TRUE), + ), + ), ); return confirm_form($form, t('Are you sure you want to delete the %dsid datastream?', array('%dsid' => $datastream->id)), @@ -87,9 +115,9 @@ function islandora_datastream_derivatives_purged(AbstractObject $object, $dsid) * The Drupal form state. */ function islandora_delete_datastream_form_submit(array $form, array &$form_state) { - $datastream = $form_state['datastream']; - $datastream_id = $datastream->id; - $object = $datastream->parent; + $object = islandora_object_load($form_state['datastream_info']['object_id']); + $datastream_id = $form_state['datastream_info']['datastream_id']; + $datastream = $object[$datastream_id]; $deleted = FALSE; if ($form_state['values']['delete_derivatives']) { islandora_datastream_derivatives_purged($object, $datastream_id);