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. 16
      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) {
$form = array();
$islandora_object = islandora_get_object($object_id);
drupal_set_title($islandora_object->label);
if (!isset($islandora_object)) {
return NULL;
}

16
islandora.module

@ -646,20 +646,26 @@ function islandora_preprocess_islandora_default_edit(&$variables) {
module_load_include('inc', 'islandora', 'includes/datastream');
// $variables['add_datastream_form'] = drupal_get_form('islandora_add_datastream_form', $islandora_object->id);
$header = array(
array('data' => t('ID')),
array('data' => t('Type')),
array('data' => t('Mime type')),
array('data' => t('Label')),
array('data' => t('Operations'),'colspan' => '2'),
//array('data' => t('Delete')),
array('data' => t('Operations'), 'colspan' => '2'),
//array('data' => t('Delete')),
);
$table_attributes = array('class' => array('manage-datastrea'));
$rows = array();
foreach ($islandora_object as $ds) {
$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-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')),
);
);
}
$caption = $islandora_object->label . ' - ' . $islandora_object->id;
$table = array('colgroups' => NULL, 'sticky' => TRUE, 'empty' => 'Error loading datastreams', 'caption' => $caption, 'header' => $header, 'rows' => $rows, 'attributes' => $table_attributes);
$table = array('colgroups' => NULL, 'sticky' => TRUE, 'empty' => 'Error loading datastreams', 'caption' => $caption, 'header' => $header, 'rows' => $rows, 'attributes' => $table_attributes);
$variables['datastream_table'] = theme_table($table);
}

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

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

15
islandora_basic_collection/islandora_basic_collection.module

@ -210,7 +210,7 @@ function islandora_basic_collection_islandora_get_types() {
* @return string
* 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;
$cmodel_list = islandora_basic_collection_islandora_get_types();
$models = $object->models;
@ -242,7 +242,13 @@ function islandora_basic_collection_preprocess_islandora_basic_collection(&$vari
} catch (Exception $e) {
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_object_label'] = $islandora_object->label;
$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();
//for($i=$page_size * ($page_number -1),$i < $page_size * ($page)
foreach ($variables['islandora_associated_objects'] as $key => $value) {
$pid = $variables['islandora_associated_objects'][$key]['object']['value'];
$fc_object = islandora_basic_collection_get_object($pid);
@ -307,7 +314,7 @@ function islandora_basic_collection_get_object($object_id) {
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>
where ($object <fedora-model:label> $title
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>)
minus $content <mulgara:is> <info:fedora/fedora-system:FedoraObject-3.0>
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');
$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);

Loading…
Cancel
Save