Feedback / Draft + extra days

This commit is contained in:
Kevin Adametz 2019-01-03 12:02:06 +01:00
parent 6e0c7e8706
commit f9fcaac838
13 changed files with 453 additions and 395 deletions

View file

@ -61,6 +61,7 @@ class DraftController extends Controller
$start_date = Carbon::parse($data['startDateStr']);
$end_date = Carbon::parse($data['endDateStr']);
if($draft){
//------------------------------------------------------------------------------
@ -72,7 +73,9 @@ class DraftController extends Controller
$room_children = 0;
$room_price_adult = 0;
$room_price_children = 0;
$data['rooms'] = array_reverse($data['rooms']);
foreach ($data['rooms'] as $room){
$room_adult += $room['adult'];
@ -112,12 +115,82 @@ class DraftController extends Controller
];
}
$this->room_str = "";
foreach ($room_names as $name=>$count){
$this->room_str .= $count.' x '.$name.', ';
}
$this->room_str = rtrim($this->room_str, ', ');
//before & after days
$price_info_rooms_before = [];
$price_info_rooms_after = [];
if(isset($data['booking_before']) && is_array($data['booking_before'])){
foreach ($data['booking_before'] as $booking_before){
$start_date_before = clone $start_date;
if(isset($booking_before['days']) && $booking_before['days'] > 0){
$start_date_before->modify('-'.$booking_before['days'].' day');
}
$price_info_rooms_before[] = [
'booking_id' => $data['booking_id'],
'travel_program_id' => $data['travel_program_id'],
'travel_class_id' => null,
'draft_item_id' => null,
'draft_type_id' => 36,
'request_date' => $data['request_date'],
'days_start' => null,
'days_duration' => $booking_before['days'],
'start_date' => $start_date_before->format("Y-m-d"),
'end_date' => $data['startDateStr'],
'service' => $booking_before['name'],
'price_adult' => $booking_before['price'],
'adult' => $booking_before['adults'],
'price_children' => $booking_before['price_children'],
'children' => $booking_before['children'],
'pos' => 0,
'in_pdf' => true,
'comfort' => $data['comfort']
];
}
}
if(isset($data['booking_after']) && is_array($data['booking_after'])){
foreach ($data['booking_after'] as $booking_after){
$end_date_after = clone $end_date;
if(isset($booking_after['days']) && $booking_after['days'] > 0){
$end_date_after->modify('+'.$booking_after['days'].' day');
}
$price_info_rooms_after[] = [
'booking_id' => $data['booking_id'],
'travel_program_id' => $data['travel_program_id'],
'travel_class_id' => null,
'draft_item_id' => null,
'draft_type_id' => 37,
'request_date' => $data['request_date'],
'days_start' => null,
'days_duration' => $booking_after['days'],
'start_date' => $data['endDateStr'],
'end_date' => $end_date_after->format("Y-m-d"),
'service' => $booking_after['name'],
'price_adult' => $booking_after['price'],
'adult' => $booking_after['adults'],
'price_children' => $booking_after['price_children'],
'children' => $booking_after['children'],
'pos' => 0,
'in_pdf' => true,
'comfort' => $data['comfort']
];
}
}
//------------------------------------------------------------------------------
//prepare extra_charge
$price_info_extra_charge = [];
@ -307,6 +380,27 @@ class DraftController extends Controller
BookingDraftItem::create($price_info_room);
}
}
//set room prices before
if(count($price_info_rooms_before)){
foreach ($price_info_rooms_before as $price_info_room){
$last_post ++;
$price_info_room['pos'] = $last_post;
BookingDraftItem::create($price_info_room);
}
}
//set room prices after
if(count($price_info_rooms_after)){
foreach ($price_info_rooms_after as $price_info_room){
$last_post ++;
$price_info_room['pos'] = $last_post;
BookingDraftItem::create($price_info_room);
}
}
//set extra charge price
if(count($price_info_extra_charge)){
foreach ($price_info_extra_charge as $price_info_extra){
@ -397,6 +491,13 @@ class DraftController extends Controller
}
}
}
//found non get first
foreach ($travel_program->travel_program_drafts as $travel_program_draft) {
return $travel_program_draft->draft;
}
}
return null;
}