update room number field to be an integer
This commit is contained in:
@@ -1657,6 +1657,43 @@ function _booking_room_email_summary($node) {
|
||||
return implode("\n", $rows);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to create the mean, median, mode or average of an array
|
||||
* @see http://www.phpsnips.com/45/Mean,-Median,-Mode,-Range-Of-An-Array
|
||||
*/
|
||||
function _booking_mmmr($array, $output = 'mean'){
|
||||
if(!is_array($array)) {
|
||||
return FALSE;
|
||||
}
|
||||
else {
|
||||
switch($output){
|
||||
case 'mean':
|
||||
$count = count($array);
|
||||
$sum = array_sum($array);
|
||||
$total = $sum / $count;
|
||||
break;
|
||||
case 'median':
|
||||
rsort($array);
|
||||
$middle = round(count($array) / 2);
|
||||
$total = $array[$middle-1];
|
||||
break;
|
||||
case 'mode':
|
||||
$v = array_count_values($array);
|
||||
arsort($v);
|
||||
foreach($v as $k => $v){$total = $k; break;}
|
||||
break;
|
||||
case 'range':
|
||||
sort($array);
|
||||
$sml = $array[0];
|
||||
rsort($array);
|
||||
$lrg = $array[0];
|
||||
$total = $lrg - $sml;
|
||||
break;
|
||||
}
|
||||
return $total;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Generates a Universally Unique IDentifier, version 4.
|
||||
*
|
||||
|
@@ -595,6 +595,16 @@ function booking_update_7238() {
|
||||
_booking_node_create_mysqlview();
|
||||
}
|
||||
|
||||
/**
|
||||
* Change room number field in room definitions to integer
|
||||
*/
|
||||
function booking_update_7239() {
|
||||
$spec = array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0);
|
||||
db_change_field('booking_room_definition', 'booking_room_number', 'booking_room_number', $spec);
|
||||
//update the view to match the new table definition
|
||||
_booking_node_create_mysqlview();
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of hook_install().
|
||||
*/
|
||||
@@ -926,7 +936,7 @@ function booking_schema() {
|
||||
'fields' => array(
|
||||
'rid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
|
||||
'booking_room_location_id' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0),
|
||||
'booking_room_number' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
|
||||
'booking_room_number' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0),
|
||||
'booking_room_singlebeds' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0),
|
||||
'booking_room_doublebeds' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0),
|
||||
'booking_room_queenbeds' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0),
|
||||
|
@@ -279,7 +279,8 @@ function booking_report_summary() {
|
||||
));
|
||||
$output .= t("<h3>Ages</h3>");
|
||||
$output .= t("<p>The combined average age at the start of the week will be !average.<br />The male average age will be !maleaverage.<br />The female average age will be !femaleaverage.</p>",
|
||||
array('!average' => _booking_avg_age($dob_total, $male_count + $female_count, $event->booking_event_start), '!maleaverage' => _booking_avg_age($male_dob_total, $male_count, $event->booking_event_start),
|
||||
array('!average' => _booking_avg_age($dob_total, $male_count + $female_count, $event->booking_event_start),
|
||||
'!maleaverage' => _booking_avg_age($male_dob_total, $male_count, $event->booking_event_start),
|
||||
'!femaleaverage' => _booking_avg_age($female_dob_total, $female_count, $event->booking_event_start)
|
||||
));
|
||||
$output .= t("<h3>Finances</h3>");
|
||||
|
@@ -425,6 +425,18 @@ function booking_rooms_definition_form($node, &$form_state, $create, $room_id =
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate the form for adding room definitions
|
||||
*/
|
||||
function booking_rooms_definition_form_validate($form, $form_state) {
|
||||
//make sure room number is numerical
|
||||
$values = $form_state['input'];
|
||||
|
||||
if (! is_numeric($values['booking_room_number'])) {
|
||||
form_set_error('booking_room_number', t('Room number must be numeric. If you need to use a more descriptive label, please use the room label field.'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Process the form for adding room definitions
|
||||
*/
|
||||
|
Reference in New Issue
Block a user