Mehrere Tickets 49, 50, 51, 52, 53
This commit is contained in:
parent
ae70577289
commit
e3495be8b8
61 changed files with 1904 additions and 344 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Leistungsträger-Zahlungen
|
||||
Buchungen & Leistungen
|
||||
<a class="btn btn-default btn-sm float-right" href="{{ make_old_url('backend.php') }}" > zurück ins v1 CRM</a>
|
||||
</h4>
|
||||
<div class="card">
|
||||
|
|
@ -11,8 +11,16 @@
|
|||
<div class="ui-bordered px-4 pt-3 mb-0">
|
||||
<div class="form-row align-items-center">
|
||||
|
||||
<div class="col-12 col-md-4 mb-2">
|
||||
<label class="form-label" for="filter_lead_status_id">Filter Status</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="filter_lead_status_id[]" id="filter_lead_status_id" multiple>
|
||||
@foreach($filter_lead_status as $id=>$name)
|
||||
<option value="{{$id}}">{{$name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-4 mb-4">
|
||||
<div class="col-12 col-md-3 mb-2">
|
||||
<label class="form-label">Reisedatum</label>
|
||||
<div class="row">
|
||||
<div class="input-group col-6 pr-0">
|
||||
|
|
@ -31,7 +39,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-4 mb-4">
|
||||
<div class="col-12 col-md-3 mb-2">
|
||||
<label class="form-label">Buchungsdatum</label>
|
||||
<div class="row">
|
||||
<div class="input-group col-6 pr-0">
|
||||
|
|
@ -50,8 +58,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-1 mb-4 mt-4">
|
||||
<a href="{{ route('admin_report_bookings') }}" class="btn icon-btn btn-sm btn-outline-dark float-right">
|
||||
<div class="col-12 mb-4">
|
||||
<a href="{{ route('admin_report_bookings') }}" class="btn icon-btn btn-sm btn-outline-dark">
|
||||
<span class="fa fa-sync"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
|
@ -69,7 +77,8 @@
|
|||
<th>{{__('Organisation')}}</th>
|
||||
<th>{{__('Reisepreis')}}</th>
|
||||
<th>{{__('Erlös')}}</th>
|
||||
<th>{{__('Kunde')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname')}}</th>
|
||||
<th>{{__('Reisedatum')}}</th>
|
||||
<th>{{__('bis')}}</th>
|
||||
<th>{{__('Buchungsdatum')}}</th>
|
||||
|
|
@ -107,6 +116,7 @@
|
|||
d.filter_travel_date_to = $('input[name=filter_travel_date_to]').val();
|
||||
d.filter_booking_date_from = $('input[name=filter_booking_date_from]').val();
|
||||
d.filter_booking_date_to = $('input[name=filter_booking_date_to]').val();
|
||||
d.filter_db_lead_status_id = $('#filter_lead_status_id').val();
|
||||
}
|
||||
},
|
||||
"columns": [
|
||||
|
|
@ -117,13 +127,14 @@
|
|||
{ data: 'price', name: 'price' },
|
||||
{ data: 'price_total', name: 'price_total' },
|
||||
{ data: 'proceeds', name: 'proceeds', orderable: false },
|
||||
{ data: 'customer.fullName', name: 'customer.fullName', orderable: false },
|
||||
{ data: 'customer.firstname', name: 'customer.firstname', orderable: true },
|
||||
{ data: 'customer.name', name: 'customer.name', orderable: true },
|
||||
{ data: 'start_date', name: 'start_date' },
|
||||
{ data: 'end_date', name: 'end_date' },
|
||||
{ data: 'booking_date', name: 'booking_date' },
|
||||
{ data: 'service_provider.names', name: 'service_provider.names', orderable: false },
|
||||
],
|
||||
"order": [[ 10, "desc" ]],
|
||||
"order": [[ 11, "desc" ]],
|
||||
"orderSequence": ["desc", "asc"],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
|
|
@ -137,11 +148,11 @@
|
|||
$('#proceed_total_sum').html(settings.json.proceed_total_sum);
|
||||
}
|
||||
});
|
||||
$('#filter_service_provider_id, #filter_is_cleared, #filter_sort_by').on('change', function(){
|
||||
table.order( [ 10, 'desc' ] ).draw();
|
||||
$('#filter_service_provider_id, #filter_is_cleared, #filter_sort_by, #filter_lead_status_id').on('change', function(){
|
||||
table.order( [ 11, 'desc' ] ).draw();
|
||||
});
|
||||
$('.datepicker-base').on('change', function(){
|
||||
table.order( [ 10, 'desc' ] ).draw();
|
||||
table.order( [ 11, 'desc' ] ).draw();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -10,16 +10,24 @@
|
|||
{!! Form::hidden('order', '[[8, "asc"]]', ['id'=>'order_table']) !!}
|
||||
<div class="ui-bordered px-4 pt-3 mb-0">
|
||||
<div class="form-row align-items-center">
|
||||
<div class="col-12 col-md-4 mb-4">
|
||||
|
||||
<div class="col-12 col-md-4 mb-2">
|
||||
<label class="form-label" for="filter_lead_status_id">Filter Status</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="filter_lead_status_id[]" id="filter_lead_status_id" multiple>
|
||||
@foreach($filter_lead_status as $id=>$name)
|
||||
<option value="{{$id}}">{{$name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-12 col-md-3 mb-2">
|
||||
<label class="form-label" for="filter_service_provider_id">Leistungsträger</label>
|
||||
<select class="custom-select" name="filter_service_provider_id" id="filter_service_provider_id">
|
||||
<option value="">Filter aus</option>
|
||||
@foreach($serviceProviders as $serviceProvider)
|
||||
<option value="{{$serviceProvider->id}}">{{$serviceProvider->name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mb-4">
|
||||
<div class="col-12 col-md-3 mb-2">
|
||||
<label class="form-label">Reisedatum</label>
|
||||
<div class="row">
|
||||
<div class="input-group col-6 pr-0">
|
||||
|
|
@ -37,7 +45,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 col-md-3 mb-4">
|
||||
<div class="col-6 col-md-2 mb-2">
|
||||
<label class="form-label" for="filter_is_cleared">Bezahlt</label>
|
||||
<select class="custom-select" name="filter_is_cleared" id="filter_is_cleared">
|
||||
<option value="">Filter aus</option>
|
||||
|
|
@ -45,8 +53,8 @@
|
|||
<option value="0">Nein</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-md-1 mb-4 mt-4">
|
||||
<a href="{{ route('admin_report_providers') }}" class="btn icon-btn btn-sm btn-outline-dark float-right">
|
||||
<div class="col-12 mb-4">
|
||||
<a href="{{ route('admin_report_providers') }}" class="btn icon-btn btn-sm btn-outline-dark">
|
||||
<span class="fa fa-sync"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
|
@ -59,12 +67,14 @@
|
|||
<tr>
|
||||
<th>SPE ID</th>
|
||||
<th>BuchungsID</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th>{{__('Reiseveranstalter')}}</th>
|
||||
<th>{{__('MyJack Nr.')}}</th>
|
||||
<th>{{__('Organisation')}}</th>
|
||||
<th>{{__('Reisepreis')}}</th>
|
||||
<th>{{__('Erlös')}}</th>
|
||||
<th>{{__('Kunde')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname')}}</th>
|
||||
<th>{{__('Reisedatum')}}</th>
|
||||
<th>{{__('bis')}}</th>
|
||||
<th>{{__('bezahlt')}}</th>
|
||||
|
|
@ -103,22 +113,26 @@
|
|||
d.filter_travel_date_from = $('input[name=filter_travel_date_from]').val();
|
||||
d.filter_travel_date_to = $('input[name=filter_travel_date_to]').val();
|
||||
d.filter_is_cleared = $('select[name=filter_is_cleared]').val();
|
||||
d.filter_db_lead_status_id = $('#filter_lead_status_id').val();
|
||||
}
|
||||
},
|
||||
"columns": [
|
||||
{ data: 'id', name: 'id' },
|
||||
{ data: 'booking.id', name: 'booking.id' },
|
||||
{ data: 'booking.lead.status_id', name: 'booking.lead.status_id', orderable: false, searchable: false },
|
||||
{ data: 'service_provider.name', name: 'service_provider.name', orderable: false },
|
||||
{ data: 'booking.merlin_order_number', name: 'booking.merlin_order_number' },
|
||||
{ data: 'booking.price', name: 'booking.price' },
|
||||
{ data: 'booking.price_total', name: 'booking.price_total' },
|
||||
{ data: 'booking.proceeds', name: 'booking.proceeds', orderable: false },
|
||||
{ data: 'booking.customer.fullName', name: 'booking.customer.fullName' },
|
||||
{ data: 'booking.customer.firstname', name: 'booking.customer.firstname' },
|
||||
{ data: 'booking.customer.name', name: 'booking.customer.name' },
|
||||
|
||||
{ data: 'booking.start_date', name: 'booking.start_date' },
|
||||
{ data: 'booking.end_date', name: 'booking.end_date' },
|
||||
{ data: 'is_cleared', name: 'is_cleared' },
|
||||
],
|
||||
"order": [[ 8, "asc" ]],
|
||||
"order": [[ 10, "asc" ]],
|
||||
"orderSequence": ["desc", "asc"],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
|
|
@ -133,12 +147,11 @@
|
|||
}
|
||||
});
|
||||
|
||||
$('#filter_service_provider_id, #filter_is_cleared, #filter_sort_by').on('change', function(){
|
||||
table.order( [ 8, 'asc' ] ).draw();
|
||||
$('#filter_service_provider_id, #filter_is_cleared, #filter_sort_by, #filter_lead_status_id').on('change', function(){
|
||||
table.order( [ 10, 'asc' ] ).draw();
|
||||
});
|
||||
|
||||
$('.datepicker-base').on('change', function(){
|
||||
table.order( [ 8, 'asc' ] ).draw();
|
||||
table.order( [ 10, 'asc' ] ).draw();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
<div class="card-body row">
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label for="sf_guard_user_id" class="form-label">{{ __('Sachbearbeiter') }}*</label>
|
||||
{{ Form::select('sf_guard_user_id', \App\Services\Model::getSfGuardUserArray() , $booking->sf_guard_user_id, array('class'=>'custom-select', 'id'=>'sf_guard_user_id', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="booking_date">{{ __('Buchungsdatum') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
|
|
@ -19,25 +19,38 @@
|
|||
{{ Form::text('booking_date', _format_date($booking->booking_date), array('placeholder'=>__('Buchungsdatum'), 'class'=>'form-control datepicker-base', 'id'=>'booking_date')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-6">
|
||||
<label class="form-label" for="travel_number">{{ __('Reisenummer') }}</label>
|
||||
{{ Form::text('travel_number', $booking->travel_number, array('placeholder'=>__('Reisenummer'), 'class'=>'form-control', 'id'=>'travel_number')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label for="travel_country_id" class="form-label">{{ __('Reiseland') }}</label>
|
||||
{{ Form::select('travel_country_id', \App\Services\Model::getSymTravelCountryArray(true) , $booking->travel_country_id, array('class'=>'custom-select', 'id'=>'travel_country_id')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="travelagenda_id">{{ __('Reiseprogramm') }}</label>
|
||||
{{ Form::select('travelagenda_id', \App\Services\Model::getTravelAgendaArray(true, $booking->travel_country_id) , $booking->travelagenda_id, array('class'=>'custom-select', 'id'=>'travelagenda_id')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="travel_category_id">{{ __('Reiseart') }}</label>
|
||||
{{ Form::select('travel_category_id', \App\Services\Model::getTravelCategoryArray(true) , $booking->travel_category_id, array('class'=>'custom-select', 'id'=>'travel_category_id')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="travel_comfort">{{ __('Kategorie') }}</label>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('travel_comfort', 1, $booking->comfort, ['class'=>'custom-control-input', 'id'=>'travel_comfort']) !!}
|
||||
<span class="custom-control-label">Komfort</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label for="airline_ids" class="form-label">{{ __('Airline:s') }}</label>
|
||||
{{ Form::select('airline_ids[]', \App\Models\Airline::getAsNameIdArray() , $booking->airline_ids, array('class'=>'selectpicker', 'id'=>'airline_ids', 'data-style'=>"btn-default", 'multiple')) }}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="start_date">{{ __('Aufenthalt vom') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
|
|
@ -46,7 +59,7 @@
|
|||
{{ Form::text('start_date', _format_date($booking->start_date), array('placeholder'=>__('Aufenthalt vom'), 'class'=>'form-control datepicker-base', 'id'=>'start_date')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="end_date">{{ __('Aufenthalt bis') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
|
|
@ -55,16 +68,16 @@
|
|||
{{ Form::text('end_date', _format_date($booking->end_date), array('placeholder'=>__('Aufenthalt bis'), 'class'=>'form-control datepicker-base', 'id'=>'end_date')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label class="form-label" for="title">{{ __('Reisetitel') }}</label>
|
||||
{{ Form::text('title', $booking->title, array('placeholder'=>__('Reisetitel'), 'class'=>'form-control', 'id'=>'title')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="pax">{{ __('Pax') }}</label>
|
||||
{{ Form::select('pax', range(0, 80) , $booking->pax, array('class'=>'custom-select', 'id'=>'pax')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="title">{{ __('Reisetitel') }}</label>
|
||||
{{ Form::text('title', $booking->title, array('placeholder'=>__('Reisetitel'), 'class'=>'form-control', 'id'=>'title')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="travel_documents">{{ __('Reiseunterlagen') }}</label>
|
||||
{{ Form::select('travel_documents', [0=>'nicht vollständig', 1=>'vollständig'], $booking->travel_documents, array('class'=>'custom-select', 'id'=>'travel_documents')) }}
|
||||
|
|
@ -122,14 +135,6 @@
|
|||
<label class="form-label" for="hold">{{ __('Hold') }}</label>
|
||||
{{ Form::select('hold', \App\Models\Booking::$hold_types , $booking->hold, array('class'=>'custom-select', 'id'=>'hold' )) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="airline_id">{{ __('Airline') }}</label>
|
||||
{{ Form::select('airline_id', \App\Models\Airline::getAsNameIdArray() , $booking->airline_id, array('class'=>'custom-select', 'id'=>'airline_id' )) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="filekey">{{ __('Filekey') }}</label>
|
||||
{{ Form::text('filekey', $booking->filekey, array('placeholder'=>__('Filekey'), 'class'=>'form-control', 'id'=>'filekey')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for=""> </label>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
|
|
@ -137,6 +142,10 @@
|
|||
<span class="custom-control-label">{{__('Rail & Fly')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="filekey">{{ __('Filekey') }}</label>
|
||||
{{ Form::text('filekey', $booking->filekey, array('placeholder'=>__('Filekey'), 'class'=>'form-control', 'id'=>'filekey')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-3">
|
||||
<label class="form-label" for="lawyer_date">{{ __('Anwaltsfrist') }}</label>
|
||||
<div class="input-group">
|
||||
|
|
|
|||
|
|
@ -301,7 +301,6 @@
|
|||
</div>
|
||||
|
||||
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
|
||||
data-target="#modals-load-content"
|
||||
data-id="new-file"
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<th>Nachname</th>
|
||||
<th>Geburtsdatum</th>
|
||||
<th>Nationalität</th>
|
||||
<th>Pass</th>
|
||||
<th>Kind</th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
|
|
@ -37,7 +38,10 @@
|
|||
{{ Form::select('nationality_id', \App\Services\Model::getTravelNationalityArray(false) , $booking->nationality_id, array('class'=>'custom-select', 'id'=>'nationality_id')) }}
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('participant_pass', 1, $booking->participant_pass, ['class'=>'custom-control-input', 'id'=>'participant_pass']) !!}
|
||||
<span class="custom-control-label"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
|
|
@ -65,6 +69,12 @@
|
|||
{{ Form::select('participant['.$item->id.'][nationality_id]', \App\Services\Model::getTravelNationalityArray(false) , $item->nationality_id, array('class'=>'custom-select', 'id'=>'participant_'.$item->id.'_nationality_id')) }}
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('participant['.$item->id.'][participant_pass]', 1, $item->participant_pass, ['class'=>'custom-control-input', 'id'=>'participant_'.$item->id.'_participant_pass']) !!}
|
||||
<span class="custom-control-label"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('participant['.$item->id.'][participant_child]', 1, $item->participant_child, ['class'=>'custom-control-input', 'id'=>'participant_'.$item->id.'_participant_child']) !!}
|
||||
|
|
|
|||
|
|
@ -129,7 +129,6 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
189
resources/views/cms/booking/all/detail.blade.php
Executable file
189
resources/views/cms/booking/all/detail.blade.php
Executable file
|
|
@ -0,0 +1,189 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
/* body {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}*/
|
||||
.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);
|
||||
}
|
||||
|
||||
.input-group-text {
|
||||
padding: 0.438rem 0.475rem;
|
||||
}
|
||||
|
||||
.note-editing-area {
|
||||
border-radius: 0.25rem;
|
||||
border: 1px solid rgba(24, 28, 33, 0.1);
|
||||
padding: 0.438rem 0.875rem;
|
||||
color: #4E5155;
|
||||
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.note-editor.note-frame .note-editing-area .note-editable, .note-editor.note-airframe .note-editing-area .note-editable {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.note-editor.note-frame .note-editing-area:focus-within , .note-editor.note-airframe .note-editing-area:focus-within {
|
||||
border-color: #648859;
|
||||
}
|
||||
.note-editing-area .note-editable li {
|
||||
margin-bottom:0.5rem;
|
||||
}
|
||||
.note-editor.note-airframe .note-placeholder {
|
||||
padding: 0;
|
||||
}
|
||||
.draft_item_tbody .form-control {
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Buchnungen PDF Vorlage / {{ $general_name->name }}
|
||||
<div class="float-right">
|
||||
<a href="{{ route('cms_booking_all') }}" class="btn btn-default btn-sm">zurück</a>
|
||||
</div>
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="card">
|
||||
{!! Form::open(['url' => route('cms_booking_all_detail', [$general_name->id]), 'class' => 'form-horizontal']) !!}
|
||||
@if(count($contents))
|
||||
@php($i = 1)
|
||||
<div class="table-responsive mb-4">
|
||||
<table class="table mb-0" id="table_dragula_tbody" style="min-width: 1080px">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th style="width: 1em"></th>
|
||||
<th style="width: 1em">#</th>
|
||||
<th>Abschnitte</th>
|
||||
<th style="width: 8em">#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach($contents as $content)
|
||||
<tbody class="draft_item_tbody">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span>
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
{{ Form::text('contents['.$content->id.'][name]', $content->name, array('placeholder'=>__('Abschnitt*'), 'class'=>'form-control', 'id'=>'contents_'.$content->id.'_name', 'required')) }}
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" name="" value="up_{{$content->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$content->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('cms_booking_all_delete', [$content->id, 'item']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-none">
|
||||
<td colspan="2" style="vertical-align: bottom">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-secondary btn-sm" title="speichern"><i class="ion ion-ios-save"></i></button>
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::textarea('contents['.$content->id.'][full_text]', $content->getContent(), array('class'=>'form-control autoExpand summernote-air', 'id'=>'contents_'.$content->id.'_name', 'rows'=>'1', 'data-min-rows'=>'1')) }}
|
||||
</td>
|
||||
<td>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][in_pdf]', 1, ($content->decimal > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('in PDF')}}</span>
|
||||
</label>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][page-break]', 1, ($content->getObjectBy('page-break') > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label" style="white-space: nowrap;">{{__('Neue Seite')}}</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endforeach
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4"></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="text-left mt-3 m-2">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> Neuen Abschnitt hinzufügen</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$.dragYScroll();
|
||||
var sort_item_pos_number = function(){
|
||||
var index = 1;
|
||||
$('#table_dragula_tbody .draft_item_tbody').each(function () {
|
||||
$(this).find('.item_pos_number').html(index);
|
||||
$(this).data('rowPosition', index);
|
||||
index++;
|
||||
});
|
||||
};
|
||||
$(function() {
|
||||
// Drag handle
|
||||
var sortableItems = dragula([$('#table_dragula_tbody')[0]], {
|
||||
moves: function (el, container, handle) {
|
||||
return handle.classList.contains('handle');
|
||||
}
|
||||
});
|
||||
sortableItems.on('dragend', function() {
|
||||
//sort new
|
||||
sort_item_pos_number();
|
||||
});
|
||||
});
|
||||
$('table .move-up-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var prevRow = thisRow.prev();
|
||||
if (prevRow.length) {
|
||||
prevRow.before(thisRow);
|
||||
sort_item_pos_number()
|
||||
|
||||
}
|
||||
});
|
||||
$('table .move-down-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var nextRow = thisRow.next();
|
||||
if (nextRow.length) {
|
||||
nextRow.after(thisRow);
|
||||
sort_item_pos_number()
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
113
resources/views/cms/booking/all/index.blade.php
Executable file
113
resources/views/cms/booking/all/index.blade.php
Executable file
|
|
@ -0,0 +1,113 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Buchnungen PDF Vorlagen
|
||||
</h4>
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-feedbacks table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($values as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<a href="{{ route('cms_booking_all_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
{{ $value->name }}
|
||||
<a href="#" class="text-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="text-danger" href="{{ route('cms_booking_all_delete', [$value->id, 'name']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="ml-3 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
>Neue PDF Vorlage anlegen</button>
|
||||
</div>
|
||||
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('cms_booking_all_detail') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Buchnungen PDF Vorlagen <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>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary" name="action" value="newOrSaveName" >{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$('#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'));
|
||||
});
|
||||
|
||||
$( document ).ready(function() {
|
||||
$('.datatables-feedbacks').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
</div>
|
||||
@endsection
|
||||
249
resources/views/cms/booking/content/detail.blade.php
Executable file
249
resources/views/cms/booking/content/detail.blade.php
Executable file
|
|
@ -0,0 +1,249 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
/* body {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}*/
|
||||
.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);
|
||||
}
|
||||
|
||||
.input-group-text {
|
||||
padding: 0.438rem 0.475rem;
|
||||
}
|
||||
|
||||
.note-editing-area {
|
||||
border-radius: 0.25rem;
|
||||
border: 1px solid rgba(24, 28, 33, 0.1);
|
||||
padding: 0.438rem 0.875rem;
|
||||
color: #4E5155;
|
||||
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.note-editor.note-frame .note-editing-area .note-editable, .note-editor.note-airframe .note-editing-area .note-editable {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.note-editor.note-frame .note-editing-area:focus-within , .note-editor.note-airframe .note-editing-area:focus-within {
|
||||
border-color: #648859;
|
||||
}
|
||||
.note-editing-area .note-editable li {
|
||||
margin-bottom:0.5rem;
|
||||
}
|
||||
.note-editor.note-airframe .note-placeholder {
|
||||
padding: 0;
|
||||
}
|
||||
.draft_item_tbody .form-control {
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Buchnungen PDF Inhalte / {{ $content_name->name }}
|
||||
<div class="float-right">
|
||||
<a href="{{ route('cms_booking_content') }}" class="btn btn-default btn-sm">zurück</a>
|
||||
</div>
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="card">
|
||||
{!! Form::open(['url' => route('cms_booking_content_detail', [$content_name->id]), 'class' => 'form-horizontal', 'id'=>'booking-content-detail-form']) !!}
|
||||
{{ Form::hidden('content_pos_id', '') }}
|
||||
{{ Form::hidden('action', '') }}
|
||||
|
||||
@if(count($contents))
|
||||
@php($i = 1)
|
||||
|
||||
<div class="table-responsive mb-4">
|
||||
<table class="table mb-0" id="table_dragula_tbody" style="min-width: 1080px">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th style="width: 1em"></th>
|
||||
<th style="width: 1em">#</th>
|
||||
<th>Abschnitte</th>
|
||||
<th style="width: 8em">#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach($contents as $content)
|
||||
@if($content->decimal > 0)
|
||||
<tbody class="draft_item_tbody">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="ion ion-ios-lock d-inline-block bg-dark text-white p-1 px-2"></span>
|
||||
{{-- <span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span> --}}
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
{{ Form::text('contents['.$content->id.'][name]', $content->name, array('placeholder'=>__('Abschnitt*'), 'class'=>'form-control', 'id'=>'contents_'.$content->id.'_name', 'readonly')) }}
|
||||
{{ Form::hidden('contents['.$content->id.'][identifier]', $identifier_general) }}
|
||||
</td>
|
||||
<td>
|
||||
{{--
|
||||
<button type="button" name="" value="up_{{$content->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$content->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('cms_fewo_all_delete', [$content->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
--}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-none">
|
||||
<td colspan="2" style="vertical-align: bottom">
|
||||
<button type="button" name="action" value="addItem" class="btn btn-xs btn-primary btn-add-item" title="Abschnitt hinzufügen" data-pos-id="{{$content->id}}"><i class="fa fa-plus"></i> <i class="fa fa-arrow-down"></i></button>
|
||||
</td>
|
||||
<td>
|
||||
<div class="note-editing-area readonly">
|
||||
{!! $content->getContent() !!}
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{{-- --}}
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][in_pdf]', 1, ($content->decimal > 0), ['class'=>'custom-control-input', 'disabled']) !!}
|
||||
<span class="custom-control-label">{{__('in PDF')}}</span>
|
||||
</label>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][page-break]', 1, ($content->getObjectBy('page-break') > 0), ['class'=>'custom-control-input', 'disabled']) !!}
|
||||
<span class="custom-control-label" style="white-space: nowrap;">{{__('Neue Seite')}}</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@endif
|
||||
@if($booking_contents = \App\Services\Booking::getBookingCMSContent($content, $identifier_content))
|
||||
@foreach($booking_contents as $content)
|
||||
<tbody class="draft_item_tbody">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span>
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
{{ Form::text('contents['.$content->id.'][name]', $content->name, array('placeholder'=>__('Abschnitt*'), 'class'=>'form-control', 'id'=>'contents_'.$content->id.'_name', 'required')) }}
|
||||
{{ Form::hidden('contents['.$content->id.'][identifier]', $identifier_content) }}
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" name="" value="up_{{$content->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$content->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('cms_booking_content_delete', [$content->id, 'item']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-none">
|
||||
<td colspan="2" style="vertical-align: bottom">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-secondary btn-sm" title="speichern"><i class="ion ion-ios-save"></i></button>
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::textarea('contents['.$content->id.'][full_text]', $content->getContent(), array('class'=>'form-control autoExpand summernote-air', 'id'=>'contents_'.$content->id.'_name', 'rows'=>'1', 'data-min-rows'=>'1')) }}
|
||||
</td>
|
||||
<td>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][in_pdf]', 1, ($content->decimal > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('in PDF')}}</span>
|
||||
</label>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][page-break]', 1, ($content->getObjectBy('page-break') > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label" style="white-space: nowrap;">{{__('Neue Seite')}}</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4"></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="text-left mt-3 m-2">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="previewPDF" class="btn btn-sm btn-info"><i class="fa fa-file-pdf"></i> Vorschau PDF</button>
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('.btn-add-item').on('click', function () {
|
||||
$('input[name=content_pos_id]').val($(this).data('pos-id'));
|
||||
$('input[name=action]').val('addItem');
|
||||
$("#booking-content-detail-form").submit();
|
||||
});
|
||||
$.dragYScroll();
|
||||
var sort_item_pos_number = function(){
|
||||
var index = 1;
|
||||
$('#table_dragula_tbody .draft_item_tbody').each(function () {
|
||||
$(this).find('.item_pos_number').html(index);
|
||||
$(this).data('rowPosition', index);
|
||||
index++;
|
||||
});
|
||||
};
|
||||
$(function() {
|
||||
// Drag handle
|
||||
var sortableItems = dragula([$('#table_dragula_tbody')[0]], {
|
||||
moves: function (el, container, handle) {
|
||||
return handle.classList.contains('handle');
|
||||
}
|
||||
});
|
||||
sortableItems.on('dragend', function() {
|
||||
//sort new
|
||||
sort_item_pos_number();
|
||||
});
|
||||
});
|
||||
$('table .move-up-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var prevRow = thisRow.prev();
|
||||
if (prevRow.length) {
|
||||
prevRow.before(thisRow);
|
||||
sort_item_pos_number()
|
||||
|
||||
}
|
||||
});
|
||||
$('table .move-down-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var nextRow = thisRow.next();
|
||||
if (nextRow.length) {
|
||||
nextRow.after(thisRow);
|
||||
sort_item_pos_number()
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
124
resources/views/cms/booking/content/index.blade.php
Executable file
124
resources/views/cms/booking/content/index.blade.php
Executable file
|
|
@ -0,0 +1,124 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Buchnungen PDF Inhalte
|
||||
</h4>
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-feedbacks table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Vorlage')}}</th>
|
||||
<th>{{__('')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($values as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<a href="{{ route('cms_booking_content_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
{{ $value->name }}
|
||||
<a href="#" class="text-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-general_id="{{ $value->getObjectBy('general_id') }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>{{ \App\Services\Model::getCMSContentGeneralNameById($value->getObjectBy('general_id')) }}</td>
|
||||
<td>
|
||||
<a class="text-danger" href="{{ route('cms_booking_content_delete', [$value->id, 'name']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="ml-3 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-general_id=""
|
||||
>Neue PDF Vorlage anlegen</button>
|
||||
</div>
|
||||
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('cms_booking_content_detail') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Buchnungen PDF Inhalte <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-group">
|
||||
<label for="general_id" class="form-label">{{__('Vorlage')}}*</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="general_id" data-live-search="true" required>
|
||||
{!! HTMLHelper::getCMSContentOptions($identifier_general_name, false, false) !!}
|
||||
</select>
|
||||
<i>Ein PDF Inhalt benötigt eine Vorlage mit min einen Eintrag.</i>
|
||||
</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" name="action" value="newOrSaveName" >{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$('#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 select[name='general_id']").val(button.data('general_id'));
|
||||
$('.selectpicker').selectpicker('refresh');
|
||||
});
|
||||
|
||||
$( document ).ready(function() {
|
||||
$('.datatables-feedbacks').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -206,7 +206,6 @@
|
|||
<div class="float-right">
|
||||
<button type="submit" name="action" value="previewPDF" class="btn btn-sm btn-info"><i class="fa fa-file-pdf"></i> Vorschau PDF</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="mail_from" class="form-label">E-Mail von:</label>
|
||||
{{ Form::text('mail_from', $value->booking->customer ? $value->booking->customer->email : '', array('placeholder'=>'E-Mail Adresse von', 'id'=>'mail_from', 'class'=>'form-control', 'required')) }}
|
||||
{{ Form::text('mail_from', isset($value->replay_email) ? $value->replay_email : '', array('placeholder'=>'E-Mail Adresse von', 'id'=>'mail_from', 'class'=>'form-control', 'required')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
|
|
@ -156,20 +156,26 @@
|
|||
<span class="ql-formats">
|
||||
<select class="ql-align"></select>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-link"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<span class="ql-formats">
|
||||
<select class="ql-placeholder">
|
||||
{!! \App\Services\Placeholder::getBookingOptions() !!}
|
||||
</select>
|
||||
</span>
|
||||
|
||||
@if(isset($value->booking))
|
||||
<span class="ql-formats">
|
||||
<button class="ql-preview" id="open_modal_quill_preview"
|
||||
data-route="{{ route('customer_mail_ajax') }}"
|
||||
data-booking_id="{{ $value->booking->id }}"
|
||||
data-action="load_preview_mail"><i class="fa fa-eye"></i></button>
|
||||
</span>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
<div id="message-editor" style="height: 400px">{!! $value->message !!}</div>
|
||||
{{ Form::textarea('message', $value->message, array('placeholder'=>$value->m_placeholder, 'id'=>'message-editor-fallback', 'class'=>'form-control d-none', 'rows'=>15)) }}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@include('customer.mail.modal-show-mail-inner', ['customer_mail' => $customer_mail, 'show_move_dirs' => true])
|
||||
@include('customer.mail.modal-show-mail-inner', ['customer_mail' => $customer_mail, 'show_move_dirs' => $value->show_move_dirs])
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
|
|
|||
|
|
@ -317,6 +317,18 @@
|
|||
|
||||
});
|
||||
|
||||
$('.summernote-exsmall').summernote({
|
||||
height: 100,
|
||||
tabsize: 2,
|
||||
followingToolbar: true,
|
||||
toolbar: [
|
||||
['font', ['bold', 'italic', 'underline', 'clear']],
|
||||
['para', ['ul', 'ol']],
|
||||
['insert', ['link', 'hr']],
|
||||
['view', ['fullscreen', 'codeview']],
|
||||
],
|
||||
});
|
||||
|
||||
$('.summernote-air').summernote({
|
||||
airMode: true,
|
||||
lang: 'de-DE',
|
||||
|
|
|
|||
|
|
@ -211,6 +211,22 @@
|
|||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-book'))
|
||||
<li class="sidenav-item{{ Request::is('cms/booking/*') ? ' open' : '' }}">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-bed"></i>
|
||||
<div>Buchungen</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is(['cms/booking/all', 'cms/booking/all/*']) ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_booking_all') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>PDF Vorlagen</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is(['cms/booking/content', 'cms/booking/content/*']) ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_booking_content') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-paper"></i><div>PDF Inhalte</div></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-fewo'))
|
||||
<li class="sidenav-item{{ Request::is('cms/fewo/*') ? ' open' : '' }}">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
|
|
@ -219,7 +235,7 @@
|
|||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is(['cms/fewo/all', 'cms/fewo/all/*']) ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_fewo_all') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>FeWo Allgemein</div></a>
|
||||
<a href="{{ route('cms_fewo_all') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>FeWo Vorlage</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is(['cms/fewo/content', 'cms/fewo/content/*']) ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_fewo_content') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-paper"></i><div>FeWo Inhalte</div></a>
|
||||
|
|
|
|||
|
|
@ -100,8 +100,9 @@
|
|||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="mail_from" class="form-label">E-Mail von:</label>
|
||||
{{ Form::text('mail_from', $value->lead->customer ? $value->lead->customer->email : '', array('placeholder'=>'E-Mail Adresse von', 'id'=>'mail_from', 'class'=>'form-control', 'required')) }}
|
||||
{{ Form::text('mail_from', isset($value->replay_email) ? $value->replay_email : '', array('placeholder'=>'E-Mail Adresse von', 'id'=>'mail_from', 'class'=>'form-control', 'required')) }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
|
|
@ -148,6 +149,9 @@
|
|||
<span class="ql-formats">
|
||||
<select class="ql-align"></select>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-link"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
|
|
@ -215,20 +219,20 @@
|
|||
<div class="col-sm-6">
|
||||
<label for="subdir" class="form-label"> </label>
|
||||
{{-- TODO load subdirs by pos id --}}
|
||||
{{-- @if(isset($value->booking))
|
||||
@foreach(\App\Services\Booking::getCustomerMailDirs() as $lead_mail_dir)
|
||||
@if(isset($value->lead) && $value->lead->travel_country)
|
||||
@foreach(\App\Services\Lead::getCustomerMailDirs() as $lead_mail_dir)
|
||||
@if($lead_mail_dir->pos > 0)
|
||||
<select class="custom-select send_mail_subdir" name="subdir" id="send_mail_subdir_{{$lead_mail_dir->pos}}">
|
||||
<option value="0">keinen Unterordner</option>
|
||||
@foreach($value->booking->travel_country->getMailDirs($lead_mail_dir->pos) as $mail_dir_id)
|
||||
@php ($mail_dir_name = \App\Services\Booking::getCustomerMailName($lead_mail_dir, $mail_dir_id))
|
||||
<option value="{{$mail_dir_id}}" @if($value->customer_mail_subdir == $mail_dir_id) selected @endif>{{$mail_dir_name}}</option>
|
||||
@endforeach
|
||||
@foreach($value->lead->travel_country->getMailDirs($lead_mail_dir->pos) as $mail_dir_id)
|
||||
@php ($mail_dir_name = \App\Services\Lead::getCustomerMailName($lead_mail_dir, $mail_dir_id))
|
||||
<option value="{{$mail_dir_id}}" @if($value->lead_mail_subdir == $mail_dir_id) selected @endif>{{$mail_dir_name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
--}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -100,7 +100,6 @@
|
|||
</div>
|
||||
<div class="col-sm-6">
|
||||
<button type="submit" class="btn btn-xs btn-default float-right mt-1"><i class="ion ion-ios-redo"></i> verschieben</button>
|
||||
|
||||
<label for="subdir" class="form-label"> </label>
|
||||
@if($lead_mail->lead->travel_country)
|
||||
@foreach(\App\Services\Lead::getCustomerMailDirs() as $lead_mail_dir)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@include('lead.modal-show-mail-inner', ['lead_mail' => $lead_mail, 'show_move_dirs' => true])
|
||||
@include('lead.modal-show-mail-inner', ['lead_mail' => $lead_mail, 'show_move_dirs' => $value->show_move_dirs])
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th style="max-width: 60px;"><i class="fa fa-eye"></i></th>
|
||||
<th>{{__('BuchungID')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname')}}</th>
|
||||
|
|
@ -32,6 +33,7 @@
|
|||
"order": [[ 8, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'action_edit', orderable: false, searchable: false},
|
||||
{ data: 'action_see', orderable: false, searchable: false},
|
||||
{ data: 'booking_id', name: 'booking_id' },
|
||||
{ data: 'customer.firstname', name: 'customer.firstname' },
|
||||
{ data: 'customer.name', name: 'customer.name' },
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th style="max-width: 60px;"><i class="fa fa-eye"></i></th>
|
||||
<th>{{__('BuchnungID')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname')}}</th>
|
||||
|
|
@ -32,6 +33,7 @@
|
|||
"order": [[ 8, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'action_edit', orderable: false, searchable: false},
|
||||
{ data: 'action_see', orderable: false, searchable: false},
|
||||
{ data: 'booking_id', name: 'booking_id' },
|
||||
{ data: 'customer.first_name', name: 'customer.first_name' },
|
||||
{ data: 'customer.last_name', last_name: 'customer.name' },
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th style="max-width: 60px;"><i class="fa fa-eye"></i></th>
|
||||
<th>{{__('AnfrageID')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname')}}</th>
|
||||
|
|
@ -31,6 +32,7 @@
|
|||
"order": [[ 7, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'action_edit', orderable: false, searchable: false},
|
||||
{ data: 'action_see', orderable: false, searchable: false},
|
||||
{ data: 'lead_id', name: 'lead_id' },
|
||||
{ data: 'customer.firstname', name: 'customer.firstname' },
|
||||
{ data: 'customer.name', name: 'customer.name' },
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
{{ __('Anfragen') }}
|
||||
{{ __('Buchungen') }}
|
||||
</h4>
|
||||
|
||||
<div class="card">
|
||||
|
|
@ -140,15 +140,12 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="form-row align-items-center">
|
||||
<div class="col-5 col-sm-2 mb-2">
|
||||
<label class="form-label">AnfrageID</label>
|
||||
<input class="form-control full_search" name="full_lead_id_search" placeholder="suche" type="text" value="">
|
||||
</div>
|
||||
<div class="col-6 col-sm-3 mb-2">
|
||||
|
||||
<div class="col-6 col-md-3 mb-2">
|
||||
<label class="form-label">Vorname</label>
|
||||
<input class="form-control full_search" name="full_firstname_search" placeholder="suche" type="text" value="">
|
||||
</div>
|
||||
<div class="col-6 col-sm-3 mb-2">
|
||||
<div class="col-6 col-md-3 mb-2">
|
||||
<label class="form-label">Nachname</label>
|
||||
<input class="form-control full_search" name="full_lastname_search" placeholder="suche" type="text" value="">
|
||||
</div>
|
||||
|
|
@ -157,6 +154,15 @@
|
|||
<label class="form-label">BuchungsID</label>
|
||||
<input class="form-control full_search" name="full_booking_id_search" placeholder="suche" type="text" value="">
|
||||
</div>
|
||||
<div class="col-5 col-sm-2 mb-2">
|
||||
<label class="form-label" for="sort_sf_guard_user_id">Filter Sachbearbeiter</label>
|
||||
<select class="custom-select" name="sort_sf_guard_user_id" id="sort_sf_guard_user_id">
|
||||
<option value="">Filter aus</option>
|
||||
@foreach($filter_sf_guard_user as $id=>$name)
|
||||
<option value="{{$id}}">{{$name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2 col-sm-2 mb-2 mt-4">
|
||||
<a href="{{ route('requests') }}" class="btn icon-btn btn-sm btn-outline-dark float-right">
|
||||
<span class="fa fa-sync"></span>
|
||||
|
|
@ -169,18 +175,15 @@
|
|||
<input type="hidden" name="sort_travel_country_id" value="">
|
||||
<input type="hidden" name="sort_travelagenda_id" value="">
|
||||
<input type="hidden" name="sort_travel_documents" value="">
|
||||
<input type="hidden" name="sort_sf_guard_user_id" value="">
|
||||
<input type="hidden" name="sort_lead_status_id" value="">
|
||||
|
||||
<table id="datatables-requests" class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 10px;"> </th>
|
||||
<th>{{__('AnfrageID')}}</th>
|
||||
<th>{{__('BuchungsID')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname')}}</th>
|
||||
<th style="max-width: 10px;"> </th>
|
||||
<th>{{__('BuchungsID')}}</th>
|
||||
<th>{{__('Reiseland')}}</th>
|
||||
<th>{{__('Programm')}}</th>
|
||||
<th>{{__('Komfort')}}</th>
|
||||
|
|
@ -190,8 +193,9 @@
|
|||
<th>{{__('Abreise')}}</th>
|
||||
<th>{{__('U.')}}</th>
|
||||
<th>{{__('L.')}}</th>
|
||||
<th>{{__('P.')}}</th>
|
||||
<th>{{__('N.')}}</th>
|
||||
<th>{{__('Sachbearbeiter')}}</th>
|
||||
<th>{{__('Sb.')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th>{{__('E-Mail')}}</th>
|
||||
<th>{{__('K-Wunsch')}}</th>
|
||||
|
|
@ -238,7 +242,7 @@
|
|||
d.sort_travel_country_id = $('input[name=sort_travel_country_id]').val();
|
||||
d.sort_travelagenda_id = $('input[name=sort_travelagenda_id]').val();
|
||||
d.sort_travel_documents = $('input[name=sort_travel_documents]').val();
|
||||
d.sort_sf_guard_user_id = $('input[name=sort_sf_guard_user_id]').val();
|
||||
d.sort_sf_guard_user_id = $('select[name=sort_sf_guard_user_id]').val();
|
||||
d.sort_lead_status_id = $('input[name=sort_lead_status_id]').val();
|
||||
d.full_firstname_search = $('input[name=full_firstname_search]').val();
|
||||
d.full_lastname_search = $('input[name=full_lastname_search]').val();
|
||||
|
|
@ -257,12 +261,10 @@
|
|||
}
|
||||
},
|
||||
"columns": [
|
||||
{ data: 'action_lead_edit', orderable: false, searchable: false},
|
||||
{ data: 'lead_id', name: 'lead_id' },
|
||||
{ data: 'customer.firstname', name: 'customer.firstname' },
|
||||
{ data: 'customer.name', name: 'customer.name' },
|
||||
{ data: 'action_booking_edit', orderable: false, searchable: false},
|
||||
{ data: 'id', name: 'id' },
|
||||
{ data: 'customer.firstname', name: 'customer.firstname' },
|
||||
{ data: 'customer.name', name: 'customer.name' },
|
||||
{ data: 'travel_country_id', name: 'travel_country_id', orderable: false },
|
||||
{ data: 'travelagenda_id', name: 'travelagenda_id', orderable: false },
|
||||
{ data: 'comfort', name: 'comfort', orderable: true },
|
||||
|
|
@ -271,13 +273,14 @@
|
|||
{ data: 'end_date', name: 'end_date' },
|
||||
{ data: 'travel_documents', name: 'travel_documents', orderable: false },
|
||||
{ data: 'booking_services', name: 'booking_services', orderable: false },
|
||||
{ data: 'booking_participants_pass', name: 'booking_participants_pass', orderable: false },
|
||||
{ data: 'booking_notice', name: 'booking_notice', orderable: false },
|
||||
{ data: 'sf_guard_user_id', name: 'sf_guard_user_id', orderable: false },
|
||||
{ data: 'lead.status_id', name: 'lead.status_id', orderable: false },
|
||||
{ data: 'last_customer_email', name: 'last_customer_email', orderable: true },
|
||||
{ data: 'paying_out', name: 'paying_out' },
|
||||
{ data: 'paying_out_status', name: 'paying_out_status' },
|
||||
{ data: 'airline_id', name: 'airline_id' },
|
||||
{ data: 'airline_ids', name: 'airline_ids', orderable: false },
|
||||
{ data: 'refund', name: 'refund' },
|
||||
{ data: 'hold', name: 'hold' },
|
||||
{ data: 'xx_tkt', name: 'xx_tkt' },
|
||||
|
|
@ -285,7 +288,7 @@
|
|||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"orderSequence": ["desc", "asc"],
|
||||
"order": [[ 5, "desc" ]],
|
||||
"order": [[ 1, "desc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
},
|
||||
|
|
@ -308,7 +311,7 @@
|
|||
}
|
||||
} );
|
||||
} );*/
|
||||
this.api().columns(15).every( function () {
|
||||
/*this.api().columns(14).every( function () {
|
||||
var column = this;
|
||||
var title = $(column.header()).html();
|
||||
var select = $('<select class="selectpicker"><option value="">'+title+'</option></select>')
|
||||
|
|
@ -325,7 +328,7 @@
|
|||
}
|
||||
}
|
||||
} );
|
||||
} );
|
||||
} );*/
|
||||
/* this.api().columns(12).every( function () {
|
||||
var column = this;
|
||||
var title = $(column.header()).html();
|
||||
|
|
@ -467,7 +470,9 @@
|
|||
$('#travel_option_airline_id').on('change', function(){
|
||||
table.draw();
|
||||
});
|
||||
|
||||
$('#sort_sf_guard_user_id').on('change', function(){
|
||||
table.draw();
|
||||
});
|
||||
$('#travel_option_paying_out').on('change', function(){
|
||||
table.draw();
|
||||
});
|
||||
|
|
|
|||
71
resources/views/settings/airline/detail.blade.php
Normal file
71
resources/views/settings/airline/detail.blade.php
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
{!! Form::open(['url' => route('admin_settings_airline_update', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Airline Inhalte
|
||||
<div class="float-right">
|
||||
<a href="{{route('admin_settings_airline')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
</div>
|
||||
</h4>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="name">{{ __('Kürzel') }} *</label>
|
||||
{{ Form::text('name', $model->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="name_full">{{ __('Name') }} *</label>
|
||||
{{ Form::text('name_full', $model->name_full, array('placeholder'=>__('Code'), 'class'=>'form-control', 'id'=>'name_full', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Vordefinierte E-Mail-Adressen <span class="text-muted">für diese Airline</span></h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<div class="form-group col-sm-">
|
||||
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
{{ Form::textarea('contact_emails', \App\Services\Util::_implodeLines($model->contact_emails), ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Buchungs-Vorlagen/Inhalte <span class="text-muted">für die PDFs</span></h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="flight_info">Fluginfo (Platzhalter für die PDFs ist #Airline_Fluginfo#)</label>
|
||||
{{ Form::textarea('flight_info', $model->flight_info, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="check_in">Checkin (Platzhalter für die PDFs ist #Airline_Checkin#)</label>
|
||||
{{ Form::textarea('check_in', $model->check_in, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="baggage">Gepäck (Platzhalter für die PDFs ist #Airline_Gepaeck#)</label>
|
||||
{{ Form::textarea('baggage', $model->baggage, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="action" value="" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-left mt-3">
|
||||
<a href="{{route('admin_settings_airline')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
|
|
@ -19,14 +19,10 @@
|
|||
<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-name_full="{{ $value->name_full }}"
|
||||
data-contact_emails="{{\App\Services\Util::_implodeLines($value->contact_emails)}}">
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<a href="{{ route('admin_settings_airline_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</a>
|
||||
</td>
|
||||
<td data-sort="{{ $value->name }}">{{ $value->name }}</td>
|
||||
<td data-sort="{{ $value->name_full }}">{{ $value->name_full }}</td>
|
||||
|
|
@ -37,64 +33,14 @@
|
|||
</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-name_full=""
|
||||
data-contact_emails=""
|
||||
>Neue Airline anlegen</button>
|
||||
<a href="{{ route('admin_settings_airline_detail', ['new']) }}" class="btn btn-sm btn-primary">Neues Airline anlegen</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_airline_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">Kürzel*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Kürzel')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="name_full" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name_full" placeholder="{{__('Name')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
<textarea class="form-control" rows="4" name="contact_emails" cols="50"></textarea>
|
||||
</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-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='name_full']").val(button.data('name_full'));
|
||||
$(this).find(".modal-body textarea[name='contact_emails']").val(button.data('contact_emails'));
|
||||
});
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
|
|
|
|||
|
|
@ -38,29 +38,29 @@
|
|||
<label class="form-label" for="message">Nachricht</label>
|
||||
<div id="message-editor-toolbar">
|
||||
<span class="ql-formats">
|
||||
<button class="ql-bold"></button>
|
||||
<button class="ql-italic"></button>
|
||||
<button class="ql-underline"></button>
|
||||
<button class="ql-strike"></button>
|
||||
</span>
|
||||
<button class="ql-bold"></button>
|
||||
<button class="ql-italic"></button>
|
||||
<button class="ql-underline"></button>
|
||||
<button class="ql-strike"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-header" value="1"></button>
|
||||
<button class="ql-header" value="2"></button>
|
||||
<button class="ql-blockquote"></button>
|
||||
<button class="ql-code-block"></button>
|
||||
</span>
|
||||
<button class="ql-header" value="1"></button>
|
||||
<button class="ql-header" value="2"></button>
|
||||
<button class="ql-blockquote"></button>
|
||||
<button class="ql-code-block"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-list" value="ordered"></button>
|
||||
<button class="ql-list" value="bullet"></button>
|
||||
<button class="ql-indent" value="-1"></button>
|
||||
<button class="ql-indent" value="+1"></button>
|
||||
</span>
|
||||
<button class="ql-list" value="ordered"></button>
|
||||
<button class="ql-list" value="bullet"></button>
|
||||
<button class="ql-indent" value="-1"></button>
|
||||
<button class="ql-indent" value="+1"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<select class="ql-align"></select>
|
||||
</span>
|
||||
<select class="ql-align"></select>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<select class="ql-placeholder">
|
||||
{!! \App\Services\Placeholder::getBookingOptions() !!}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<a class="nav-link @if($step === 'form') active show @endif" data-toggle="tab" href="#navs-form">Formular</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step === 'contact') active show @endif" data-toggle="tab" href="#navs-contact">Kontaktdaten</a>
|
||||
<a class="nav-link @if($step === 'contact') active show @endif" data-toggle="tab" href="#navs-contact">Kontaktdaten/Visum</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step === 'emails') active show @endif" data-toggle="tab" href="#navs-emails">E-Mails</a>
|
||||
|
|
@ -60,8 +60,6 @@
|
|||
{{ Form::textarea('html_information', $model->html_information, ['class' => 'form-control summernote']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-12 py-2">
|
||||
<label class="switcher switcher-on-off">
|
||||
|
|
@ -135,11 +133,13 @@
|
|||
<select class="selectpicker" data-style="btn-default" name="contact_lands[]" multiple>
|
||||
{!! HTMLHelper::getTravelCountriesOptions($model->contact_lands) !!}
|
||||
</select>
|
||||
<em>Das Land selbst muss auch hier selbst aufgeführt werden, wenn es angezeicht werden soll. Die Kontaktdaten der definierten Länder (Reiselandes) werden nacheinander am Ende des PDFs (RA, RB, Voucher) eingefügt.</em>
|
||||
<em>Das Land selbst muss auch hier selbst aufgeführt werden, wenn es angezeicht werden soll. Die Kontaktdaten der definierten Länder (Reiselandes) werden nacheinander am Ende des PDFs (RA, RB, Voucher, Reisedokumente, …) eingefügt.</em>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Kontaktdaten im PDF</h4>
|
||||
<p>Die Kontaktdaten werden automatisch in den Buchnungsdokumente wie RA, RB, Voucher engesetzt.<br>
|
||||
Für die Buchnungs- Vorlagen/Inhalte ist der Platzhalter #Reiseland_Kontakt#)</p>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_headline">Überschrift</label>
|
||||
|
|
@ -148,19 +148,19 @@
|
|||
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_1">Kontaktfeld 1 </label>
|
||||
{{ Form::textarea('contact_text_1', $model->contact_text_1, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
{{ Form::textarea('contact_text_1', $model->contact_text_1, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_2">Kontaktfeld 2 </label>
|
||||
{{ Form::textarea('contact_text_2', $model->contact_text_2, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
{{ Form::textarea('contact_text_2', $model->contact_text_2, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_3">Kontaktfeld 3 </label>
|
||||
{{ Form::textarea('contact_text_3', $model->contact_text_3, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
{{ Form::textarea('contact_text_3', $model->contact_text_3, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_4">Kontaktfeld 4</label>
|
||||
{{ Form::textarea('contact_text_4', $model->contact_text_4, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
{{ Form::textarea('contact_text_4', $model->contact_text_4, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
|
@ -173,7 +173,15 @@
|
|||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_text_4">Kontakt Footer</label>
|
||||
{{ Form::textarea('contact_footer', $model->contact_footer, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
{{ Form::textarea('contact_footer', $model->contact_footer, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Buchungs-Vorlagen/Inhalte <span class="text-muted">für die PDFs</span></h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="visum_text">Visum (Platzhalter für die PDFs ist #Reiseland_Visum#)</label>
|
||||
{{ Form::textarea('visum_text', $model->visum_text, ['class' => 'form-control summernote-exsmall', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="action" value="contact" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
|
@ -196,7 +204,7 @@
|
|||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<div class="form-group col-sm-">
|
||||
<label class="form-label" for="contact_headline">der Agenturen für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
<label class="form-label" for="contact_emails">der Agenturen für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
{{ Form::textarea('contact_emails', \App\Services\Util::_implodeLines($model->contact_emails), ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -349,7 +357,7 @@
|
|||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="travel_nationality_requirement_{{$travel_nationality->id}}">{{ $travel_nationality->name }}{{ __('(HTML)') }} </label>
|
||||
{{ Form::textarea('travel_nationality_requirement['.$travel_nationality->id.']', $model->getNationalityRequirement($travel_nationality->id), ['class' => 'form-control summernote-small', 'id'=>'travel_nationality_requirement_'.$travel_nationality->id]) }}
|
||||
{{ Form::textarea('travel_nationality_requirement['.$travel_nationality->id.']', $model->getNationalityRequirement($travel_nationality->id), ['class' => 'form-control summernote-exsmall', 'id'=>'travel_nationality_requirement_'.$travel_nationality->id]) }}
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
|
|
|
|||
|
|
@ -135,29 +135,32 @@
|
|||
@endif
|
||||
<div id="message-editor-toolbar">
|
||||
<span class="ql-formats">
|
||||
<button class="ql-bold"></button>
|
||||
<button class="ql-italic"></button>
|
||||
<button class="ql-underline"></button>
|
||||
<button class="ql-strike"></button>
|
||||
</span>
|
||||
<button class="ql-bold"></button>
|
||||
<button class="ql-italic"></button>
|
||||
<button class="ql-underline"></button>
|
||||
<button class="ql-strike"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-header" value="1"></button>
|
||||
<button class="ql-header" value="2"></button>
|
||||
<button class="ql-blockquote"></button>
|
||||
<button class="ql-code-block"></button>
|
||||
</span>
|
||||
<button class="ql-header" value="1"></button>
|
||||
<button class="ql-header" value="2"></button>
|
||||
<button class="ql-blockquote"></button>
|
||||
<button class="ql-code-block"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-list" value="ordered"></button>
|
||||
<button class="ql-list" value="bullet"></button>
|
||||
<button class="ql-indent" value="-1"></button>
|
||||
<button class="ql-indent" value="+1"></button>
|
||||
</span>
|
||||
<button class="ql-list" value="ordered"></button>
|
||||
<button class="ql-list" value="bullet"></button>
|
||||
<button class="ql-indent" value="-1"></button>
|
||||
<button class="ql-indent" value="+1"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<select class="ql-align"></select>
|
||||
</span>
|
||||
<select class="ql-align"></select>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
<button class="ql-link"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<select class="ql-placeholder">
|
||||
{!! \App\Services\Placeholder::getFewoOptions() !!}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@include('travel.user.booking.mail.modal-show-mail-inner', ['customer_mail' => $customer_mail, 'show_move_dirs' => true])
|
||||
@include('travel.user.booking.mail.modal-show-mail-inner', ['customer_mail' => $customer_mail, 'show_move_dirs' => $value->show_move_dirs])
|
||||
|
||||
{{-- @if($customer_mail->customer_fewo_mail)
|
||||
@include('travel.user.booking.mail.modal-show-mail-inner', ['customer_fewo_mail' => $customer_mail->customer_mail])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue