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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,6 +103,9 @@ class BookingController extends Controller
|
|||
$di->draft_type_id = $draft_item['draft_type_id'];
|
||||
$di->start_date = $draft_item['start_date'];
|
||||
$di->end_date = $draft_item['end_date'];
|
||||
if(isset($draft_item['days_duration'])){
|
||||
$di->days_duration = $draft_item['days_duration'];
|
||||
}
|
||||
$di->service = $draft_item['service'];
|
||||
$di->in_pdf = isset($draft_item['in_pdf']) ? true : false;
|
||||
$di->pos = $i++;
|
||||
|
|
@ -174,7 +177,7 @@ class BookingController extends Controller
|
|||
$boking_draft_item = BookingDraftItem::findOrFail($id);
|
||||
$booking_id = $boking_draft_item->booking_id;
|
||||
$boking_draft_item->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
\Session()->flash('alert-success', __('Eintrag gelöscht'));
|
||||
return redirect(route('booking_detail', [$booking_id]));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|||
|
||||
|
||||
use App\Models\Feedback;
|
||||
use Carbon\Carbon;
|
||||
use Input;
|
||||
|
||||
class CMSFeedbackController extends Controller
|
||||
|
|
@ -38,6 +39,7 @@ class CMSFeedbackController extends Controller
|
|||
if($id == "new") {
|
||||
$feedback = new Feedback();
|
||||
$id = 'new';
|
||||
$feedback->status = 1;
|
||||
|
||||
}else{
|
||||
$feedback = Feedback::findOrFail($id);
|
||||
|
|
@ -56,7 +58,17 @@ class CMSFeedbackController extends Controller
|
|||
{
|
||||
$data = Input::all();
|
||||
if($id == "new") {
|
||||
|
||||
if(!isset($data['feedback_parent']) && !$data['feedback_parent']) {
|
||||
abort(404);
|
||||
die();
|
||||
}
|
||||
$feedback = new Feedback();
|
||||
$feedback->model = 'feedback';
|
||||
$feedback->owner_second = 0;
|
||||
$feedback->show_in_navi = 1;
|
||||
$feedback->catalog_id = 1;
|
||||
|
||||
}else{
|
||||
$feedback = Feedback::findOrFail($id);
|
||||
}
|
||||
|
|
@ -70,13 +82,53 @@ class CMSFeedbackController extends Controller
|
|||
$feedback->pagetitle = $data['pagetitle'];
|
||||
$feedback->keywords = $data['keywords'];
|
||||
|
||||
//parent
|
||||
$feedback->save();
|
||||
$feedback->order = (new Carbon($feedback->date))->format('Ymd')*-1;
|
||||
|
||||
//parent -- lvl
|
||||
if(isset($data['feedback_parent']) && $data['feedback_parent']){
|
||||
$feedback->lvl = 2;
|
||||
|
||||
if($feedback->parent_id != $data['feedback_parent']){
|
||||
$feedback->owner = $data['feedback_parent'];
|
||||
$feedback->parent_id = $data['feedback_parent'];
|
||||
$parent_feedback = Feedback::findOrFail($data['feedback_parent']);
|
||||
if($first_feedback = $parent_feedback->children->first()){
|
||||
$feedback->lft = $first_feedback->lft;
|
||||
$feedback->rgt = $first_feedback->rgt;
|
||||
}
|
||||
$feedback->tree_root = $parent_feedback->tree_root;
|
||||
|
||||
}
|
||||
|
||||
$feedback->parent_id = $data['feedback_parent'];
|
||||
|
||||
}else{
|
||||
// $feedback->lvl = 1;
|
||||
//TODO need real parent from Navi tree
|
||||
// $feedback->parent_id = 0;
|
||||
|
||||
}
|
||||
|
||||
$feedback->save();
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('cms_feedback_detail', [$feedback->id]));
|
||||
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
$feedback = Feedback::findOrFail($id);
|
||||
|
||||
//TODO
|
||||
//check for delete, only delete lvl 2 .,...?
|
||||
if ($feedback->lvl != 2){
|
||||
abort(404);
|
||||
die();
|
||||
}
|
||||
|
||||
$feedback->delete();
|
||||
\Session()->flash('alert-success', __('Feedback gelöscht'));
|
||||
return redirect(route('cms_feedback'));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,17 +127,15 @@ class DraftController extends Controller
|
|||
|
||||
|
||||
$draft->delete();
|
||||
\Session()->flash('alert-save', '1');
|
||||
\Session()->flash('alert-success', __('Vorlage gelöscht'));
|
||||
return redirect(route('drafts'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function itemDelete($id){
|
||||
$draft_item = DraftItem::findOrFail($id);
|
||||
$draft_id = $draft_item->draft_id;
|
||||
$draft_item->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
\Session()->flash('alert-success', __('Eintrag gelöscht'));
|
||||
return redirect(route('draft_detail', [$draft_id]));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue