Travel Guide Frontend Backend
This commit is contained in:
parent
e6cc042aee
commit
0857a34766
681 changed files with 6680 additions and 1689 deletions
|
|
@ -16,7 +16,7 @@
|
|||
<table class="datatables-users table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{__('edit')}}</th>
|
||||
<th>#</th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('E-Mail')}}</th>
|
||||
<th>{{__('Zugang')}}</th>
|
||||
|
|
|
|||
115
resources/views/cms/answer_question/detail.blade.php
Executable file
115
resources/views/cms/answer_question/detail.blade.php
Executable file
|
|
@ -0,0 +1,115 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
{!! Form::open(['url' => route('cms_answer_question_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Frage & Anwort @if($id === "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<a href="{{route('cms_answer_question')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||
|
||||
<!-- draft -->
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
|
||||
<div class="form-group col-sm-12">
|
||||
<label for="i_q_content_category_id" class="form-label">Kategorie*</label>
|
||||
{{ Form::select('i_q_content_category_id', $identifier_options , $model->i_q_content_category_id, array('class'=>'custom-select', 'required'=>true)) }}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
{!! Form::checkbox('active', 1, $model->active, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('aktiv')}}</span>
|
||||
</label>
|
||||
|
||||
<label class="form-label" for="question">{{ __('Frage Titel') }} (Text)*</label>
|
||||
{{ Form::text('question', $model->question, array('placeholder'=>__('max 255 Zeichen'), 'class'=>'form-control', 'id'=>'question', 'required'=>true)) }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{-- <div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="question_text">{{ __('Frage Text') }} (Nur Text)</label>
|
||||
{{ Form::textarea('question_text', $model->question_text , ['class' => 'form-control', 'id'=>'question_text']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="answer">{{ __('Antwort Titel') }}*</label>
|
||||
{{ Form::text('answer', $model->answer, array('placeholder'=>__('Antwort'), 'class'=>'form-control', 'id'=>'answer')) }}
|
||||
</div>
|
||||
</div>
|
||||
--}}
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="answer_text">{{ __('Antwort') }} (HTML)*</label>
|
||||
{{ Form::textarea('answer_text', $model->answer_text , ['class' => 'form-control summernote', 'id'=>'answer_text']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-left mt-3">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
<a href="{{route('cms_answer_question')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('.summernote').summernote({
|
||||
height: 300,
|
||||
tabsize: 2,
|
||||
followingToolbar: true,
|
||||
imageTitle: {
|
||||
specificAltField: true,
|
||||
},
|
||||
lang: 'de-DE',
|
||||
toolbar: [
|
||||
['style', ['style']],
|
||||
['font', ['bold', 'italic', 'clear']],
|
||||
['para', ['ul', 'ol']],
|
||||
['insert', ['link', 'hr']],
|
||||
['view', ['fullscreen', 'codeview']],
|
||||
['help', ['help']]
|
||||
],
|
||||
styleTags: ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
|
||||
|
||||
cleaner:{
|
||||
action: 'both', // both|button|paste 'button' only cleans via toolbar button, 'paste' only clean when pasting content, both does both options.
|
||||
newline: '<br>', // Summernote's default is to use '<p><br></p>'
|
||||
notStyle: 'position:absolute;top:0;left:0;right:0', // Position of Notification
|
||||
icon: '<i class="note-icon">[Your Button]</i>',
|
||||
keepHtml: false, // Remove all Html formats
|
||||
keepOnlyTags: ['<p>', '<br>', '<ul>', '<li>', '<b>', '<strong>','<i>', '<a>'], // If keepHtml is true, remove all tags except these
|
||||
keepClasses: false, // Remove Classes
|
||||
badTags: ['style', 'script', 'applet', 'embed', 'noframes', 'noscript', 'html'], // Remove full tags with contents
|
||||
badAttributes: ['style', 'start'], // Remove attributes from remaining tags
|
||||
limitChars: false, // 0/false|# 0/false disables option
|
||||
limitDisplay: 'both', // text|html|both
|
||||
limitStop: false // true/false
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
84
resources/views/cms/answer_question/index.blade.php
Executable file
84
resources/views/cms/answer_question/index.blade.php
Executable file
|
|
@ -0,0 +1,84 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
{{ __('Fragen & Antworten') }}
|
||||
</h4>
|
||||
|
||||
<div class="card">
|
||||
<div class="ui-bordered px-4 pt-3 mb-0">
|
||||
<div class="form-row align-items-center">
|
||||
<div class="form-group col-12 col-sm-6">
|
||||
<select class="custom-select" name="filter_identifier_options" id="filter_identifier_options" style="">
|
||||
<option value="">Alle Kategorien</option>
|
||||
@foreach($identifier_options as $id=>$name)
|
||||
<option value="{{$id}}" >{{$name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-12 col-sm-6">
|
||||
<div class=" mb-2 text-right">
|
||||
<a href="{{ route('cms_answer_question_detail', ['new']) }}" class="btn btn-sm btn-primary">Neuen Eintrag anlegen</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-datatable table-responsive py-2">
|
||||
|
||||
<table class="datatables-faq table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Frage')}}</th>
|
||||
<th>{{__('Kategorie')}}</th>
|
||||
<th>{{__('Date')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th>#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 col">
|
||||
<a href="{{ route('cms_answer_question_detail', ['new']) }}" class="btn btn-sm btn-primary">Neuen Eintrag anlegen</a>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
var oTable = $('.datatables-faq').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
ajax: {
|
||||
url: '{!! route( 'cms_answer_question_datatable' ) !!}',
|
||||
data: function(d) {
|
||||
d.filter_identifier_options = $('select[name=filter_identifier_options]').val();
|
||||
}
|
||||
},
|
||||
"order": [[ 0, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'action_edit', orderable: false, searchable: false},
|
||||
{ data: 'question', name: 'question' },
|
||||
{ data: 'category', name: 'category'},
|
||||
{ data: 'created_at', name: 'created_at' },
|
||||
{ data: 'active', name: 'active' },
|
||||
{ data: 'delete', name: 'delete' },
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
|
||||
$('#filter_identifier_options').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -34,6 +34,7 @@
|
|||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Beschreibung')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -48,6 +49,8 @@
|
|||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>{{ substr($value->description, 0, 50) }} ...</td>
|
||||
|
||||
<td><a class="text-danger" href="{{ route('cms_content_author_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -13,10 +13,14 @@
|
|||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<div class="form-group col-12">
|
||||
<label for="name" class="form-label">{{ __('Name') }}</label>
|
||||
{{ Form::text('name', $value->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'required')) }}
|
||||
</div>
|
||||
<div class="form-group col-12">
|
||||
<label for="description" class="form-label">{{ __('Beschreibung') }}</label>
|
||||
{{ Form::textarea('description', $value->description, array('class'=>'form-control')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,14 @@
|
|||
.alert ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.note-video-clip {
|
||||
max-width: 100%;
|
||||
width: 600px;
|
||||
left: 0;
|
||||
right:0;
|
||||
margin:auto;
|
||||
|
||||
}
|
||||
</style>
|
||||
@if ($errors->any())
|
||||
<div class="row">
|
||||
|
|
@ -36,6 +44,8 @@
|
|||
<!-- draft -->
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="mb-0 bg-light p-1">Inhalte</h4>
|
||||
<hr class="mt-0">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-12">
|
||||
|
||||
|
|
@ -67,7 +77,7 @@
|
|||
<a class="btn btn-default btn-xs" href="?clean=true">Clean Text off</a>
|
||||
@endif
|
||||
<br clear="all">
|
||||
{{ Form::textarea('full_text', $travel_guide->full_text , ['class' => 'form-control summernote']) }}
|
||||
{{ Form::textarea('full_text', $travel_guide->full_text , ['class' => 'form-control summernote', 'style'=>'height:600px']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
|
|
@ -84,7 +94,8 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4 class="mb-0 bg-light p-1">Tree / Navigation</h4>
|
||||
<hr class="mt-0">
|
||||
|
||||
<button type="button" class="btn btn-primary btn-sm float-right mb-2" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="add"
|
||||
|
|
@ -100,6 +111,7 @@
|
|||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('url')}}</th>
|
||||
<th>{{__('Zuordnung')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th>#</th>
|
||||
</tr>
|
||||
|
|
@ -109,7 +121,7 @@
|
|||
<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="fa fa-edit"></span>
|
||||
<span class="fa fa-share"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>{{$iq_content_site->iq_content_tree_node->name}}</td>
|
||||
|
|
@ -118,14 +130,11 @@
|
|||
</a> {{$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="fa fa-check"></i></span>
|
||||
@else
|
||||
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
||||
@endif
|
||||
{{$iq_content_site->getTravelType()}}
|
||||
</td>
|
||||
<td>{!! get_active_badge($iq_content_site->iq_content_tree_node->active) !!}</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="fa fa-reply"></i></a>
|
||||
<a class="text-danger" href="{{ route('iq_content_tree_detail_remove', ['guide', $iq_content_site->iq_content_tree_node->tree_id, $iq_content_site->tree_node_id, $iq_content_site->travel_guide->id, 'guide']) }}" onclick="return confirm('{{__('Seite aus Tree entfernen?')}}');"><i class="fa fa-reply"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
@ -134,6 +143,8 @@
|
|||
<hr>
|
||||
@endif
|
||||
|
||||
<h4 class="mb-0 bg-light p-1">Meta</h4>
|
||||
<hr class="mt-0">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
|
|
|
|||
|
|
@ -131,6 +131,19 @@
|
|||
<input type="hidden" name="model" value="tree">
|
||||
<input type="hidden" name="action" value="tree-node">
|
||||
<input type="hidden" name="tree_id" value="{{$model->id}}">
|
||||
|
||||
<h4 class="mb-0 bg-light p-1">Name / Link</h4>
|
||||
<hr class="mt-0">
|
||||
<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 (Navigation)*</label>
|
||||
{{ Form::text('name', $tree_node->name, array('placeholder'=>'', 'class'=>'form-control', 'required'=>'true')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-10 col-sm-11">
|
||||
<div class="input-group mb-4">
|
||||
|
|
@ -150,16 +163,9 @@
|
|||
</a>
|
||||
</div>
|
||||
</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>
|
||||
|
||||
<h4 class="mb-0 bg-light p-1">Seiten</h4>
|
||||
<hr class="mt-0">
|
||||
<div class="form-row mb-2">
|
||||
<div class="form-group col">
|
||||
<button type="button" class="btn btn-primary btn-sm float-right mb-2"
|
||||
|
|
@ -171,14 +177,13 @@
|
|||
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;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Zuordnung')}}</th>
|
||||
<th>{{__('Keyword')}}</th>
|
||||
<th>{{__('Langer Text')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
|
|
@ -195,6 +200,16 @@
|
|||
</a>
|
||||
</td>
|
||||
<td>{{$iq_content_site->travel_guide->name}}</td>
|
||||
<td><button type="button" class="btn btn-xs btn-secondary"
|
||||
data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="{{$iq_content_site->id}}"
|
||||
data-model="tree"
|
||||
data-action="site-travel-identifier"
|
||||
data-request="{!! array_to_json(['tree_id'=>$model->id,'tree_node_id'=>$tree_node->id]) !!}"
|
||||
data-route="{{ route('iq_content_modal_load') }}">
|
||||
<i class="fa fa-edit"></i> {{$iq_content_site->getTravelType()}}</button>
|
||||
</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
|
||||
|
|
@ -215,9 +230,10 @@
|
|||
</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="fa fa-reply"></i></a>
|
||||
href="{{ route('iq_content_tree_detail_remove', ['guide', $model->id, $tree_node->id, $iq_content_site->travel_guide->id, 'tree']) }}"
|
||||
title="entfernen" data-placement="left" rel="tooltip" onclick="return confirm('{{__('Seite aus Tree entfernen?')}}');">
|
||||
<i class="fa fa-reply"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
@ -232,6 +248,93 @@
|
|||
</select>--}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="mb-0 bg-light p-1">Hauptbild</h4>
|
||||
<hr class="mt-0">
|
||||
<div class="media mx-auto pb-3" id="lfm-data-fill">
|
||||
<img src="{{$tree_node->getImage('thumb_url')}}" alt="" class="img_thumb_url d-block ui-w-100">
|
||||
<div class="media-body mt-2 ml-2">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-10 col-sm-11" >
|
||||
{{ Form::hidden('image[slug]', $tree_node->getImage('slug')) }}
|
||||
{{ Form::hidden('image[thumb_url]', $tree_node->getImage('thumb_url')) }}
|
||||
{{ Form::hidden('image[url]', $tree_node->getImage('url')) }}
|
||||
{{ Form::text('image[title]', $tree_node->getImage('title'), array('placeholder'=>'Bildtitel', 'class'=>'form-control mb-2')) }}
|
||||
{{ Form::text('image[alt]', $tree_node->getImage('alt'), array('placeholder'=>'Bild ALT Tag', 'class'=>'form-control')) }}
|
||||
</div>
|
||||
<div class="form-group col-2 col-sm-1">
|
||||
<button type="button" class="btn btn-sm btn-secondary float-right btn-lfm-open-modal"
|
||||
data-id="#lfm-data-fill"
|
||||
data-obj="image"
|
||||
data-set='["url", "slug", "thumb_url"]'
|
||||
data-img='.img_thumb_url'
|
||||
data-title="title"
|
||||
data-alt="alt">
|
||||
<i class="fa fa-image"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="mb-0 bg-light p-1">Fragen & Antworten</h4>
|
||||
<hr class="mt-0">
|
||||
<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="add-answer-question"
|
||||
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> Eintrag hinzufügen
|
||||
</button>
|
||||
<table class="table table-striped border-bottom">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Frage')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th>#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($tree_node->iq_content_faqs as $iq_content_faq)
|
||||
<tr>
|
||||
<td style="width: 5%;">
|
||||
<a href="{{ route('cms_answer_question_detail', [$iq_content_faq->answer_question->id]) }}"
|
||||
class="btn icon-btn btn-sm btn-primary">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>{{$iq_content_faq->answer_question->question}}</td>
|
||||
<td>
|
||||
@if($iq_content_faq->answer_question->active)
|
||||
<span class="badge badge-pill badge-success"><i
|
||||
class="fa fa-check"></i></span>
|
||||
@else
|
||||
<span class="badge badge-pill badge-danger"><i
|
||||
class="fa fa-times"></i></span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<a class="text-danger"
|
||||
href="{{ route('iq_content_tree_detail_remove', ['faq', $model->id, $tree_node->id, $iq_content_faq->answer_question->id, 'tree']) }}"
|
||||
title="entfernen" data-placement="left" rel="tooltip" onclick="return confirm('{{__('Eintrag entfernen?')}}');">
|
||||
<i class="fa fa-reply"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="mb-0 bg-light p-1">Meta</h4>
|
||||
<hr class="mt-0">
|
||||
<div class="form-row mb-2">
|
||||
<div class="form-group col">
|
||||
<label for="identifier" class="form-label">Slug</label>
|
||||
|
|
@ -303,7 +406,16 @@
|
|||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.table [rel="tooltip"]').tooltip({trigger: "hover"});
|
||||
IqLFileManager.init();
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
32
resources/views/iq/modal/faq.blade.php
Normal file
32
resources/views/iq/modal/faq.blade.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{!! Form::open(['url' => $url, 'class' => 'modal-content']) !!}
|
||||
<input type="hidden" name="id" value="{{ $value->id }}">
|
||||
<input type="hidden" name="model" value="{{$data['model']}}">
|
||||
<input type="hidden" name="action" value="{{$data['action']}}">
|
||||
<input type="hidden" name="request" value="{{$data['request']}}">
|
||||
<input type="hidden" name="name" value="add">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
{{$data['title']}}
|
||||
</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@if(!$data['request'])
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="modal_faq_id" class="form-label">Reiseführer Seite (required)</label>
|
||||
<select class="selectpicker" name="modal_faq_id" id="modal_faq_id"
|
||||
data-style="btn-light" data-live-search="true" required>
|
||||
{!! \App\Models\AnswerQuestion::getSiteOptions(0, 'faq') !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">close</button>
|
||||
<button type="submit" class="btn btn-primary"><i class="ion ion-md-save"></i> save</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
|
@ -29,4 +29,3 @@
|
|||
<button type="submit" class="btn btn-primary"><i class="ion ion-md-save"></i> save</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
|
|
|||
31
resources/views/iq/modal/travel-identifier.blade.php
Executable file
31
resources/views/iq/modal/travel-identifier.blade.php
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
{!! Form::open(['url' => $url, 'class' => 'modal-content']) !!}
|
||||
<input type="hidden" name="id" value="{{ $value->id }}">
|
||||
<input type="hidden" name="model" value="{{$data['model']}}">
|
||||
<input type="hidden" name="action" value="{{$data['action']}}">
|
||||
<input type="hidden" name="request" value="{{$data['request']}}">
|
||||
<input type="hidden" name="name" value="add">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
{{$data['title']}}
|
||||
</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name" class="form-label">{{ __('Name') }}</label>
|
||||
{{ Form::text('name', $value->travel_guide->name, array('class'=>'form-control', 'readonly')) }}
|
||||
</div>
|
||||
<div class="form-group ">
|
||||
<label for="full_text" class="form-label">{{ __('Zuordnung') }}</label>
|
||||
{{ Form::select('identifier', $select_data , $value->identifier, array('class'=>'custom-select', 'id'=>'identifier' )) }}
|
||||
</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"><i class="ion ion-md-save"></i> save</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
|
|
@ -147,10 +147,12 @@
|
|||
<script src="{{ asset('/vendor/libs/quill-placeholder-module/dist/placeholder-module.js?v=1') }}"></script>
|
||||
|
||||
@if(isset($lfm_helper))
|
||||
<script src="{{ asset('/js/summernote-iq-content-extension.js?v=2') }}"></script>
|
||||
<script src="{{ asset('/js/summernote-iq-content-extension.js?v=4') }}"></script>
|
||||
<script src="{{ asset('/js/summernote-image-title.js?v=2') }}"></script>
|
||||
<script src="{{ asset('/vendor/laravel-filemanager/js/cropper.min.js') }}"></script>
|
||||
<script src="{{ asset('/js/filemanager.js?v=3') }}"></script>
|
||||
<script src="{{ asset('/js/filemanager.js') }}?v=4"></script>
|
||||
<script src="{{ asset('/js/pages_file-manager.js') }}?v=4"></script>
|
||||
|
||||
@endif
|
||||
|
||||
<!-- Libs -->
|
||||
|
|
@ -161,7 +163,7 @@
|
|||
|
||||
<!-- Application javascripts -->
|
||||
<script src="{{ mix('/js/application.js') }}"></script>
|
||||
<script src="{{ asset('/js/custom.js?v=9') }}{{ get_file_last_time('/js/custom.js') }}"></script>
|
||||
<script src="{{ asset('/js/custom.js') }}?v=9{{ get_file_last_time('/js/custom.js') }}"></script>
|
||||
|
||||
|
||||
@include('asset.js')
|
||||
|
|
@ -233,7 +235,7 @@
|
|||
$(document).ready(function() {
|
||||
|
||||
$('.summernote').summernote({
|
||||
height: 300,
|
||||
height: 400,
|
||||
tabsize: 2,
|
||||
followingToolbar: true,
|
||||
imageTitle: {
|
||||
|
|
@ -308,8 +310,8 @@
|
|||
// $(this).data('image_dialog_images_html', '<div class="row"..');
|
||||
$(this).data('image_dialog_images_url', "/iq/content/assets/modal");
|
||||
$(this).data('image_dialog_title', "Medien");
|
||||
$(this).data('image_dialog_close_btn_text', "Fermer");
|
||||
$(this).data('image_dialog_ok_btn_text', "Ajouter");
|
||||
$(this).data('image_dialog_close_btn_text', "schließen");
|
||||
$(this).data('image_dialog_ok_btn_text', "Einfügen");
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -178,10 +178,15 @@
|
|||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-fb'))
|
||||
<li class="sidenav-item{{ Request::is('cms/feedback') ? ' active' : '' }}">
|
||||
<li class="sidenav-item{{ Request::is('cms/feedback', 'cms/feedback/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_feedback') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-chatboxes"></i><div>Feedback</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-aq'))
|
||||
<li class="sidenav-item{{ Request::is('cms/answer_question', 'cms/answer_question/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_answer_question') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-help-buoy"></i><div>Fragen & Antworten</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-sb'))
|
||||
<li class="sidenav-item{{ Request::is('cms/sidebar') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_sidebar') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>Sidebar</div></a>
|
||||
|
|
@ -275,6 +280,11 @@
|
|||
<a href="{{ route('admin_settings_insurance') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-umbrella"></i><div>{{ __('Versicherungen') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-ca'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/categories') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_categories') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-list-box"></i><div>{{ __('Kategorien') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
|
|
@ -320,8 +330,14 @@
|
|||
<li class="sidenav-item{{ Request::is('sysadmin/tools/content_links') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_tools_content_links') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-settings"></i><div>{{ __('Tree from HTML') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/tools/tree_title') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_tools_tree_title') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-settings"></i><div>{{ __('Tree Title') }}</div></a>
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/tools/tree') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_tools_tree') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-settings"></i><div>{{ __('Tree') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/tools/clean_tree_code') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_tools_clean_tree_code') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-settings"></i><div>{{ __('Clean Tree Code') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/tools/media_insert') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_tools_media_insert') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-settings"></i><div>{{ __('Media Insert') }}</div></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
|
|
|||
131
resources/views/settings/category/index.blade.php
Executable file
131
resources/views/settings/category/index.blade.php
Executable file
|
|
@ -0,0 +1,131 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Kategorien
|
||||
</h4>
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-default table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Pos')}}</th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Slug')}}</th>
|
||||
<th>{{__('Identifier')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($airline as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-slug="{{ $value->slug }}"
|
||||
data-identifier="{{ $value->identifier }}"
|
||||
data-pos="{{ $value->pos }}"
|
||||
data-active="{{ $value->active }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td data-sort="{{ $value->pos }}">{{ $value->pos }}</td>
|
||||
<td data-sort="{{ $value->name }}">{{ $value->name }}</td>
|
||||
<td data-sort="{{ $value->slug }}">{{ $value->slug }}</td>
|
||||
<td data-sort="{{ $value->identifier }}">{{ $value->identifier }}</td>
|
||||
<td data-sort="{{ $value->active }}">{!! get_active_badge($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_categories_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 col">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-slug=""
|
||||
data-identifier=""
|
||||
data-active="1"
|
||||
>Neue Kategorie anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_categories_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Airline <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 for="name" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Name')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="slug" class="form-label">slug</label>
|
||||
<input type="text" class="form-control" name="slug" placeholder="{{__('Slug')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="identifier" class="form-label">Identifier</label>
|
||||
<input type="text" class="form-control" name="identifier" placeholder="{{__('Identifier')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="pos" class="form-label">Pos</label>
|
||||
<input type="text" class="form-control" name="pos" placeholder="{{__('Pos')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input class="custom-control-input" name="active" type="checkbox" value="1">
|
||||
<span class="custom-control-label">sichtbar</span>
|
||||
</label>
|
||||
</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-default').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='slug']").val(button.data('slug'));
|
||||
$(this).find(".modal-body input[name='identifier']").val(button.data('identifier'));
|
||||
$(this).find(".modal-body input[name='pos']").val(button.data('pos'));
|
||||
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
});
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 1, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
60
resources/views/sys/tools/clean.blade.php
Executable file
60
resources/views/sys/tools/clean.blade.php
Executable file
|
|
@ -0,0 +1,60 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
@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
|
||||
|
||||
|
||||
<h4 class="font-weight-bold mb-4">
|
||||
Content Tools: Clean
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="card mb-4">
|
||||
|
||||
<div class="card-body">
|
||||
<!-- Controls -->
|
||||
{!! Form::open(['url' => route('sysadmin_tools_clean_tree_code'), 'class' => '']) !!}
|
||||
<div class="form-group mb-1">
|
||||
<label class="form-label" for="description">Description</label>
|
||||
{{ Form::textarea('new_text', $new_text, array('class'=>'form-control', 'rows'=>30)) }}
|
||||
</div>
|
||||
<div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-1">
|
||||
<label class="form-label" for="description">Description</label>
|
||||
{{ Form::textarea('full_text', $full_text, array('class'=>'form-control', 'rows'=>30)) }}
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary"><i class="ion"></i> action</button>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
|
||||
@if(count($values)>0)
|
||||
<div class="card-body">
|
||||
<!-- Controls -->
|
||||
@foreach($values as $key=>$value)
|
||||
{{ $key }} || {{$value}}<br>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
53
resources/views/sys/tools/insert.blade.php
Executable file
53
resources/views/sys/tools/insert.blade.php
Executable file
|
|
@ -0,0 +1,53 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
@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
|
||||
|
||||
|
||||
<h4 class="font-weight-bold mb-4">
|
||||
Content Tools: Insert
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="card mb-4">
|
||||
|
||||
<div class="card-body">
|
||||
<!-- Controls -->
|
||||
{!! Form::open(['url' => route('sysadmin_tools_media_insert'), 'class' => '']) !!}
|
||||
<div class="form-group mb-1">
|
||||
<label class="form-label" for="description">Description</label>
|
||||
{{ Form::textarea('text', $text, array('class'=>'form-control', 'rows'=>20)) }}
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" name="action" value="insert"><i class="ion"></i> Insert Media</button>
|
||||
<button type="submit" class="btn btn-primary" name="action" value="youtube_ids"><i class="ion"></i> Youtube IDs from TGuide</button>
|
||||
<button type="submit" class="btn btn-primary" name="action" value="replace_youtube_links"><i class="ion"></i> Replace Youtube Links in TGuide</button>
|
||||
<button type="submit" class="btn btn-primary" name="action" value="replace_youtube_div"><i class="ion"></i> Replace Youtube DIV</button>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
|
||||
@if(count($values)>0)
|
||||
<div class="card-body">
|
||||
<!-- Controls -->
|
||||
@foreach($values as $key=>$value)
|
||||
{{$value}}<br>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
|
@ -18,15 +18,13 @@
|
|||
|
||||
|
||||
<h4 class="font-weight-bold mb-4">
|
||||
Content Tools: Links
|
||||
Content Tools: Trees
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="card mb-4">
|
||||
|
||||
<div class="card-body">
|
||||
<!-- Controls -->
|
||||
{!! Form::open(['url' => route('sysadmin_tools_tree_title'), 'class' => '']) !!}
|
||||
{!! Form::open(['url' => route('sysadmin_tools_tree'), 'class' => '']) !!}
|
||||
<div class="form-group mb-1">
|
||||
<label class="form-label" for="description">Description</label>
|
||||
{{ Form::textarea('text', $text, array('class'=>'form-control', 'rows'=>20)) }}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue