IQ Reisebausteine bis Gruppe

This commit is contained in:
Kevin Adametz 2021-08-06 15:28:57 +02:00
parent 6880c7e989
commit 9baa1a6233
43 changed files with 2206 additions and 24 deletions

View file

@ -0,0 +1,175 @@
@extends('layouts.layout-2')
@section('content')
{!! Form::open(['url' => route('iq_travel_group_detail', [$id]), 'class' => 'form-horizontal']) !!}
<h4 class="font-weight-bold py-3 mb-1">
Gruppenbaustein
<div class="float-right">
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('iq_travel_groups')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
</div>
</h4>
<div class="card mb-2">
<div class="card-body">
<h4>Allgemein</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="name">{{ __('Name') }} *</label>
{{ Form::text('name', $model->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-4">
<label class="form-label" for="min_persons">min. Personen</span></label>
<select class="custom-select" data-style="btn-light" name="min_persons" id="min_persons">
<option value="">min. Personen</option>
{!! HTMLHelper::getRangeOptions($model->min_persons, 10, ' min.P.') !!}
</select>
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="price_adult">Preis p.P. Erwachsender</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('price_adult', $model->price_adult, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'price_adult',)) }}
</div>
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="price_children">Preis p.P. Kinder</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('price_children', $model->price_children, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'price_children',)) }}
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-4">
<label class="form-label" for="price_adult">Dauer in Tagen</span></label>
<select class="selectpicker" data-style="btn-light" name="days_duration" id="days_duration">
<option value="">Dauer in Tagen</option>
{!! HTMLHelper::getRangeOptions($model->days_duration, 60, ' Tag:e') !!}
</select>
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="price_adult">Starttag</span></label>
<select class="selectpicker" data-style="btn-light" name="days_start" id="days_start">
<option value="">Starttag</option>
{!! HTMLHelper::getRangeOptions($model->days_start, 60, ' Tag:e') !!}
</select>
</div>
<div class="form-group col-sm-4 pt-4">
<label class="switcher switcher-on-off">
{{ Form::hidden('active', 0) }}
{{ Form::checkbox('active', 1, $model->active, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">sichtbar</span>
</label>
</div>
</div>
<div class="form-row">
<div class="col-sm-12">
<hr>
</div>
<div class="form-group col-sm-12 col-md-6">
<label class="form-label" for="description">Beschreibung</span></label>
{{ Form::textarea('description', $model->description, array('class'=>'form-control autoExpand', 'rows'=>2)) }}
</div>
<div class="form-group col-sm-12 col-md-6">
<label class="form-label" for="highlights">Highlights</span></label>
{{ Form::textarea('highlights', $model->highlights, array('class'=>'form-control autoExpand', 'rows'=>2)) }}
</div>
<div class="col-sm-12">
<hr>
</div>
</div>
<h4>Reisebausteine <span class="text-muted">für diese Gruppe</span></h4>
@if($model->id)
<div class="table-responsive" id="booking_files_table">
<table class="table table-striped table-sm">
<thead>
<tr>
<th style="width: 2%;">&nbsp;</th>
<th style="width: 6%;">{{__('POS')}}</th>
<th>{{__('Name')}}</th>
<th>{{__('Typ')}}</th>
<th>{{__('Land')}}</th>
<th>{{__('Ort(e)')}}</th>
</tr>
</thead>
<tbody>
@if($model->i_q_travel_group_items)
@foreach($model->i_q_travel_group_items as $i_q_travel_group_item)
<tr>
<td class="not">
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{$i_q_travel_group_item->id}}"
data-iq_travel_group_id="{{$model->id}}"
data-model="IQTravelGroupItem"
data-action="modal-iq_travel_item-group"
data-back="{{route('iq_travel_group_detail', [$model->id])}}"
data-url="{{ route('iq_travel_group_detail', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
</td>
<td>{{ $i_q_travel_group_item->pos }}</td>
<td>{{ $i_q_travel_group_item->i_q_travel_item->name }}</td>
<td>@if($i_q_travel_group_item->i_q_travel_item->draft_type) <span class="py-1 px-2" style="background-color: {{ $i_q_travel_group_item->i_q_travel_item->draft_type->color }}">{{ $i_q_travel_group_item->i_q_travel_item->draft_type->name }}</span> @endif</td>
<td>@if($i_q_travel_group_item->i_q_travel_item->travel_country){{ $i_q_travel_group_item->i_q_travel_item->travel_country->name }} @endif</td>
<td>
@if($i_q_travel_group_item->i_q_travel_item->i_q_travel_item_places->count())
@foreach($i_q_travel_group_item->i_q_travel_item->i_q_travel_item_places as $i_q_travel_item_place)
{{ $i_q_travel_item_place->travel_place->name }} <br>
@endforeach
@endif
</td>
<td>
<a class="ml-2 btn btn-xs btn-danger" href="{{ route('iq_travel_group_delete', [$i_q_travel_group_item->id, 'i_q_travel_group_item']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
<div class="text-right d-block w-100">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="new"
data-iq_travel_group_id="{{$model->id}}"
data-model="IQTravelGroupItem"
data-action="modal-iq_travel_item-group"
data-back="{{route('iq_travel_group_detail', [$model->id])}}"
data-url="{{ route('iq_travel_group_detail', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><i class="ion ion-md-add-circle"></i>&nbsp;Reisebaustein hinzufügen</button>
</div>
@else
<p><i>Der Gruppenbaustein muss erst mit einem Name gespeichert werden.</i></p>
@endif
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('iq_travel_groups')}}" class="btn btn-default">{{ __('back') }}</a> </div>
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,55 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-4">
Reisebausteine / Gruppen
</h4>
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-customer table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('Bausteine')}}</th>
<th>{{__('sichbar')}}</th>
<th style="max-width: 60px;">&nbsp;</th>
</tr>
</thead>
</table>
</div>
<div class="ml-3 mb-2">
<a href="{{ route('iq_travel_group_detail', ['new']) }}" class="btn btn-sm btn-primary">Neuen Gruppenbaustein anlegen</a>
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-customer').dataTable({
"processing": true,
"serverSide": true,
"ajax": '{!! route('data_table_travel_groups') !!}',
"order": [[ 1, "desc" ]],
"columns": [
{ data: 'action_edit', orderable: false, searchable: false},
{ data: 'name', name: 'name' },
{ data: 'trave_items', name: 'trave_items', orderable: false, searchable: false },
{ data: 'active', name: 'active' },
{ data: 'action_delete', orderable: false, searchable: false},
],
"bLengthChange": false,
"iDisplayLength": 100,
"language": {
"url": "/js/German.json"
}
});
});
</script>
@endsection

View file

@ -0,0 +1,175 @@
@extends('layouts.layout-2')
@section('content')
{!! Form::open(['url' => route('iq_travel_item_detail', [$id]), 'class' => 'form-horizontal']) !!}
<h4 class="font-weight-bold py-3 mb-1">
Reisebaustein
<div class="float-right">
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('iq_travel_items')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
</div>
</h4>
<div class="card mb-2">
<div class="card-body">
<h4>Allgemein</h4>
<div class="form-row">
<div class="form-group col-sm-4">
<label class="form-label" for="name">{{ __('Name') }} *</label>
{{ Form::text('name', $model->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required'=>true)) }}
</div>
<div class="form-group col-sm-4">
<label for="draft_type_id" class="form-label">Typ</label>
{{ Form::select('draft_type_id', \App\Services\Model::getDraftTypeArray(true) , $model->draft_type_id, array('class'=>'custom-select', 'id'=>'draft_type_id')) }}
</div>
<div class="form-group col-sm-4">
<label for="travel_country_id" class="form-label">Reiseland</label>
{{ Form::select('travel_country_id', \App\Services\Model::getTravelCountryArray(true) , $model->travel_country_id, array('class'=>'custom-select', 'id'=>'travel_country_id')) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-4">
<label class="form-label" for="min_persons">min. Personen</span></label>
<select class="custom-select" data-style="btn-light" name="min_persons" id="min_persons">
<option value="">min. Personen</option>
{!! HTMLHelper::getRangeOptions($model->min_persons, 10, ' min.P.') !!}
</select>
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="price_adult">Preis p.P. Erwachsender</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('price_adult', $model->price_adult, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'price_adult',)) }}
</div>
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="price_children">Preis p.P. Kinder</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('price_children', $model->price_children, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'price_children',)) }}
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-4">
<label class="form-label" for="price_adult">Dauer in Tagen</span></label>
<select class="selectpicker" data-style="btn-light" name="days_duration" id="days_duration">
<option value="">Dauer in Tagen</option>
{!! HTMLHelper::getRangeOptions($model->days_duration, 60, ' Tag:e') !!}
</select>
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="price_adult">Starttag</span></label>
<select class="selectpicker" data-style="btn-light" name="days_start" id="days_start">
<option value="">Starttag</option>
{!! HTMLHelper::getRangeOptions($model->days_start, 60, ' Tag:e') !!}
</select>
</div>
<div class="form-group col-sm-4 pt-4">
<label class="switcher switcher-on-off">
{{ Form::hidden('active', 0) }}
{{ Form::checkbox('active', 1, $model->active, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">sichtbar</span>
</label>
</div>
</div>
<div class="form-row">
<div class="col-sm-12">
<hr>
</div>
<div class="form-group col-sm-12 col-md-6">
<label class="form-label" for="description">Beschreibung</span></label>
{{ Form::textarea('description', $model->description, array('class'=>'form-control autoExpand', 'rows'=>2)) }}
</div>
<div class="form-group col-sm-12 col-md-6">
<label class="form-label" for="highlights">Highlights</span></label>
{{ Form::textarea('highlights', $model->highlights, array('class'=>'form-control autoExpand', 'rows'=>2)) }}
</div>
<div class="col-sm-12">
<hr>
</div>
</div>
<h4>Reiseorte <span class="text-muted">für diesen Baustein</span></h4>
@if($model->id)
<div class="table-responsive" id="booking_files_table">
<table class="table table-striped table-sm">
<thead>
<tr>
<th style="width: 2%;">&nbsp;</th>
<th style="width: 6%;">{{__('POS')}}</th>
<th>Name</th>
<th>Beschreibung</th>
<th>Land</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
@if($model->i_q_travel_item_places)
@foreach($model->i_q_travel_item_places as $i_q_travel_item_place)
<tr>
<td class="not">
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{$i_q_travel_item_place->id}}"
data-iq_travel_item_id="{{$model->id}}"
data-model="IQTravelItemPlace"
data-action="modal-iq_travel_item-place"
data-back="{{route('iq_travel_item_detail', [$model->id])}}"
data-url="{{ route('iq_travel_item_detail', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
</td>
<td>{{ $i_q_travel_item_place->pos }}</td>
<td>{{ $i_q_travel_item_place->travel_place->name }}</td>
<td>{{ $i_q_travel_item_place->travel_place->description }}</td>
<td>@if($i_q_travel_item_place->travel_place->travel_country){{ $i_q_travel_item_place->travel_place->travel_country->name }} @endif</td>
<td>
<a class="ml-2 btn btn-xs btn-danger" href="{{ route('iq_travel_item_delete', [$i_q_travel_item_place->id, 'i_q_travel_item_place']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
<div class="text-right d-block w-100">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="new"
data-iq_travel_item_id="{{$model->id}}"
data-model="IQTravelItemPlace"
data-action="modal-iq_travel_item-place"
data-back="{{route('iq_travel_item_detail', [$model->id])}}"
data-url="{{ route('iq_travel_item_detail', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><i class="ion ion-md-add-circle"></i>&nbsp;Reiseorte hinzufügen</button>
</div>
@else
<p><i>Der Baustein muss erst mit einem Name gespeichert werden.</i></p>
@endif
<div class="float-left small">Reiseorte bearbeiten / anlegen: <a href="{{ route('admin_settings_travel_places') }}">Einstellungen -&gt; Reiseorte</a>
</div>
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('iq_travel_items')}}" class="btn btn-default">{{ __('back') }}</a> </div>
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,60 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-4">
Reisebausteine / Bausteine
</h4>
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-customer table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('Typ')}}</th>
<th>{{__('Land')}}</th>
<th>{{__('Ort(e)')}}</th>
<th>{{__('sichbar')}}</th>
<th style="max-width: 60px;">&nbsp;</th>
</tr>
</thead>
</table>
</div>
<div class="ml-3 mb-2">
<a href="{{ route('iq_travel_item_detail', ['new']) }}" class="btn btn-sm btn-primary">Neuen Reisebaustein anlegen</a>
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-customer').dataTable({
"processing": true,
"serverSide": true,
"ajax": '{!! route('data_table_travel_items') !!}',
"order": [[ 1, "desc" ]],
"columns": [
{ data: 'action_edit', orderable: false, searchable: false},
{ data: 'name', name: 'name' },
{ data: 'draft_type', name: 'draft_type', orderable: false, searchable: false },
{ data: 'country', name: 'country', orderable: false, searchable: false },
{ data: 'trave_places', name: 'trave_places', orderable: false, searchable: false },
{ data: 'active', name: 'active' },
{ data: 'action_delete', orderable: false, searchable: false},
],
"bLengthChange": false,
"iDisplayLength": 100,
"language": {
"url": "/js/German.json"
}
});
});
</script>
@endsection

View file

@ -0,0 +1,56 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-4">
Reisebausteine / Programme
</h4>
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-customer table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('')}}</th>
<th>{{__('sichbar')}}</th>
<th style="max-width: 60px;">&nbsp;</th>
</tr>
</thead>
</table>
In Umsetzung
</div>
<div class="ml-3 mb-2">
<!-- <a href="{{ route('iq_travel_group_detail', ['new']) }}" class="btn btn-sm btn-primary">Neues Programm anlegen</a> -->
</div>
</div>
<script>
/* $( document ).ready(function() {
$('.datatables-customer').dataTable({
"processing": true,
"serverSide": true,
"ajax": '{!! route('data_table_travel_programms') !!}',
"order": [[ 1, "desc" ]],
"columns": [
{ data: 'action_edit', orderable: false, searchable: false},
{ data: 'name', name: 'name' },
{ data: 'trave_items', name: 'trave_items', orderable: false, searchable: false },
{ data: 'active', name: 'active' },
{ data: 'action_delete', orderable: false, searchable: false},
],
"bLengthChange": false,
"iDisplayLength": 100,
"language": {
"url": "/js/German.json"
}
});
});*/
</script>
@endsection