array( 'title' => 'Ingest Form', 'page callback' => 'islandora_ingest_test_ingest', 'type' => MENU_LOCAL_ACTION, 'access callback' => TRUE, ), ); } /** * Render the ingest form. */ function islandora_ingest_test_ingest() { $connection = islandora_get_tuque_connection(); $object = $connection->repository->constructObject('test:test'); $object->label = 'New Object'; $configuration = array( 'objects' => array($object), ); module_load_include('inc', 'islandora', 'includes/ingest.form'); return drupal_get_form('islandora_ingest_form', $configuration); } /** * Implements hook_islandora_ingest_steps(). */ function islandora_ingest_test_islandora_ingest_steps(array &$form_state) { return array( 'islandora_ingest_test' => array( 'type' => 'form', 'form_id' => 'islandora_ingest_test_set_label_form', 'weight' => -50, 'module' => 'islandora_ingest_test', ), ); } /** * Implements hook_MODEL_PID_islandora_ingest_steps(). */ function islandora_ingest_test_test_testcmodel_islandora_ingest_steps(array &$form_state) { return array( 'islandora_ingest_test_testcmodel' => array( 'type' => 'form', 'form_id' => 'islandora_ingest_test_testcmodel_form', 'weight' => -30, 'module' => 'islandora_ingest_test', ), ); } /** * Implements hook_MODEL_PID_islandora_ingest_steps(). */ function islandora_ingest_test_test_testcmodel2_islandora_ingest_steps(array &$form_state) { return array( 'islandora_ingest_test_testcmodel2' => array( 'type' => 'form', 'form_id' => 'islandora_ingest_test_testcmodel2_form', 'weight' => -40, 'module' => 'islandora_ingest_test', ), ); } /** * Sets the label of the ingestable object. * * @param array $form * The Drupal form. * @param array $form_state * The Drupal form state. * * @return array * The Drupal form definition. */ function islandora_ingest_test_set_label_form(array $form, array &$form_state) { $models = array( 'test:nomorestepscmodel', 'test:testcmodel', 'test:testcmodel2', ); $model = isset($form_state['values']['model']) ? $form_state['values']['model'] : reset($models); $shared_storage = &islandora_ingest_form_get_shared_storage($form_state); $shared_storage['models'] = array($model); return array( '#prefix' => '