Booking, QI Content, Trees, Media

This commit is contained in:
Kevin Adametz 2019-10-02 20:03:55 +02:00
parent 1f340e96fa
commit 7fbac395a9
260 changed files with 27160 additions and 3773 deletions

View file

@ -3,7 +3,7 @@
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
{{ __('Inhalte') }}
{{ __('Inhalte') }} {{ __('Allgemein') }}
</h4>
@if ($errors->any())
@ -21,7 +21,7 @@
@endif
<div class="card">
<div class="card-datatable table-responsive py-2" data-route-modal="{{ route('cms_content_load_modal') }}" data-target-modal="#modals-load-content">
<div class="card-datatable table-responsive py-2" data-route-modal="{{ route('cms_content_all_load_modal') }}" data-target-modal="#modals-load-content">
<div class="mr-4 mb-2 text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="new"
@ -52,7 +52,7 @@
<td>{{ $value->name }}</td>
<td>{{ $value->getFieldName() }}</td>
<td>{{ $value->getPreviewContent() }}</td>
<td><a class="text-danger" href="{{ route('cms_content_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a></td>
<td><a class="text-danger" href="{{ route('cms_content_all_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a></td>
</tr>
@endforeach

View file

@ -1,5 +1,5 @@
{!! Form::open(['url' => route('cms_content_store'), 'class' => 'modal-content']) !!}
{!! Form::open(['url' => route('cms_content_all_store'), 'class' => 'modal-content']) !!}
<input type="hidden" name="id" id="id" value="@if($value->id>0){{$value->id}}@else new @endif">
@ -59,7 +59,7 @@
<div class="form-row">
<div class="form-group col">
<label for="name" class="form-label">{{ __('Slug') }}</label>
{{ Form::text('slug', $value->slug, array('class'=>'form-control', 'readonly')) }}
{{ Form::text('slug', $value->slug, array('class'=>'form-control')) }}
</div>
</div>

View file

@ -0,0 +1,154 @@
@extends('layouts.layout-2')
@section('content')
{!! Form::open(['url' => route('cms_content_country_store', [$id]), 'class' => 'form-horizontal']) !!}
<h4 class="font-weight-bold py-3 mb-1">
Reiseland Inhalte {{ $model->name }}
<div class="float-right">
<a href="{{route('cms_content_country')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
</div>
</h4>
<div class="nav-tabs-top mb-4">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Seite</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step == 'form') active show @endif" data-toggle="tab" href="#navs-form">Formular</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step == 'contact') active show @endif" data-toggle="tab" href="#navs-contact">Kontaktdaten</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step == 'travel') active show @endif" data-toggle="tab" href="#navs-travel">Einreisebestimmungen</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-site">
<div class="card-body">
<br>
<h4>Inhalte für Seite</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="html_information">{{ __('Landinformationen (HTML)') }} </label>
{{ Form::textarea('html_information', $model->html_information, ['class' => 'form-control summernote']) }}
</div>
</div>
<button type="submit" name="action" value="" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
<div class="tab-pane fade @if($step == 'form') active show @endif" id="navs-form">
<div class="card-body">
<br>
<h4>Inhalte für Formular</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="text_before">{{ __('Formular Text vor der Reise (max. 255 Zeichen)') }} </label>
{{ Form::text('text_before', $model->text_before, ['class' => 'form-control', 'maxlength'=>'255']) }}
</div>
<div class="form-group col-sm-12">
<label class="form-label" for="html_information">{{ __('Formular Text nach der Reise ( max. 255 Zeichen)') }} </label>
{{ Form::text('text_after', $model->text_after, ['class' => 'form-control', 'maxlength'=>'255']) }}
</div>
</div>
<button type="submit" name="action" value="form" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
<div class="tab-pane fade @if($step == 'contact') active show @endif" id="navs-contact">
<div class="card-body">
<br>
<h4>Kontaktdaten</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="contact_headline">Überschrift</label>
{{ Form::text('contact_headline', $model->contact_headline, ['class' => 'form-control', 'maxlength'=>'255']) }}
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="contact_text_1">Kontaktfeld 1 </label>
{{ Form::textarea('contact_text_1', $model->contact_text_1, ['class' => 'form-control', 'rows'=>4]) }}
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="contact_text_2">Kontaktfeld 2 </label>
{{ Form::textarea('contact_text_2', $model->contact_text_2, ['class' => 'form-control', 'rows'=>4]) }}
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="contact_text_3">Kontaktfeld 3 </label>
{{ Form::textarea('contact_text_3', $model->contact_text_3, ['class' => 'form-control', 'rows'=>4]) }}
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="contact_text_4">Kontaktfeld 4</label>
{{ Form::textarea('contact_text_4', $model->contact_text_4, ['class' => 'form-control', 'rows'=>4]) }}
</div>
</div>
<hr>
<h4>Rückfragen</h4>
<p>Übergreifende Texte für jedes Land sind unter: <a href="{{route('cms_content_all')}}">Inhalte Allgemein</a><br>
- PDF Footer Hinweise Rückfragen<br>
- PDF Footer Hinweise Reisebedingungen<br>
- PDF Absender<br>
</p>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="contact_text_4">Kontakt Footer</label>
{{ Form::textarea('contact_footer', $model->contact_footer, ['class' => 'form-control', 'rows'=>4]) }}
</div>
</div>
<button type="submit" name="action" value="contact" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
<div class="tab-pane fade @if($step == 'travel') active show @endif" id="navs-travel">
<div class="card-body">
<br>
<h4>Einreisebestimmungen</h4>
@foreach($travel_nationalities as $travel_nationality)
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="travel_nationality_requirement_{{$travel_nationality->id}}">{{ $travel_nationality->name }}{{ __('(HTML)') }} </label>
{{ Form::textarea('travel_nationality_requirement['.$travel_nationality->id.']', $model->getNationalityRequirement($travel_nationality->id), ['class' => 'form-control summernote-small', 'id'=>'travel_nationality_requirement_'.$travel_nationality->id]) }}
</div>
</div>
@endforeach
<button type="submit" name="action" value="travel" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
</div>
<div class="text-left mt-3">
<a href="{{route('cms_content_country')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
<script>
$( document ).ready(function() {
$('input[name="active_frontend"]').on('change', function () {
if($(this).prop( "checked")){
$('#show_active_frontend').show("slow");
}else{
$('#show_active_frontend').hide("slow");
}
});
});
</script>
@endsection

View file

@ -0,0 +1,98 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
{{ __('Inhalte') }} {{ __('Reiseländer') }}
<a class="btn btn-default btn-sm float-right" href="{{ make_v2_url('/acp') }}" > zurück ins v2 CMS</a>
<a class="btn btn-default btn-sm float-right" href="{{ make_old_url('backend.php') }}" > zurück ins v1 CRM</a>
</h4>
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-feedbacks table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th><i class="far fa-eye"></i> {{__('Seite')}}</th>
<th><i class="far fa-eye"></i> {{__('CRM')}}</th>
<th><i class="far fa-eye"></i> {{__('Kunden')}}</th>
</tr>
</thead>
<tbody>
@foreach($travel_countries as $value)
<tr>
<td>
<a href="{{ route('cms_content_country_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td><a href="{{ route('cms_content_country_detail', [$value->id]) }}">{{ $value->name }}</a></td>
<td data-sort="{{ $value->active_frontend }}">
@if($value->active_frontend)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td data-sort="{{ $value->active_backend }}">
@if($value->active_backend)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td data-sort="{{ $value->is_customer_country }}">
@if($value->is_customer_country)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<script>
$( document ).ready(function() {
$('.datatables-feedbacks').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
},
});
});
</script>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-load-content">
<div class="modal-dialog">
</div>
</div>
@endsection

View file

@ -71,6 +71,51 @@
{{ Form::textarea('full_text', $travel_guide->full_text , ['class' => 'form-control summernote']) }}
</div>
</div>
<button type="button" class="btn btn-primary btn-sm float-right mb-2" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="guide"
data-action="guide-tree-site"
data-request="{!! array_to_json(['travel_guide_id'=>$travel_guide->id]) !!}"
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Tree zuordnen</button>
@if($travel_guide->iq_content_sites->count())
<table class="table table-striped border-bottom">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('url')}}</th>
<th>{{__('sichtbar')}}</th>
<th>#</th>
</tr>
</thead>
<tbody>
@foreach($travel_guide->iq_content_sites as $iq_content_site)
<tr>
<td style="width: 5%;">
<a href="{{ route('iq_content_tree_detail', [$iq_content_site->iq_content_tree_node->tree_id, $iq_content_site->iq_content_tree_node->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td>{{$iq_content_site->iq_content_tree_node->name}}</td>
<td>{{$iq_content_site->iq_content_tree_node->getUri()}}</td>
<td>
@if($iq_content_site->iq_content_tree_node->active)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td>
<a class="text-danger" href="{{ route('iq_content_tree_detail_remove_site', [$iq_content_site->iq_content_tree_node->tree_id, $iq_content_site->tree_node_id, $iq_content_site->travel_guide->id, 'g']) }}" onclick="return confirm('{{__('Seite aus Tree entfernen?')}}');"><i class="far fa-reply"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
<hr>
@endif
<div class="form-row">
@ -103,104 +148,7 @@
{!! Form::close() !!}
{{--
<!-- Modal template -->
<div class="modal fade" id="modals-class">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_class_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="program_id" value="{{$feedback->id}}">
<div class="modal-header">
<h5 class="modal-title">Programm Katagorie/Klassen <span class="font-weight-light">anlegen/bearbeiten</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label class="custom-control custom-checkbox float-right">
<input type="checkbox" class="custom-control-input" name="standard" checked>
<span class="custom-control-label">{{__('Standard')}}</span>
</label>
<label for="name" class="form-label">Name*</label>
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="description" class="form-label">Beschreibung</label>
<input type="text" class="form-control" name="description" placeholder="{{__('Description')}}">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-draft">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_draft_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="travel_program_id" value="{{$feedback->id}}">
<div class="modal-header">
<h5 class="modal-title">Vorlage Reiseprogramm <span class="font-weight-light">zuordnen</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="draft_id" class="form-label">{{__('Vorlage')}}</label>
<select class="selectpicker" data-style="btn-default" name="draft_id" data-live-search="true" required>
{!! HTMLHelper::getDraftOptions() !!}
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-class').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body input[name='description']").val(button.data('description'));
$(this).find(".modal-body input[name='standard']").prop( "checked", button.data('standard'));
});
$('#modals-draft').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body select[name='draft_id']").val(button.data('draft_id'));
$(this).find(".modal-body select[name='travel_class_id']").val(button.data('travel_class_id'));
$(this).find(".modal-body select[name='weekdays[]']").val(button.data('weekdays'));
$('.selectpicker').selectpicker('refresh');
});
});
</script>
--}}
@endsection

View file

@ -17,6 +17,7 @@
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('slug')}}</th>
<th>{{__('Keyword')}}</th>
<th>{{__('Langer Text')}}</th>
<th>{{__('sichtbar')}}</th>
<th>#</th>
@ -32,6 +33,8 @@
</td>
<td><a href="{{ route('cms_travel_guide_detail', [$value->id]) }}">{{ $value->name }}</a></td>
<td>{{ $value->slug }}</td>
<td>{{ $value->keyword }}</td>
<td data-sort="{{ $value->scope }}">
@if($value->scope)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>

View file

@ -1,12 +1,12 @@
@extends('layouts.layout-2')
@section('content')
<style>
.alert ul {
margin-bottom: 0;
}
<style>
.alert ul {
margin-bottom: 0;
}
</style>
</style>
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
@ -24,54 +24,53 @@
<h4 class="font-weight-bold py-3 mb-1">
Reiseführer Tree @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(".$model->name.")"}} verwalten @endif
<div class="float-right">
<a href="{{route('iq_content_tree_repair', [$model->id])}}" class="btn btn-default btn-sm">{{ __('repair') }}</a>
</div>
Reiseführer Tree @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(".$model->name.")"}}
verwalten @endif
{{-- <div class="float-right">
<a href="{{route('iq_content_tree_repair', [$model->id])}}" class="btn btn-default btn-sm">{{ __('repair') }}</a>
</div>
--}}
</h4>
<div class="clearfix"></div>
<input type="hidden" name="id" id="id" value="{{$id}}">
<div class="card messages-card">
<div class="row no-gutters">
<!-- sidebox -->
<div class="messages-sidebox large messages-scroll col">
<div class="card-body py-3">
<div class="media align-items-center">
<div class="media-body">
<button type="button" class="btn btn-primary btn-block" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="tree"
data-action="tree-node"
data-request="{!! array_to_json(['tree_id'=>$model->id]) !!}"
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Add node</button>
</div>
<a href="javascript:void(0)" class="messages-sidebox-toggler d-lg-none d-block text-muted text-large font-weight-light pl-4">&times;</a>
</div>
</div>
<hr class="border-light m-0">
<div class="row mx-0">
<div class="card-body pt-3">
<!-- Messages sidebox -->
<div class="messages-sidebox mb-4">
<button type="button" class="btn btn-primary btn-sm btn-block" data-toggle="modal"
data-target="#modals-load-content"
data-id="add"
data-model="tree"
data-action="tree-node"
data-request="{!! array_to_json(['tree_id'=>$model->id]) !!}"
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Add node
</button>
<hr class="border-light my-1">
<div class="">
{!! Form::open(['url' => route('iq_content_tree_detail', [$model->id]), 'class' => '']) !!}
<input type="hidden" id="nestable-output" name="nestable-output" value="">
<input type="hidden" name="tree_id" value="{{$model->id}}">
<div class="mb-2" style="height: 35px">
<div class="float-right">
<button type="button" class="btn btn-default btn-sm" data-action="expand-all" id="nestable-menu-expand"><i class="ion ion-ios-arrow-down"></i></button>
<button type="button" class="btn btn-default btn-sm" data-action="collapse-all" id="nestable-menu-collapse"><i class="ion ion-ios-arrow-up"></i></button>
<button type="button" class="btn btn-default btn-sm" data-action="expand-all"
id="nestable-menu-expand"><i class="ion ion-ios-arrow-down"></i></button>
<button type="button" class="btn btn-default btn-sm" data-action="collapse-all"
id="nestable-menu-collapse"><i class="ion ion-ios-arrow-up"></i></button>
</div>
<div class="iq-save-bar" style="display: none">
<a href="" class="btn btn-warning btn-md icon-btn messages-tooltip text-white mr-2" title="Refresh"><i class="ion ion-md-refresh"></i></a>
<button type="submit" class="btn btn-success btn-md icon-btn messages-tooltip text-white" title="Save"><i class="ion ion-md-save"></i></button>
<a href="" class="btn btn-warning btn-md icon-btn messages-tooltip text-white mr-2"
title="Refresh"><i class="ion ion-md-refresh"></i></a>
<button type="submit" class="btn btn-success btn-md icon-btn messages-tooltip text-white"
title="Save"><i class="ion ion-md-save"></i></button>
</div>
</div>
<div>
<div class="badge badge-outline-primary btn-block py-2 px-3 text-left "> <span class="far fa-globe"></span> {{$model->name}}
<div class="badge badge-outline-primary btn-block py-2 px-3 text-left "><span
class="far fa-globe"></span> {{$model->name}}
<a href="" class="float-right" data-toggle="modal" data-target="#modals-load-content"
data-id="{{$model->id}}"
data-model="tree"
@ -79,7 +78,7 @@
data-request=""
data-route="{{ route('iq_content_modal_load') }}"><span class="far fa-edit"></span></a>
</div>
<div class="dd" id="netstable-content-tree">
<div class="dd" id="netstable-content-tree" data-id="{{$model->id}}">
{!! \App\Services\HTMLTreeHelper::makeNestableList($model, ($tree_node ? $tree_node->id : false)) !!}
</div>
</div>
@ -87,190 +86,207 @@
</div>
</div>
<!-- / sidebox -->
<!-- / Messages sidebox -->
<div class="col">
@if($tree_node)
<!-- Controls -->
{!! Form::open(['url' => route('iq_content_tree_detail', [$model->id, $tree_node->id, ($area_section? $area_section->id : '')]), 'class' => '']) !!}
<div class="media flex-wrap align-items-center py-2 px-2">
<div class="media-body d-flex flex-wrap flex-basis-100 flex-basis-sm-auto">
<button type="button" class="btn btn-default borderless md-btn-flat icon-btn messages-sidebox-toggler d-lg-none d-block text-muted text-large mr-2"><i class="ion ion-md-more"></i></button>
<div style="height: 35px"></div>
<div class="iq-save-bar" style="display: none">
<a href="" class="btn btn-warning btn-md icon-btn messages-tooltip text-white mr-2" title="Refresh"><i class="ion ion-md-refresh"></i></a>
<button type="submit" class="btn btn-success btn-md icon-btn messages-tooltip text-white" title="Save"><i class="ion ion-md-save"></i></button>
</div>
</div>
</div>
<div class="col-12">
<div class="nav-responsive-md">
<ul class="nav nav-pills nav-fill">
<li class="nav-item">
<a href="{{route('iq_content_tree_detail', [$model->id, $tree_node->id])}}" class="nav-link @if(!$area_section) active1 @endif">{{$tree_node->name}}
</a>
</li>
@if($tree_node->iq_content_site)
@foreach($tree_node->iq_content_site->iq_content_area->iq_content_area_sections as $sections)
<li class="nav-item">
<a href="{{route('iq_content_tree_detail', [$model->id, $tree_node->id,$sections->id])}}" class="nav-link @if($area_section && $area_section->id == $sections->id) active @endif">{{ $sections->name }}
{{-- <span class="badge badge-primary">22</span> --}}
</a>
</li>
@endforeach
@endif
</ul>
</div>
@if(!$site_fields)
<div class="card-body">
<input type="hidden" name="id" value="{{$tree_node->id}}">
<input type="hidden" name="model" value="tree">
<input type="hidden" name="action" value="tree-node">
<input type="hidden" name="tree_id" value="{{$model->id}}">
<div class="input-group mb-4">
<div class="input-group-prepend">
<span class="input-group-text"><span class="far fa-link mr-2 text-primary"></span></span>
@if($tree_node)
<div class="card">
<div class="card-body py-3">
<!-- Controls -->
{!! Form::open(['url' => route('iq_content_tree_detail', [$model->id, $tree_node->id, ($section? $section : '')]), 'class' => '']) !!}
<div class="media flex-wrap align-items-center py-2 px-0">
<div class="media-body d-flex flex-wrap flex-basis-100 flex-basis-sm-auto">
<div class="iq-save-bar" style="display: none">
<a href="" class="btn btn-warning btn-md icon-btn messages-tooltip text-white mr-2"
title="Refresh"><i class="ion ion-md-refresh"></i></a>
<button type="submit"
class="btn btn-success btn-md icon-btn messages-tooltip text-white"
title="Save"><i class="ion ion-md-save"></i></button>
</div>
{{ Form::text('uri', $tree_node->getUri(), array('readonly'=>true, 'class'=>'form-control')) }}
</div>
<div class="form-row mb-2">
<div class="form-group col">
<label class="custom-control custom-checkbox float-right">
{!! Form::checkbox('active', 1, $tree_node->active, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('aktiv')}}</span>
</label>
<label for="name" class="form-label">Name (required)</label>
{{ Form::text('name', $tree_node->name, array('placeholder'=>'', 'class'=>'form-control', 'required'=>'true')) }}
</div>
</div>
<div class="form-row mb-2">
<div class="form-group col">
<button type="button" class="btn btn-primary btn-sm float-right mb-2" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="tree"
data-action="tree-site-content"
data-request="{!! array_to_json(['tree_id'=>$model->id,'tree_node_id'=>$tree_node->id]) !!}"
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Seite hinzufügen</button>
<label for="site_id" class="form-label">Seiten</label>
@if($tree_node->travel_guides)
<table class="table table-striped border-bottom">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('Keyword')}}</th>
<th>{{__('Langer Text')}}</th>
<th>{{__('sichtbar')}}</th>
<th>#</th>
</tr>
</thead>
<tbody>
@foreach($tree_node->travel_guides as $travel_guide)
<tr>
<td style="width: 5%;">
<a href="{{ route('cms_travel_guide_detail', [$travel_guide->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td>{{$travel_guide->name}}</td>
<td>{{$travel_guide->keyword}}</td>
<td> @if($travel_guide->scope)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td>
@if($travel_guide->active)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td>
<a class="text-danger" href="{{ route('iq_content_tree_detail_remove', [$model->id, $tree_node->id, $travel_guide->id]) }}" onclick="return confirm('{{__('Seite aus Tree entfernen?')}}');"><i class="far fa-reply"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
@endif
{{--<select class="selectpicker" name="site_id" id="site_id"
data-style="btn-light" data-live-search="true" data-container="body">
{!! \App\Models\IQContentSite::getSiteOptions($tree_node->site_id) !!}
</select>--}}
</div>
</div>
<div class="form-row mb-2">
<div class="form-group col">
<label for="identifier" class="form-label">Slug</label>
{{ Form::text('identifier', $tree_node->identifier, array('placeholder'=>'', 'class'=>'form-control')) }}
</div>
</div>
<div class="form-group mb-2">
<label class="form-label" for="description">Description</label>
{{ Form::textarea('description', $tree_node->description, array('class'=>'form-control', 'rows'=>2)) }}
</div>
</div>
@else
<div id="dragula-drag-handles" class="mt-2">
@foreach($site_fields as $key => $site_field)
<div class="dragula-example card card-condenced">
<input type="hidden" name="iq_content_site_field[{{$key}}][id]" value="{{ $site_field->id }}">
<input type="hidden" name="iq_content_site_field[{{$key}}][site_id]" value="{{$site_field->site_id}}">
<input type="hidden" name="iq_content_site_field[{{$key}}][model_field_id]" value="{{$site_field->model_field_id}}">
<input type="hidden" name="iq_content_site_field[{{$key}}][field]" value="{{$site_field->field}}">
<input type="hidden" name="iq_content_site_field[{{$key}}][settings]" value="{{ json_encode($site_field->settings) }}">
<div class="card-body">
<span class="handle fa fa-grip-vertical d-inline-block bg-light text-info p-2 mr-2 mb-1"></span>
<i class="my-ui-icon-sm {{ $site_field->iq_content_model_field->fieldAsIcon() }} text-secondary mr-2"></i>
<strong>{{ $site_field->iq_content_model_field->name }}</strong>
<span class="text-muted ml-2">{{ $site_field->iq_content_model_field->identifier }}</span>
<div class="float-right">
{!! get_switcher_input($site_field->active, 'iq_content_site_field['.$key.'][active]') !!}
<div class="">
{{-- <div class="nav-responsive-md">
<ul class="nav nav-pills nav-fill">
<li class="nav-item">
<a href="{{route('iq_content_tree_detail', [$model->id, $tree_node->id])}}" class="nav-link @if(!$section) active1 @endif">{{$tree_node->name}}
</a>
</li>
@if($tree_node->iq_content_sites)
@foreach($tree_node->iq_content_sites as $iq_content_site)
<li class="nav-item">
<a href="{{route('iq_content_tree_detail', [$model->id, $tree_node->id,$iq_content_site->id])}}" class="nav-link @if($iq_content_site && $iq_content_site->id == $section) active @endif">{{ $iq_content_site->id }}
</a>
</li>
@endforeach
@endif
</ul>
</div>
--}}
@if(!$site_fields)
<div class="">
<input type="hidden" name="id" value="{{$tree_node->id}}">
<input type="hidden" name="model" value="tree">
<input type="hidden" name="action" value="tree-node">
<input type="hidden" name="tree_id" value="{{$model->id}}">
<div class="input-group mb-4">
<div class="input-group-prepend">
<span class="input-group-text"><span
class="far fa-link mr-2 text-primary"></span></span>
</div>
<hr class="border-light my-2">
<div class="form-group">
@if($site_field->field == "string")
{{ Form::text('iq_content_site_field['.$key.'][content]', $site_field->content, array('class'=>'form-control')) }}
@endif
@if($site_field->field == "text")
@if($site_field->settings['editor'] == 'off')
{{ Form::textarea('iq_content_site_field['.$key.'][content]', $site_field->content , ['class' => 'form-control']) }}
@else
{{ Form::textarea('iq_content_site_field['.$key.'][content]', $site_field->content , ['class' => 'form-control summernote']) }}
@endif
@endif
@if($site_field->field == "media")
{{ Form::text('iq_content_site_field['.$key.'][content]', $site_field->content, array('class'=>'form-control')) }}
@endif
</div>
<span class="text-muted ml-2">{{ $site_field->iq_content_model_field->fieldAsName() }}</span>
<div class="float-left">
<i class="fa fa-search"></i> {!! get_switcher_input($site_field->search, 'iq_content_site_field['.$key.'][search]') !!}
{{ Form::text('uri', $tree_node->getUri(), array('readonly'=>true, 'class'=>'form-control')) }}
</div>
<div class="form-row mb-2">
<div class="form-group col">
<label class="custom-control custom-checkbox float-right">
{!! Form::checkbox('active', 1, $tree_node->active, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('aktiv')}}</span>
</label>
<label for="name" class="form-label">Name (required)</label>
{{ Form::text('name', $tree_node->name, array('placeholder'=>'', 'class'=>'form-control', 'required'=>'true')) }}
</div>
</div>
<div class="form-row mb-2">
<div class="form-group col">
<button type="button" class="btn btn-primary btn-sm float-right mb-2"
data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="tree"
data-action="tree-site-content"
data-request="{!! array_to_json(['tree_id'=>$model->id,'tree_node_id'=>$tree_node->id]) !!}"
data-route="{{ route('iq_content_modal_load') }}"><i
class="ion ion-ios-add-circle"></i> Seite hinzufügen
</button>
<label for="site_id" class="form-label">Seiten</label>
@if($tree_node->iq_content_sites->count())
<table class="table table-striped border-bottom">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('Keyword')}}</th>
<th>{{__('Langer Text')}}</th>
<th>{{__('sichtbar')}}</th>
<th>#</th>
</tr>
</thead>
<tbody>
@foreach($tree_node->iq_content_sites as $iq_content_site)
<tr>
<td style="width: 5%;">
<a href="{{ route('cms_travel_guide_detail', [$iq_content_site->travel_guide->id]) }}"
class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td>{{$iq_content_site->travel_guide->name}}</td>
<td>{{$iq_content_site->travel_guide->keyword}}</td>
<td> @if($iq_content_site->travel_guide->scope)
<span class="badge badge-pill badge-success"><i
class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i
class="far fa-times"></i></span>
@endif
</td>
<td>
@if($iq_content_site->travel_guide->active)
<span class="badge badge-pill badge-success"><i
class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i
class="far fa-times"></i></span>
@endif
</td>
<td>
<a class="text-danger"
href="{{ route('iq_content_tree_detail_remove_site', [$model->id, $tree_node->id, $iq_content_site->travel_guide->id, 't']) }}"
onclick="return confirm('{{__('Seite aus Tree entfernen?')}}');"><i
class="far fa-reply"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
@endif
{{--<select class="selectpicker" name="site_id" id="site_id"
data-style="btn-light" data-live-search="true" data-container="body">
{!! \App\Models\IQContentSite::getSiteOptions($tree_node->site_id) !!}
</select>--}}
</div>
</div>
<div class="form-row mb-2">
<div class="form-group col">
<label for="identifier" class="form-label">Slug</label>
{{ Form::text('identifier', $tree_node->identifier, array('placeholder'=>'', 'class'=>'form-control')) }}
</div>
</div>
<div class="form-group mb-2">
<label class="form-label" for="description">Description</label>
{{ Form::textarea('description', $tree_node->description, array('class'=>'form-control', 'rows'=>2)) }}
</div>
</div>
@endforeach
@else
<div id="dragula-drag-handles" class="mt-2">
@foreach($site_fields as $key => $site_field)
<div class="dragula-example card card-condenced">
<input type="hidden" name="iq_content_site_field[{{$key}}][id]"
value="{{ $site_field->id }}">
<input type="hidden" name="iq_content_site_field[{{$key}}][site_id]"
value="{{$site_field->site_id}}">
<input type="hidden" name="iq_content_site_field[{{$key}}][model_field_id]"
value="{{$site_field->model_field_id}}">
<input type="hidden" name="iq_content_site_field[{{$key}}][field]"
value="{{$site_field->field}}">
<input type="hidden" name="iq_content_site_field[{{$key}}][settings]"
value="{{ json_encode($site_field->settings) }}">
<div class="card-body">
<span class="handle fa fa-grip-vertical d-inline-block bg-light text-info p-2 mr-2 mb-1"></span>
<i class="my-ui-icon-sm {{ $site_field->iq_content_model_field->fieldAsIcon() }} text-secondary mr-2"></i>
<strong>{{ $site_field->iq_content_model_field->name }}</strong>
<span class="text-muted ml-2">{{ $site_field->iq_content_model_field->identifier }}</span>
<div class="float-right">
{!! get_switcher_input($site_field->active, 'iq_content_site_field['.$key.'][active]') !!}
</div>
<hr class="border-light my-2">
<div class="form-group">
@if($site_field->field == "string")
{{ Form::text('iq_content_site_field['.$key.'][content]', $site_field->content, array('class'=>'form-control')) }}
@endif
@if($site_field->field == "text")
@if($site_field->settings['editor'] == 'off')
{{ Form::textarea('iq_content_site_field['.$key.'][content]', $site_field->content , ['class' => 'form-control']) }}
@else
{{ Form::textarea('iq_content_site_field['.$key.'][content]', $site_field->content , ['class' => 'form-control summernote']) }}
@endif
@endif
@if($site_field->field == "media")
{{ Form::text('iq_content_site_field['.$key.'][content]', $site_field->content, array('class'=>'form-control')) }}
@endif
</div>
<span class="text-muted ml-2">{{ $site_field->iq_content_model_field->fieldAsName() }}</span>
<div class="float-left">
<i class="fa fa-search"></i> {!! get_switcher_input($site_field->search, 'iq_content_site_field['.$key.'][search]') !!}
</div>
</div>
</div>
@endforeach
</div>
@endif
</div>
@endif
{!! Form::close() !!}
</div>
</div>
{!! Form::close() !!}
@endif
</div>
</div><!-- / .row -->
</div><!-- / .card -->
</div>
@endsection

View file

@ -2,89 +2,72 @@
@section('content')
<h4 class="font-weight-bold mb-4">
Reiseführer Trees
<h4 class="font-weight-bold py-3 mb-1">
{{ __('Reiseführer Trees') }}
</h4>
<div class="card messages-card">
<div class="row no-gutters">
<!-- content list -->
<div class="col">
<!-- Controls -->
<div class="media flex-wrap align-items-center py-2 px-2">
<div class="media-body d-flex flex-wrap flex-basis-100 flex-basis-sm-auto">
<button type="button" class="btn btn-default borderless md-btn-flat icon-btn messages-sidebox-toggler d-lg-none d-block text-muted text-large mr-2"><i class="ion ion-md-more"></i></button>
<a href="" class="btn btn-default borderless md-btn-flat icon-btn messages-tooltip text-muted" title="Refresh"><i class="ion ion-md-refresh"></i></a>
</div>
</div>
<!-- / Controls -->
<div class="table-responsive py-3 px-2">
<table class="iq-datatables-standard table table-striped">
<thead>
<tr>
<th style="max-width: 60px;">#</th>
<th>Name</th>
<th>Identifier</th>
<th>Description</th>
<th>Nodes(s)</th>
<th>Updated</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@foreach($models as $model)
<tr class="">
<td>
<a href="{{ route('iq_content_tree_detail', [$model->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td><a href="{{ route('iq_content_tree_detail', [$model->id]) }}">{{ $model->name }}</a></td>
<td>{{ $model->identifier }}</td>
<td>{{ $model->description }}</td>
<td>{{ $model->iq_content_tree_nodes->count() }}</td>
<td>{{ $model->updated_at->format("d/m/Y") }}</td>
<td>{!! get_active_badge($model->active) !!}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="card">
<div class="card-datatable table-responsive py-2">
<div class="ml-2 mb-2 text-left">
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="tree"
data-action="tree-content"
data-request=""
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Add Tree</button>
</div>
<!-- / content list -->
<!-- sidebox -->
<div class="messages-sidebox messages-scroll col">
<div class="card-header text-uppercase text-expanded text-muted">Tree</div>
<div class="card-body py-3">
<div class="media align-items-center">
<div class="media-body">
<button type="button" class="btn btn-primary btn-block" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="tree"
data-action="tree-content"
data-request=""
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Add Tree</button>
</div>
<a href="javascript:void(0)" class="messages-sidebox-toggler d-lg-none d-block text-muted text-large font-weight-light pl-4">&times;</a>
</div>
</div>
<div class="card-header text-uppercase text-expanded text-muted">Filter</div>
<div class="card-body py-3">
<a href="javascript:void(0)" class="d-flex justify-content-between align-items-center text-body font-weight-bold py-2">
<div>
All
</div>
<div class="badge badge-primary">{{ count($models) }}</div>
</a>
<hr class="border-light my-4">
</div>
<table class="datatables-travel_guide table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">#</th>
<th>Name</th>
<th>Identifier</th>
<th>Description</th>
<th>Nodes(s)</th>
<th>Updated</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@foreach($models as $model)
<tr class="">
<td>
<a href="{{ route('iq_content_tree_detail', [$model->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td><a href="{{ route('iq_content_tree_detail', [$model->id]) }}">{{ $model->name }}</a></td>
<td>{{ $model->identifier }}</td>
<td>{{ $model->description }}</td>
<td>{{ $model->iq_content_tree_nodes->count() }}</td>
<td>{{ $model->updated_at->format("d/m/Y") }}</td>
<td>{!! get_active_badge($model->active) !!}</td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 col">
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="tree"
data-action="tree-content"
data-request=""
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Add Tree</button>
</div>
<!-- / sidebox -->
</div><!-- / .row -->
</div><!-- / .card -->
</div>
<script>
$( document ).ready(function() {
$('.datatables-travel_guide').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
},
});
});
</script>
</div>
@endsection