You are here

function library_history_user in Library 6.2

Menu callback; show the transaction history of a single user.

1 string reference to 'library_history_user'
library_menu in ./library.module
Implementation of hook_menu().

File

./library.pages.inc, line 377
Functions for generating page displays related to the library module

Code

function library_history_user($patron) {
  $duedate_enabled = library_duedates_enabled($node->type);
  $header = array(
    t('Date'),
    t('Item'),
    t('Transaction'),
    t('Notes'),
  );
  if ($duedate_enabled) {
    $header[] = t('Due Date');
  }
  $header[] = t('Actions');
  $rows = array();
  $transactions = library_get_transactions_by_user($patron);
  if (!empty($transactions)) {
    $last_item = '';
    foreach ($transactions as $transaction) {
      $detail_link = '';
      $action_link = '';
      $cur_item = $transaction->item_id;
      $created = format_date($transaction->created, 'small');
      if ($duedate_enabled && $cur_item != $last_item && !empty($transaction->duedate)) {
        $duedate = format_date($transaction->duedate, 'small');
      }
      elseif ($duedate_enabled) {
        $duedate = '';
      }
      if (user_access('administer transactions', $user)) {
        $detail_link = l('View Details', 'library-items/transaction/view/' . $transaction->tid);
      }
      if ($cur_item != $last_item) {
        $item = array(
          'id' => $transaction->item_id,
          'library_status' => $transaction->library_status,
          'last_patron_uid' => $transaction->uid,
          'in_circulation' => $transaction->in_circulation,
        );
        $links = library_get_action_links($item);
        if (!empty($links)) {
          $action_link = implode(" | ", $links);
        }
      }
      $temp_array = array(
        $created,
        l($transaction->item_name, 'node/' . $transaction->nid),
        $transaction->action_name,
        $transaction->notes,
      );
      if (isset($duedate)) {
        $temp_array[] = $duedate;
      }
      if (!empty($detail_link) && !empty($action_link)) {
        $temp_array[] = $detail_link . ' | ' . $action_link;
      }
      elseif (!empty($action_link)) {
        $temp_array[] = $action_link;
      }
      elseif (!empty($detail_link)) {
        $temp_array[] = $detail_link;
      }
      else {
        $temp_array[] = '';
      }
      $rows[] = $temp_array;
      $last_item = $cur_item;
    }
    return theme('table', $header, $rows);
  }
  else {
    return "<p>This user has not performed any library actions.</p>";
  }
}