06 2022
This commit is contained in:
parent
34a3d2196b
commit
93d1bea8e3
45 changed files with 1601 additions and 573 deletions
52
resources/views/travel/program/_classes.blade.php
Normal file
52
resources/views/travel/program/_classes.blade.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramClasses" aria-expanded="false" aria-controls="collapseTravelProgramClasses">
|
||||
<strong style="line-height: 1.6em">Kategorien/Klassen</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramClasses">
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Standard</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->classes as $value)
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-classes"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-description="{{ $value->description }}"
|
||||
data-standard="{{ $value->standard }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>@if($value->standard)
|
||||
<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('travel_program_class_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-classes"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-description=""
|
||||
data-active="1"
|
||||
>Neue Katagorie anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
104
resources/views/travel/program/_details.blade.php
Normal file
104
resources/views/travel/program/_details.blade.php
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramDetails" aria-expanded="false" aria-controls="collapseTravelProgramDetails">
|
||||
<strong style="line-height: 1.6em">Details</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramDetails">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="default_flight_price" class="form-label">{{ __('Standard-Flugpreis') }}</label>
|
||||
{{ Form::text('default_flight_price', $program->default_flight_price, array('class'=>'form-control', 'id'=>'default_flight_price')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="deposit_percent" class="form-label">{{ __(' Anzahlung in %') }}
|
||||
<button class="btn btn-xs btn-default" title=" wenn leer, default Wert 20%<br>0 = keine Anzahlung<br>Ägypten 20% vom Gesamtpreis<br>Rest 100% vom Flugpreis und 20% Landleistung" data-placement="top" rel="tooltip">
|
||||
<i class="fa fa-info"></i></button></label>
|
||||
{{ Form::text('deposit_percent', $program->deposit_percent, array('class'=>'form-control', 'id'=>'deposit_percent')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-6 col-sm-3 col-md-2">
|
||||
<label for="discount" class="form-label">{{ __('Rabatt') }}*</label>
|
||||
{{ Form::text('discount', $program->discount, array('class'=>'form-control', 'id'=>'discount')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-6 col-sm-3 col-md-2">
|
||||
<label for="discount_is_percent_value" class="form-label">{{ __('Rabatt in') }}*</label>
|
||||
{{ Form::select('discount_is_percent_value', $program::$programDiscountTypes , $program->discount_is_percent_value, array('class'=>'custom-select', 'id'=>'discount_is_percent_value')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_arrival_point_id" class="form-label">{{ __('Zielflughafen') }}* <a href="{{ route('admin_settings_travel_arrival_point') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_arrival_point_id', \App\Services\Model::getTravelArrivalPointArray(true) , $program->travel_arrival_point_id, array('class'=>'custom-select', 'id'=>'travel_arrival_point_id')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="max_age_for_children" class="form-label">{{ __('max. Alter für Kinderermäßigung (0 = keine)') }}</label>
|
||||
{{ Form::text('max_age_for_children', $program->max_age_for_children, array('class'=>'form-control', 'id'=>'max_age_for_children')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="url" class="form-label">{{ __('URL') }}</label>
|
||||
{{ Form::text('url', $program->url, array('class'=>'form-control', 'id'=>'url')) }}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="generalnote" class="form-label">{{ __('Reisehinweise') }}* <a href="{{ route('admin_settings_gerneral_notes') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('generalnote', \App\Services\Model::getTravelGerneralNotesArray(true) , $program->generalnote, array('class'=>'custom-select', 'id'=>'generalnote')) }}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-12">
|
||||
<div class="text-left mt-2">
|
||||
<button type="submit" name="action" value="saveDetails" class="btn btn-sm btn-secondary">Änderungen speichern</button>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{--
|
||||
|
||||
Text
|
||||
Eingeschlossene Leistungen (pro Zeile eine Leistung!)
|
||||
included
|
||||
|
||||
|
||||
Klassen/Kategorien und zusätzliche Infos (erscheint unterhalb der "Eingeschlossenen Leistungen") (HTML)
|
||||
class_description
|
||||
|
||||
|
||||
Nicht eingeschlossene Leistungen (pro Zeile eine Leistung!)
|
||||
excluded
|
||||
|
||||
Hinweise
|
||||
advices
|
||||
|
||||
|
||||
Anmerkungen (pro Zeile eine Anmerkung!)
|
||||
notes
|
||||
|
||||
|
||||
HTML-Beschreibung
|
||||
html_description
|
||||
|
||||
Text (rechts außen)
|
||||
text_right
|
||||
|
||||
|
||||
|
||||
|
||||
Reiseversicherung 1
|
||||
Reiseversicherung 2
|
||||
Reiseversicherung 3
|
||||
Reiseversicherung 4
|
||||
Im Slider anzeigen?
|
||||
Kartentyp
|
||||
Währung der Netto-Preise
|
||||
Position bei Suchergebnissen (Kleinere Wert bedeutet höhere Position)
|
||||
|
||||
--}}
|
||||
55
resources/views/travel/program/_drafts.blade.php
Normal file
55
resources/views/travel/program/_drafts.blade.php
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramDrafts" aria-expanded="false" aria-controls="collapseTravelProgramDrafts">
|
||||
<strong style="line-height: 1.6em">Vorlagen Reiseprogramm (CRM)</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramDrafts">
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Kategorie</th>
|
||||
<th>Wochentage</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->travel_program_drafts as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="{{ $value->id }}"
|
||||
data-travel_class_id="{{ $value->travel_class_id }}"
|
||||
data-draft_id="{{ $value->draft_id }}"
|
||||
data-weekdays="{{ json_encode($value->weekdays) }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->draft->name }}</td>
|
||||
<td>@if( $value->travel_class)
|
||||
{{ $value->travel_class->name }}
|
||||
@else
|
||||
alle Kategorien
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{!! HTMLHelper::getWeekdaysString($value->weekdays) !!}
|
||||
</td>
|
||||
<td><a class="text-danger" href="{{ route('travel_program_draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="new"
|
||||
data-travel_class_id=""
|
||||
data-draft_id=""
|
||||
data-weekdays=""
|
||||
>Neue Vorlage zuordnen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
80
resources/views/travel/program/_general.blade.php
Normal file
80
resources/views/travel/program/_general.blade.php
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramGeneral" aria-expanded="false" aria-controls="collapseTravelProgramGeneral">
|
||||
<strong style="line-height: 1.6em">Allgemein</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramGeneral">
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('aktiv')}}</span>
|
||||
</label>
|
||||
<label class="form-label" for="title">{{ __('Title') }}*</label>
|
||||
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'title', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="subtitle">{{ __('Subtitle') }}*</label>
|
||||
{{ Form::text('subtitle', $program->subtitle, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'subtitle', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_code" class="form-label">{{ __('Programm Code') }}*</label>
|
||||
{{ Form::text('program_code', $program->program_code, array('class'=>'form-control', 'id'=>'program_code', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_type" class="form-label">{{ __('Programtyp') }}*</label>
|
||||
{{ Form::select('program_type', $program::$programTypeTypes , $program->program_type, array('class'=>'custom-select', 'id'=>'program_type', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="category_id" class="form-label">{{ __('Kategorie') }}*</label>
|
||||
{{ Form::select('category_id', $program::$travelCategoryTypes , $program->category_id, array('class'=>'custom-select', 'id'=>'category_id', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_country" class="form-label">{{ __('Reiseland') }}* <a href="{{ route('admin_settings_travel_country') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_country', \App\Services\Model::getSymTravelCountryArray() , $program->travel_country, array('class'=>'custom-select', 'id'=>'travel_country', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_agenda" class="form-label">{{ __('Reiseprogramm') }}* <a href="{{ route('admin_settings_travel_program') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_agenda', \App\Services\Model::getTravelAgendaArray(true) , $program->travel_agenda, array('class'=>'custom-select', 'id'=>'travel_agenda', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_category" class="form-label">{{ __('Reiseart') }}* <a href="{{ route('admin_settings_categories') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_category', \App\Services\Model::getTravelCategoryArray() , $program->travel_category, array('class'=>'custom-select', 'id'=>'travel_category', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-8">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}*</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple required>
|
||||
{!! HTMLHelper::getWeekdaysOptions(false, $program->getWeekdaysArray()) !!}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_company" class="form-label">{{ __('Veranstalter') }}* <a href="{{ route('admin_settings_travel_company') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_company', \App\Services\Model::getTravelCompanyArray() , $program->travel_company, array('class'=>'custom-select', 'id'=>'travel_company', 'required'=>true)) }}
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12">
|
||||
<div class="text-left mt-2">
|
||||
<button type="submit" name="action" value="saveGeneral" class="btn btn-sm btn-secondary">Änderungen speichern</button>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{{--
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<a href="{{route('travel_program_generate_keywords', [$program->id])}}" class="btn btn-xs btn-secondary float-right">generate Keywords</a>
|
||||
<label for="keywords" class="form-label">{{__('Keywords')}}</label>
|
||||
{{ Form::text('keywords', $program->keywords, array('placeholder'=>__('Keyword,Keyword'), 'class'=>'form-control', 'id'=>'keywords')) }}
|
||||
</div>
|
||||
</div>
|
||||
--}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
105
resources/views/travel/program/_modals.blade.php
Normal file
105
resources/views/travel/program/_modals.blade.php
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
|
||||
<div class="modal fade" id="modals-classes">
|
||||
<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="{{$program->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>
|
||||
|
||||
<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="{{$program->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 class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="travel_class_id" class="form-label">{{__('Kategorie')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="travel_class_id">
|
||||
{!! HTMLHelper::getTravelClassOptions($program->id) !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple>
|
||||
{!! HTMLHelper::getWeekdaysOptions($program->id) !!}
|
||||
|
||||
</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-classes').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>
|
||||
|
|
@ -2,317 +2,148 @@
|
|||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
body {
|
||||
}
|
||||
.btn-xs {
|
||||
line-height: 1.3em;
|
||||
}
|
||||
.table tbody + tbody {
|
||||
border-top: 1px solid #9c9c9c;
|
||||
}
|
||||
.table th, .table td {
|
||||
border-top: none;
|
||||
}
|
||||
.table tr.border-none td, .table tr.border-none th {
|
||||
border-top: none;
|
||||
}
|
||||
.table .thead-dark th {
|
||||
color: #4E5155;
|
||||
background-color: rgba(24, 28, 33, 0.1);
|
||||
border-color: rgba(63, 69, 74, 0.1);
|
||||
}
|
||||
|
||||
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
.input-group-text {
|
||||
padding: 0.438rem 0.475rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Programm @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||
Reiseprogramm @if($id == "new") <span class="text-primary">anlegen</span> @else verwalten {{"(ID: ".$id.")"}} @endif
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-default btn-sm">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<ul class="nav nav-sm nav-tabs nav-justified tabs-alt mb-3" id="top-nav-quick-jump">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramGeneral">
|
||||
Allgemein
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramDetails">
|
||||
Details
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramClasses">
|
||||
Klassen
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramDrafts">
|
||||
Vorlagen
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||
|
||||
<!-- draft -->
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('aktiv')}}</span>
|
||||
</label>
|
||||
<label class="form-label" for="program_title">{{ __('Title') }}*</label>
|
||||
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'program_title', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="program_subtitle">{{ __('Subtitle') }}*</label>
|
||||
{{ Form::text('subtitle', $program->subtitle, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'program_subtitle', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
@include('travel.program._general')
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_code" class="form-label">{{ __('Programm Code') }}*</label>
|
||||
{{ Form::text('program_code', $program->program_code, array('class'=>'form-control', 'id'=>'program_code', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_type" class="form-label">{{ __('Programtyp') }}*</label>
|
||||
{{ Form::select('program_type', $program::$programTypeTypes , $program->program_type, array('class'=>'custom-select', 'id'=>'program_type', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="category_id" class="form-label">{{ __('Kategorie') }}*</label>
|
||||
{{ Form::select('category_id', $program::$travelCategoryTypes , $program->category_id, array('class'=>'custom-select', 'id'=>'category_id', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_country" class="form-label">{{ __('Reiseland') }}*</label>
|
||||
{{ Form::select('travel_country', \App\Services\Model::getSymTravelCountryArray() , $program->travel_country, array('class'=>'custom-select', 'id'=>'travel_country', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_agenda" class="form-label">{{ __('Reiseprogramm') }}*</label>
|
||||
{{ Form::select('travel_agenda', \App\Services\Model::getTravelAgendaArray(false) , $program->travel_agenda, array('class'=>'custom-select', 'id'=>'travel_agenda', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_category" class="form-label">{{ __('Reiseart') }}*</label>
|
||||
{{ Form::select('travel_category', \App\Services\Model::getTravelCategoryArray() , $program->travel_category, array('class'=>'custom-select', 'id'=>'travel_category', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-8">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}*</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple required>
|
||||
{!! HTMLHelper::getWeekdaysOptions(false, $program->getWeekdaysArray()) !!}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_company" class="form-label">{{ __('Veranstalter') }}*</label>
|
||||
{{ Form::select('travel_company', \App\Services\Model::getTravelCompanyArray() , $program->travel_company, array('class'=>'custom-select', 'id'=>'travel_company', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
@if($id !== "new" && $program)
|
||||
@include('travel.program._details')
|
||||
@include('travel.program._classes')
|
||||
@include('travel.program._drafts')
|
||||
@endif
|
||||
|
||||
{{--
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<a href="{{route('travel_program_generate_keywords', [$program->id])}}" class="btn btn-xs btn-secondary float-right">generate Keywords</a>
|
||||
<label for="keywords" class="form-label">{{__('Keywords')}}</label>
|
||||
{{ Form::text('keywords', $program->keywords, array('placeholder'=>__('Keyword,Keyword'), 'class'=>'form-control', 'id'=>'keywords')) }}
|
||||
</div>
|
||||
</div>
|
||||
--}}
|
||||
</div>
|
||||
<div class="float-right mt-3">
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
<a href="{{ make_v2_url("/acp/travel_program/show/".$program->id."/") }}" class="btn btn-sm btn-default float-right">{{ __('zurück ins v2 Programm') }}</a>
|
||||
</div>
|
||||
|
||||
<!-- program classes -->
|
||||
<div class="card mb-2">
|
||||
<h6 class="card-header">
|
||||
Eingetragene Kategorien/Klassen
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Standard</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->classes as $value)
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-description="{{ $value->description }}"
|
||||
data-standard="{{ $value->standard }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>@if($value->standard)
|
||||
<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('travel_program_class_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-description=""
|
||||
data-active="1"
|
||||
>Neue Katagorie anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- program classes -->
|
||||
<div class="card mb-2">
|
||||
<h6 class="card-header">
|
||||
Vorlagen Reiseprogramm (CRM)
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Kategorie</th>
|
||||
<th>Wochentage</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->travel_program_drafts as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="{{ $value->id }}"
|
||||
data-travel_class_id="{{ $value->travel_class_id }}"
|
||||
data-draft_id="{{ $value->draft_id }}"
|
||||
data-weekdays="{{ json_encode($value->weekdays) }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->draft->name }}</td>
|
||||
<td>@if( $value->travel_class)
|
||||
{{ $value->travel_class->name }}
|
||||
@else
|
||||
alle Kategorien
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{!! HTMLHelper::getWeekdaysString($value->weekdays) !!}
|
||||
</td>
|
||||
<td><a class="text-danger" href="{{ route('travel_program_draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="new"
|
||||
data-travel_class_id=""
|
||||
data-draft_id=""
|
||||
data-weekdays=""
|
||||
>Neue Vorlage zuordnen</button>
|
||||
</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('travel_programs')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
<a href="{{ make_v2_url("/acp/travel_program/show/".$program->id."/") }}" class="btn btn-default float-right">{{ __('zurück ins v2 Programm') }}</a>
|
||||
</div>
|
||||
|
||||
{!! 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="{{$program->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="{{$program->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 class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="travel_class_id" class="form-label">{{__('Kategorie')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="travel_class_id">
|
||||
{!! HTMLHelper::getTravelClassOptions($program->id) !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple>
|
||||
{!! HTMLHelper::getWeekdaysOptions($program->id) !!}
|
||||
|
||||
</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>
|
||||
@if($id !== "new" && $program)
|
||||
@include('travel.program._modals')
|
||||
@endif
|
||||
|
||||
<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'));
|
||||
$(document).ready(function() {
|
||||
|
||||
var collapseHashValue = null;
|
||||
$('[rel="tooltip"]').tooltip({trigger: "hover", html: true});
|
||||
|
||||
$('#top-nav-quick-jump .nav-link').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
$('#top-nav-quick-jump .nav-link').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
var collapse_id = $(this).data('collapse');
|
||||
//console.log(collapse_id);
|
||||
$(collapse_id).collapse('show');
|
||||
// animate
|
||||
$('html, body').animate({
|
||||
scrollTop: $(collapse_id).parent('.card').offset().top
|
||||
}, 300, function(){
|
||||
// when done, add hash to url
|
||||
// (default click behaviour)
|
||||
window.location.hash = collapse_id;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$('#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'));
|
||||
$(".collapse").on('shown.bs.collapse', function (){
|
||||
if(collapseHashValue){
|
||||
$('a[data-collapse="#'+collapseHashValue+'"]').click();
|
||||
collapseHashValue = null;
|
||||
}
|
||||
CookiesAddJSONValue('travel_program_collapse', $(this).attr('id'));
|
||||
window.location.hash = "#"+$(this).attr('id');
|
||||
|
||||
$('.selectpicker').selectpicker('refresh');
|
||||
});
|
||||
|
||||
$(".collapse").on('hidden.bs.collapse', function (){
|
||||
CookiesRemoveJSONValue('travel_program_collapse', $(this).attr('id'));
|
||||
});
|
||||
|
||||
function init_site(){
|
||||
if(window.location.hash){
|
||||
value = $(window.location.hash).attr('id');
|
||||
if(value){
|
||||
collapseHashValue = value;
|
||||
CookiesAddJSONValue('travel_program_collapse', value);
|
||||
}
|
||||
}
|
||||
var travel_program_collapses = Cookies.get('travel_program_collapse');
|
||||
if (travel_program_collapses != null)
|
||||
{
|
||||
travel_program_collapses = JSON.parse(travel_program_collapses);
|
||||
for (var travel_program_collapse in travel_program_collapses){
|
||||
$("#"+travel_program_collapses[travel_program_collapse]).collapse("show");
|
||||
}
|
||||
}
|
||||
}
|
||||
init_site();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Programme
|
||||
Reiseprogramme
|
||||
</h4>
|
||||
|
||||
<div class="card">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue