function rooms_booking_manager_rooms_booking_edit_form_submit in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7
Submit handler for the 'rooms_booking_edit' form.
1 string reference to 'rooms_booking_manager_rooms_booking_edit_form_submit'
- rooms_booking_manager_alter_rooms_booking_edit_form in modules/
rooms_booking_manager/ rooms_booking_manager.module - Alters for the 'rooms_booking_edit' form.
File
- modules/
rooms_booking_manager/ rooms_booking_manager.module, line 2918 - Rooms Booking Manager brings together all the pieces required to find a room and book it - including the DrupalCommerce integration
Code
function rooms_booking_manager_rooms_booking_edit_form_submit(&$form, &$form_state) {
$booking = $form_state['booking'];
list($start_date, $end_date) = rooms_form_values_get_start_end_dates($form_state);
$unit_id = isset($form_state['values']['unit_id']) ? $form_state['values']['unit_id'] : 0;
$unit = rooms_unit_load($unit_id);
// Get the client name and client id.
$client = explode(':', $form_state['values']['client']);
$client_name = $client[0];
$commerce_customer_id = rooms_booking_find_customer_by_name($client_name);
$booking_original = entity_load_unchanged('rooms_booking', $booking->booking_id);
if ($booking->order_id != '') {
if (($order = commerce_order_load($booking->order_id)) !== FALSE) {
if ($booking_original->unit_id != $booking->unit_id || $booking_original->start_date != $booking->start_date || $booking_original->end_date != $booking->end_date || $booking_original->price != $booking->price || $booking_original->data['group_size'] != $booking->data['group_size'] || $booking_original->data['group_size_children'] != $booking->data['group_size_children']) {
$order->status = 'canceled';
commerce_order_save($order);
$booking->order_id = '';
}
}
}
if ($booking->order_id == '') {
if (variable_get('rooms_manually_booking_create_order', '1')) {
$booking_parameters = array(
'adults' => $form_state['values']['data']['group_size'],
'children' => isset($form_state['values']['data']['group_size_children']) ? $form_state['values']['data']['group_size_children'] : 0,
);
$order = rooms_booking_manager_create_order($start_date, $end_date, $booking_parameters, $unit, $booking, $commerce_customer_id);
$booking->order_id = $order->order_number;
// Resave booking to store order reference.
$booking
->save();
}
}
}