diff --git a/booking.register.inc b/booking.register.inc index 416ed36..ef1b2a6 100644 --- a/booking.register.inc +++ b/booking.register.inc @@ -1236,6 +1236,7 @@ function booking_load_query($node_ids = NULL, $fetchAssoc = FALSE) { $query->leftJoin('booking_room_mapping', 'rm', 'p.nid = rm.booking_nodeid'); $query->leftJoin('booking_room_definition', 'r', 'rm.booking_roomid = r.rid'); + $query->leftJoin('booking_room_locations', 'l', 'l.lid = r.booking_room_location_id'); } //add the joins to flatten out study groups into columns @@ -1266,7 +1267,8 @@ function booking_load_query($node_ids = NULL, $fetchAssoc = FALSE) if (variable_get('booking_enable_roomallocations', 0) == 1) { $query->fields('rm', array('booking_room_bedtype')) - ->fields('r', array('rid', 'booking_room_location_id', 'booking_room_number')); + ->fields('r', array('rid', 'booking_room_location_id', 'booking_room_number')) + ->fields('l'); } //now add the study group fields if applicable @@ -1294,7 +1296,7 @@ function booking_load_query($node_ids = NULL, $fetchAssoc = FALSE) $result = $query->execute(); } - //watchdog('booking', "
Loading node query output:\n@info", array('@info' => print_r( $result, true))); + watchdog('booking', "
Loading node query output:\n@info", array('@info' => print_r( $result, true))); return $result; } @@ -1940,10 +1942,11 @@ function booking_view($node, $view_mode) { if (variable_get('booking_enable_roomallocations', 0) == 1) { $room_heading = t("
!link
", - array('!link' => l(t('Edit Room Allocation'), t('admin/booking/!id/edit-room', array('!id' => $node->nid))) + array('!link' => l(t('Edit Room Allocation'), t('admin/booking/!id/edit-room', array('!id' => $node->nid)), array('query' => drupal_get_destination()) ) )); $room_rows = array(); - $room_rows[] = array(t('Room Location'), _booking_room_location_lookup($node->booking_room_location_id)); + //$room_rows[] = array(t('Room Location'), _booking_room_location_lookup($node->booking_room_location_id)); + $room_rows[] = array(t('Room Location'), $node->booking_roomlocation_descrip); $room_rows[] = array(t('Room Number'), $node->booking_room_number); $room_rows[] = array(t('Bed Type'), _booking_room_bedtype_lookup($node->booking_room_bedtype)); diff --git a/booking.rooms.inc b/booking.rooms.inc index b0d0157..7e517a4 100644 --- a/booking.rooms.inc +++ b/booking.rooms.inc @@ -66,18 +66,21 @@ function booking_roomallocations_view_summary() { $query = db_select('booking_person', 'p'); $query->leftJoin('booking_room_mapping', 'm', 'm.booking_nodeid = p.nid'); $query->leftJoin('booking_room_definition', 'r', 'r.rid = m.booking_roomid'); + $query->leftJoin('booking_room_locations', 'l', 'l.lid = r.booking_room_location_id'); $db_and = db_and(); $db_and->condition('p.booking_event_id', $event->eid, '='); $db_and->condition('p.booking_status', 1, '='); $query->condition($db_and); - $query->fields('p')->fields('m')->fields('r'); + $query->fields('p')->fields('m')->fields('r')->fields('l'); $table_sort = $query->extend('TableSort')->orderbyHeader($header); $result = $table_sort->execute(); foreach($result as $data) { - $location_link = $data->booking_room_location_id > 0 ? _booking_room_location_lookup($data->booking_room_location_id) . - l(t(' (Edit)'), t('admin/booking/rooms/!id/assign', array('!id' => $data->booking_room_location_id))) : ''; + //$location_link = $data->booking_room_location_id > 0 ? _booking_room_location_lookup($data->booking_room_location_id) . + // l(t(' (Edit)'), t('admin/booking/rooms/!id/assign', array('!id' => $data->booking_room_location_id))) : ''; + $location_link = $data->booking_room_location_id > 0 ? $data->booking_roomlocation_descrip . + l(t(' (Edit)'), t('admin/booking/rooms/!id/assign', array('!id' => $data->booking_room_location_id)), array('query' => drupal_get_destination()) ) : ''; $rows[] = array ( 'data' => array( @@ -90,7 +93,7 @@ function booking_roomallocations_view_summary() { $location_link, $data->booking_room_number, _booking_room_bedtype_lookup($data->booking_room_bedtype), - l(t('Change Room'), t('admin/booking/!id/edit-room', array('!id' => $data->nid))), + l( t('Change Room'), t('admin/booking/!id/edit-room', array('!id' => $data->nid)), array('query' => drupal_get_destination()) ), ), ); } @@ -123,6 +126,8 @@ function booking_room_edit_form($node, &$form_state, $nid) { $form = array(); $room_options = array(); + $location_options = array(); + $location_options[] = "--"; //verify that $nid is a number if (! preg_match('/^[0-9]+$/', $nid)) { @@ -148,6 +153,13 @@ function booking_room_edit_form($node, &$form_state, $nid) { //person must exist in database, load all the bits $person = node_load($nid); + + //load the room locations + $locations_query = db_query("SELECT * FROM {booking_room_locations} where booking_roomlocation_active='Y'"); + foreach($locations_query as $row) + { + $location_options[$row->lid] = $row->booking_roomlocation_descrip; + } $prefix = t("Manually assign/update room allocation for !first !last.