Feedback / Draft + extra days
This commit is contained in:
parent
6e0c7e8706
commit
f9fcaac838
13 changed files with 453 additions and 395 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue