Browse Source

updated admin datastream table and started pager function

pull/117/merge
Paul Pound 13 years ago
parent
commit
d51f9cad7e
  1. 1
      includes/object_properties.inc
  2. 8
      islandora.module
  3. 2
      islandora_basic_collection/islandora-basic-collection.tpl.php
  4. 15
      islandora_basic_collection/islandora_basic_collection.module

1
includes/object_properties.inc

@ -64,6 +64,7 @@ function islandora_edit_properties_form_submit($form, &$form_state) {
function islandora_edit_properties_form($form, &$form_state, $object_id) { function islandora_edit_properties_form($form, &$form_state, $object_id) {
$form = array(); $form = array();
$islandora_object = islandora_get_object($object_id); $islandora_object = islandora_get_object($object_id);
drupal_set_title($islandora_object->label);
if (!isset($islandora_object)) { if (!isset($islandora_object)) {
return NULL; return NULL;
} }

8
islandora.module

@ -646,14 +646,20 @@ function islandora_preprocess_islandora_default_edit(&$variables) {
module_load_include('inc', 'islandora', 'includes/datastream'); module_load_include('inc', 'islandora', 'includes/datastream');
// $variables['add_datastream_form'] = drupal_get_form('islandora_add_datastream_form', $islandora_object->id); // $variables['add_datastream_form'] = drupal_get_form('islandora_add_datastream_form', $islandora_object->id);
$header = array( $header = array(
array('data' => t('ID')),
array('data' => t('Type')),
array('data' => t('Mime type')),
array('data' => t('Label')), array('data' => t('Label')),
array('data' => t('Operations'),'colspan' => '2'), array('data' => t('Operations'), 'colspan' => '2'),
//array('data' => t('Delete')), //array('data' => t('Delete')),
); );
$table_attributes = array('class' => array('manage-datastrea')); $table_attributes = array('class' => array('manage-datastrea'));
$rows = array(); $rows = array();
foreach ($islandora_object as $ds) { foreach ($islandora_object as $ds) {
$rows[] = array( $rows[] = array(
array('class' => 'datastream-label', 'data' => l($ds->id, $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/' . $ds->id . '/view')),
array('class' => 'datastream-label', 'data' => $ds->controlGroup),
array('class' => 'datastream-label', 'data' => $ds->mimeType),
array('class' => 'datastream-label', 'data' => l($ds->label, $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/' . $ds->id . '/view')), array('class' => 'datastream-label', 'data' => l($ds->label, $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/' . $ds->id . '/view')),
array('class' => 'datastream-download', 'data' => l(t('download'), $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/' . $ds->id . '/download')), array('class' => 'datastream-download', 'data' => l(t('download'), $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/' . $ds->id . '/download')),
array('class' => 'datastream-delete', 'data' => l(t('delete'), $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/' . $ds->id . '/delete')), array('class' => 'datastream-delete', 'data' => l(t('delete'), $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/' . $ds->id . '/delete')),

2
islandora_basic_collection/islandora-basic-collection.tpl.php

@ -25,11 +25,13 @@
<div class="islandora-basic-collection-wrapper"> <div class="islandora-basic-collection-wrapper">
<div class="islandora-basic-collection clearfix"> <div class="islandora-basic-collection clearfix">
<?php print($variables['pager']); ?>
<?php foreach($associated_objects_array as $key => $value): ?> <?php foreach($associated_objects_array as $key => $value): ?>
<dl class="islandora-basic-collection-object <?php print $value['class']; ?>"> <dl class="islandora-basic-collection-object <?php print $value['class']; ?>">
<dt class="islandora-basic-collection-thumb"><?php print $value['thumb_link']; ?></dt> <dt class="islandora-basic-collection-thumb"><?php print $value['thumb_link']; ?></dt>
<dd class="islandora-basic-collection-caption"><?php print $value['title_link']; ?></dd> <dd class="islandora-basic-collection-caption"><?php print $value['title_link']; ?></dd>
</dl> </dl>
<?php endforeach; ?> <?php endforeach; ?>
<?php print($variables['pager']); ?>
</div> </div>
</div> </div>

15
islandora_basic_collection/islandora_basic_collection.module

@ -210,7 +210,7 @@ function islandora_basic_collection_islandora_get_types() {
* @return string * @return string
* themed html * themed html
*/ */
function islandora_basic_collection_islandora_view_object($object, $user, $page_number, $page_size) { function islandora_basic_collection_islandora_view_object($object, $user) {
//global $user; //global $user;
$cmodel_list = islandora_basic_collection_islandora_get_types(); $cmodel_list = islandora_basic_collection_islandora_get_types();
$models = $object->models; $models = $object->models;
@ -242,7 +242,13 @@ function islandora_basic_collection_preprocess_islandora_basic_collection(&$vari
} catch (Exception $e) { } catch (Exception $e) {
drupal_set_message(t('Error retrieving object %s %t', array('%s' => $islandora_object->id, '%t' => $e->getMessage())), 'error'); drupal_set_message(t('Error retrieving object %s %t', array('%s' => $islandora_object->id, '%t' => $e->getMessage())), 'error');
} }
$variables['islandora_associated_objects'] = islandora_basic_collection_get_objects($islandora_object); $page_number = (empty($_GET['page'])) ? '1' : $_GET['page'];
$page_size = (empty($_GET['pagesize'])) ? variable_get('islandora_collection_pagesize',5) : $_GET['pagesize'];
$results = islandora_basic_collection_get_objects($islandora_object,$page_number,$page_size);
pager_default_initialize(count($results), $page_size);
$variables['islandora_associated_objects'] = $results;
$pager = theme('pager', array('quantity' => count($results)));
$variables['pager'] = $pager;
$variables['islandora_dublin_core'] = $dc_object; $variables['islandora_dublin_core'] = $dc_object;
$variables['islandora_object_label'] = $islandora_object->label; $variables['islandora_object_label'] = $islandora_object->label;
$variables['theme_hook_suggestions'][] = 'islandora_basic_collection__' . str_replace(':', '_', $islandora_object->id); $variables['theme_hook_suggestions'][] = 'islandora_basic_collection__' . str_replace(':', '_', $islandora_object->id);
@ -260,6 +266,7 @@ function islandora_basic_collection_preprocess_islandora_basic_collection(&$vari
} }
$associated_objects_array = array(); $associated_objects_array = array();
//for($i=$page_size * ($page_number -1),$i < $page_size * ($page)
foreach ($variables['islandora_associated_objects'] as $key => $value) { foreach ($variables['islandora_associated_objects'] as $key => $value) {
$pid = $variables['islandora_associated_objects'][$key]['object']['value']; $pid = $variables['islandora_associated_objects'][$key]['object']['value'];
$fc_object = islandora_basic_collection_get_object($pid); $fc_object = islandora_basic_collection_get_object($pid);
@ -307,7 +314,7 @@ function islandora_basic_collection_get_object($object_id) {
return $fedora_object; return $fedora_object;
} }
function islandora_basic_collection_get_objects($object) { function islandora_basic_collection_get_objects($object, $page_number = 1, $page_size = 5) {
$query = 'select $object $title $content from <#ri> $query = 'select $object $title $content from <#ri>
where ($object <fedora-model:label> $title where ($object <fedora-model:label> $title
and $object <fedora-model:hasModel> $content and $object <fedora-model:hasModel> $content
@ -316,8 +323,6 @@ function islandora_basic_collection_get_objects($object) {
and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>) and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>)
minus $content <mulgara:is> <info:fedora/fedora-system:FedoraObject-3.0> minus $content <mulgara:is> <info:fedora/fedora-system:FedoraObject-3.0>
order by $title'; order by $title';
$page_number = (empty($_GET['page'])) ? '1' : $_GET['page'];
$page_size = (empty($_GET['pagesize'])) ? '10' : $_GET['pagesize'];
module_load_include('inc', 'islandora', 'RestConnection'); module_load_include('inc', 'islandora', 'RestConnection');
$query_array = array('query' => $query, 'type' => 'itql', 'pid' => $object->id, 'page_size' => $page_size, 'page_number' => $page_number); $query_array = array('query' => $query, 'type' => 'itql', 'pid' => $object->id, 'page_size' => $page_size, 'page_number' => $page_number);
drupal_alter('islandora_basic_collection_query', $query_array); drupal_alter('islandora_basic_collection_query', $query_array);

Loading…
Cancel
Save