You are here

function merci_incomplete_reservations_for_item_nid in MERCI (Manage Equipment Reservations, Checkout and Inventory) 6.2

Same name and namespace in other branches
  1. 7.2 includes/database.inc \merci_incomplete_reservations_for_item_nid()
1 call to merci_incomplete_reservations_for_item_nid()
merci_validate_default_availability in includes/api.inc
Validates the state change of a reservable item.

File

includes/database.inc, line 245
MERCI - Managed Equipment Reservation Checkout and Inventory

Code

function merci_incomplete_reservations_for_item_nid($nid) {

  // Determine CCK table and columns the date data is stored in.
  $field = content_fields('field_merci_date');
  $db_info = content_database_info($field);
  $table = $db_info['table'];
  $column_end_date = $db_info['columns']['value2']['column'];
  $time = gmdate('Y-m-d H:i:s');

  // Pull any incomplete reservations that use the item in question
  $reservations = db_query(db_rewrite_sql("SELECT n.nid, n.title FROM {node} n INNER JOIN {" . $table . "} ct ON ct.vid = n.vid INNER JOIN {merci_reservation_detail} md ON ct.vid = md.vid WHERE md.merci_item_nid = %d AND " . $column_end_date . " >= '%s' AND NOT (md.merci_item_status <= %d)"), $nid, $time, MERCI_ITEM_STATUS_AVAILABLE);
  $bad_reservations = array();
  while ($reservation = db_fetch_object($reservations)) {
    $bad_reservations[] = l($reservation->title, "node/{$reservation->nid}/edit", array(
      'query' => drupal_get_destination(),
    ));
  }
  return $bad_reservations;
}