diff --git a/.env b/.env index 4a0065b..5f2c5c9 100755 --- a/.env +++ b/.env @@ -13,18 +13,19 @@ APP_URL_STERN=http://sterntours.local LOG_CHANNEL=stack -DB_CONNECTION=mysql -DB_HOST=localhost -DB_PORT=3306 -DB_DATABASE=cmssso_db1 -DB_USERNAME=root -DB_PASSWORD=KT32vQ7 -# on neptune -#DB_HOST=192.168.1.7 +#DB_CONNECTION=mysql +#DB_HOST=localhost #DB_PORT=3306 #DB_DATABASE=cmssso_db1 -#DB_USERNAME=cmssso_1 -#DB_PASSWORD=ZXk8Udm8 +#DB_USERNAME=root +#DB_PASSWORD=KT32vQ7 +# on neptune +DB_CONNECTION=mysql +DB_HOST=192.168.1.7 +DB_PORT=3306 +DB_DATABASE=cmssso_db1 +DB_USERNAME=cmssso_1 +DB_PASSWORD=ZXk8Udm8 DB_CONNECTION_STERN=mysql @@ -48,7 +49,7 @@ REDIS_PORT=6379 #info@@mein.sterntours.de #B7f8Ojt98v6tMz8W MAIL_DRIVER=smtp -MAIL_HOST=smtp.kagado.de +MAIL_HOST=w00df904.kasserver.com MAIL_PORT=587 MAIL_USERNAME=m0479305 MAIL_PASSWORD=m4CowydxoC4dY2DB diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 9837e73..19b157d 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,19 @@ - - - - + + + + - - - - + + + - - - - + @@ -45,53 +41,53 @@ - - + + - - - + + + - + - + - + - - + + - + - + - + - - + + - + @@ -102,8 +98,8 @@ - - + + @@ -112,23 +108,73 @@ - - + + + + + + - - + + + + + + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -159,9 +205,6 @@ @@ -337,8 +383,8 @@ - @@ -356,170 +402,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -616,17 +498,21 @@ + + + + - - + - + @@ -642,7 +528,7 @@ - + @@ -667,20 +553,6 @@ - - - - - - - - - - - - - - @@ -695,20 +567,6 @@ - - - - - - - - - - - - - - @@ -739,20 +597,6 @@ - - - - - - - - - - - - - - @@ -767,13 +611,6 @@ - - - - - - - @@ -812,20 +649,6 @@ - - - - - - - - - - - - - - @@ -878,23 +701,6 @@ - - - - - - - - - - - - - - - - - @@ -902,27 +708,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -937,12 +722,11 @@ - - - - - - + + + + + @@ -951,39 +735,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - + - - - - - + + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/Http/Controllers/API/DraftController.php b/app/Http/Controllers/API/DraftController.php index 9d4e955..d72a82f 100755 --- a/app/Http/Controllers/API/DraftController.php +++ b/app/Http/Controllers/API/DraftController.php @@ -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; } diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index e6c46b8..1bc6388 100755 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -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])); } diff --git a/app/Http/Controllers/CMSFeedbackController.php b/app/Http/Controllers/CMSFeedbackController.php index c6832cc..fe355ae 100755 --- a/app/Http/Controllers/CMSFeedbackController.php +++ b/app/Http/Controllers/CMSFeedbackController.php @@ -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')); + } + } diff --git a/app/Http/Controllers/DraftController.php b/app/Http/Controllers/DraftController.php index 84c4731..9f6a777 100755 --- a/app/Http/Controllers/DraftController.php +++ b/app/Http/Controllers/DraftController.php @@ -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])); } diff --git a/app/Models/Feedback.php b/app/Models/Feedback.php index 0e92d22..6cf67d4 100644 --- a/app/Models/Feedback.php +++ b/app/Models/Feedback.php @@ -23,7 +23,7 @@ class Feedback extends Page public function parent() { - return $this->belongsTo('App\Models\Feedback', 'owner'); + return $this->belongsTo('App\Models\Feedback', 'parent_id'); } public function getParent() @@ -34,6 +34,11 @@ class Feedback extends Page return false; } + public function children() + { + return $this->hasMany('App\Models\Feedback', 'parent_id'); + } + public function setContentAttribute($value) { diff --git a/app/Services/HTMLHelper.php b/app/Services/HTMLHelper.php index 3e166d0..b6dbe01 100644 --- a/app/Services/HTMLHelper.php +++ b/app/Services/HTMLHelper.php @@ -180,7 +180,7 @@ class HTMLHelper $setId = $obj->id; } if($empty){ - $ret .= '\n'; + // $ret .= '\n'; } foreach ($options as $id => $name){ $attr = ($id === $setId) ? 'selected="selected"' : ''; @@ -196,7 +196,6 @@ class HTMLHelper //@$dom->loadHTML(); @$dom->loadHTML( mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); - if(isset($arg['src'])){ if(in_array('addHost', $arg['src'])){ @@ -232,7 +231,6 @@ class HTMLHelper return mb_convert_encoding($html, "UTF-8", "HTML-ENTITIES"); } - return $html; } diff --git a/resources/views/booking/detail.blade.php b/resources/views/booking/detail.blade.php index bb65b0b..62b59f2 100755 --- a/resources/views/booking/detail.blade.php +++ b/resources/views/booking/detail.blade.php @@ -66,9 +66,21 @@ + @if(in_array($booking_draft_item->draft_type_id, [36, 37])) +
+
+
+ A: +
+ {{ Form::text('draft_item['.$booking_draft_item->id.'][days_duration]', $booking_draft_item->days_duration, array('placeholder'=>__('Anzahl Tage'), 'class'=>'form-control', 'id'=>'draft_item_'.$booking_draft_item->id.'_days_duration',)) }} +
+
-
- {{ Form::textarea('draft_item['.$booking_draft_item->id.'][service]', $booking_draft_item->service, array('placeholder'=>__('Leistungen'), 'class'=>'form-control autoExpand', 'id'=>'draft_item_'.$booking_draft_item->id.'_service', 'rows'=>'1', 'data-min-rows'=>'1')) }} +
+ @else +
+ @endif + {{ Form::textarea('draft_item['.$booking_draft_item->id.'][service]', $booking_draft_item->service, array('placeholder'=>__('Leistungen'), 'class'=>'form-control autoExpand', 'id'=>'draft_item_'.$booking_draft_item->id.'_service', 'rows'=>'1', 'data-min-rows'=>'1')) }}
@@ -81,7 +93,7 @@
- @if(in_array($booking_draft_item->draft_type_id, [24, 26, 30, 31, 32, 33, 34, 35])) + @if(in_array($booking_draft_item->draft_type_id, [24, 26, 30, 31, 32, 33, 34, 35, 36, 37]))
+ @if($feedback->lvl != 1) + + + @else + +
NON
+ @endif +
@@ -35,8 +41,8 @@ {{ Form::text('slug', $feedback->slug, array('placeholder'=>__('slug'), 'class'=>'form-control', 'id'=>'feedback_slug', 'required'=>true)) }}
- - {{ Form::text('date', $feedback->date, array('placeholder'=>__('Reisezeitraum'), 'class'=>'form-control datepicker-base', 'id'=>'feedback_date')) }} + + {{ Form::text('date', $feedback->date, array('placeholder'=>__('Reisezeitraum'), 'class'=>'form-control datepicker-base', 'id'=>'feedback_date', 'required'=>true)) }}
diff --git a/resources/views/cms/feedback/index.blade.php b/resources/views/cms/feedback/index.blade.php index 3f87607..500949d 100755 --- a/resources/views/cms/feedback/index.blade.php +++ b/resources/views/cms/feedback/index.blade.php @@ -30,7 +30,7 @@ {{ $value->title }} - @if($value->parent) {{ $value->parent->title }} @endif + @if($value->parent) {{ $value->parent->title }} @else - Main No-Parent - @endif {{ $value->date }} @@ -40,18 +40,19 @@ @endif - {{-- - + + @if($value->parent) + @else + - + @endif - --}} - @endforeach -