File Controller, Booking Organisation, import Draft, old arrangements
This commit is contained in:
parent
4eb83def39
commit
8fd1f4d451
289 changed files with 36649 additions and 10877 deletions
|
|
@ -1,178 +1,396 @@
|
|||
<div class="card mb-2">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingOrganisation" aria-expanded="false" aria-controls="collapseBookingOrganisation">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingOrganisation"
|
||||
aria-expanded="false" aria-controls="collapseBookingOrganisation">
|
||||
<strong style="line-height: 1.6em">Organisation</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseBookingOrganisation">
|
||||
<div class="card-body px-0">
|
||||
@if($booking->new_drafts )
|
||||
<div class="card-body px-2 py-2">
|
||||
{{-- Wenn keine Organisation vorhanden ist --}}
|
||||
@if (
|
||||
(!$booking->booking_draft_items || $booking->booking_draft_items->count()) == 0 &&
|
||||
(!$booking->arrangements || $booking->arrangements->count() == 0))
|
||||
<div class="alert alert-warning mb-4">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<i class="fa fa-info-circle"></i>
|
||||
<strong>Keine Organisation vorhanden</strong>
|
||||
<br>
|
||||
<small>Laden Sie eine Vorlage, um schnell mit der Organisation zu beginnen.</small>
|
||||
</div>
|
||||
<div class="d-flex align-items-center">
|
||||
<select class="custom-select custom-select-sm mr-2" name="draft_id" id="draft_selector"
|
||||
style="min-width: 200px;">
|
||||
<option value="">Vorlage auswählen...</option>
|
||||
@php
|
||||
$drafts = \App\Models\Draft::where('active', true)->orderBy('name')->get();
|
||||
@endphp
|
||||
@foreach ($drafts as $draft)
|
||||
<option value="{{ $draft->id }}">{{ $draft->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<button type="submit" name="action" value="loadDraftToBooking"
|
||||
class="btn btn-sm btn-primary" id="load_draft_btn" disabled
|
||||
onclick="return confirm('{{ __('Vorlage laden? Bestehende Organisation wird überschrieben.') }}');">
|
||||
<i class="fa fa-download"></i> Vorlage laden
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="alert alert-info">
|
||||
<div>
|
||||
<i class="fa fa-info-circle"></i>
|
||||
<strong>Leitungen hinzufügen</strong>
|
||||
<br>
|
||||
<small>Alternativ können Sie die Leitungen individualisiert hinzufügen.</small>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
// Handler für neue Buchungen ohne Organisation
|
||||
var draftSelectorNew = document.getElementById('draft_selector');
|
||||
var loadBtnNew = document.getElementById('load_draft_btn');
|
||||
if (draftSelectorNew && loadBtnNew) {
|
||||
draftSelectorNew.addEventListener('change', function() {
|
||||
loadBtnNew.disabled = !this.value;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
{{-- <div class="float-right pr-2 pb-2">
|
||||
<div class="mb-2">
|
||||
<select class="custom-select custom-select-sm" name="draft_id" id="draft_selector_existing"
|
||||
style="min-width: 150px; display: inline-block;">
|
||||
<option value="">Vorlage laden...</option>
|
||||
@php
|
||||
$drafts = \App\Models\Draft::where('active', true)->orderBy('name')->get();
|
||||
@endphp
|
||||
@if (isset($drafts))
|
||||
@foreach ($drafts as $draft)
|
||||
<option value="{{ $draft->id }}">{{ $draft->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
<button type="submit" name="action" value="loadDraftToBooking"
|
||||
class="btn btn-sm btn-outline-secondary ml-1" id="load_draft_existing_btn" disabled
|
||||
onclick="return confirm('{{ __('Vorlage laden? Bestehende Organisation wird überschrieben.') }}');">
|
||||
<i class="fa fa-download"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
// Handler für bestehende Buchungen
|
||||
<script>
|
||||
var draftSelectorExisting = document.getElementById('draft_selector_existing');
|
||||
var loadBtnExisting = document.getElementById('load_draft_existing_btn');
|
||||
if (draftSelectorExisting && loadBtnExisting) {
|
||||
draftSelectorExisting.addEventListener('change', function() {
|
||||
loadBtnExisting.disabled = !this.value;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
--}}
|
||||
|
||||
|
||||
|
||||
@endif
|
||||
|
||||
|
||||
@if ($booking->arrangements && $booking->arrangements->count() > 0)
|
||||
<div class="mb-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h6 class="text-muted mb-0">
|
||||
<i class="fa fa-history"></i> Alte Arrangements
|
||||
<span class="badge badge-info">{{ $booking->arrangements->count() }}</span>
|
||||
</h6>
|
||||
@if ($booking->arrangements->count() > 0)
|
||||
<button type="submit" name="action" value="convertArrangementsToDrafts"
|
||||
class="btn btn-sm btn-outline-primary"
|
||||
onclick="return confirm('{{ __('Alle ' . $booking->arrangements->count() . ' Arrangements in die neue Draft-Struktur übernehmen? Dies kann nicht rückgängig gemacht werden.') }}');">
|
||||
<i class="fa fa-exchange-alt"></i> In neue Struktur übernehmen
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-sm mb-0" style="min-width: 1080px">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th style="width: 1em">#</th>
|
||||
<th>Typ</th>
|
||||
<th style="width: 9em">Datum von</th>
|
||||
<th style="width: 9em">Datum bis</th>
|
||||
<th>Daten</th>
|
||||
<th style="width: 8em">Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@php($arr_i = 1)
|
||||
@foreach ($booking->arrangements->sortByDesc('view_position') as $arrangement)
|
||||
<tbody style="background-color: rgba(248, 249, 250, 1)">
|
||||
<tr
|
||||
@if ($arrangement->arrangement_type && $arrangement->arrangement_type->color) style="background-color: {{ $arrangement->arrangement_type->color }}" @endif>
|
||||
<td>{{ $arr_i++ }}</td>
|
||||
<td>
|
||||
@if ($arrangement->arrangement_type)
|
||||
{{ $arrangement->arrangement_type->name ?? $arrangement->type_s }}
|
||||
@else
|
||||
{{ $arrangement->type_s }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($arrangement->begin)
|
||||
{{ $arrangement->begin->format('d.m.Y') }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($arrangement->end)
|
||||
{{ $arrangement->end->format('d.m.Y') }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($arrangement->data_s)
|
||||
<small class="text-muted">{{ $arrangement->getDataS() }}</small>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($arrangement->in_pdf)
|
||||
<span class="badge badge-success">Im PDF</span>
|
||||
@else
|
||||
<span class="badge badge-secondary">Nicht im PDF</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (!$booking->arrangements || $booking->arrangements->count() == 0)
|
||||
@php($i = 1)
|
||||
|
||||
<div class="float-right pr-2 pb-2">
|
||||
|
||||
<div class="input-group">
|
||||
<select class="custom-select small-select" name="add_draft_items_up_number">
|
||||
{!! HTMLHelper::getRangeOptions(1, 30, '') !!}
|
||||
{!! HTMLHelper::getRangeOptions(1, 30, '') !!}
|
||||
</select>
|
||||
<span class="input-group-append">
|
||||
<button type="submit" name="action" value="addItemUp" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> Neue Leistung hinzufügen <i class="fa fa-arrow-up"></i></button>
|
||||
<button type="submit" name="action" value="addItemUp" class="btn btn-sm btn-primary"><i
|
||||
class="fa fa-plus"></i> Neue Leistung hinzufügen <i
|
||||
class="fa fa-arrow-up"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<button type="button" name="" class="btn btn-sm btn-info mt-2" data-toggle="modal" data-target="#modals-change-travel-dates"><i class="fa fa-sync"></i> Datum der Reise ändern </button>
|
||||
<button type="button" name="" class="btn btn-sm btn-info mt-2" data-toggle="modal"
|
||||
data-target="#modals-change-travel-dates"><i class="fa fa-sync"></i> Datum der Reise ändern
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<div class="text-left pl-2">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-sm btn-secondary">{{ __('save changes') }}</button>
|
||||
<a href="{{route('requests')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
<button type="submit" name="action" value="saveAll"
|
||||
class="btn btn-sm btn-secondary">{{ __('save changes') }}</button>
|
||||
<a href="{{ route('requests') }}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<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>Leistung</th>
|
||||
<th style="width: 9em">Datum von</th>
|
||||
<th style="width: 9em">Datum bis</th>
|
||||
<th style="width: 15em">Teilnehmer/EP</th>
|
||||
<th style="width: 15em">Kinder/EP</th>
|
||||
<th style="width: 8em">#</th>
|
||||
</tr>
|
||||
</thead >
|
||||
@foreach($booking->booking_draft_items as $booking_draft_item)
|
||||
<tbody class="draft_item_tbody" style="background-color: rgba(218, 218, 229, 1)">
|
||||
<tr @if($booking_draft_item->draft_type) style="background-color: {{ $booking_draft_item->draft_type->color }}" @endif>
|
||||
<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>
|
||||
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$booking_draft_item->id}}][draft_type_id]" id="draft_item_{{$booking_draft_item->id }}_draft_type_id" data-live-search="true" required>
|
||||
<option value="" disabled>Vorlagen-Typ*</option>
|
||||
{!! HTMLHelper::getDraftTypes($booking_draft_item->draft_type_id) !!}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::text('draft_item['.$booking_draft_item->id.'][start_date]', $booking_draft_item->start_date, array('placeholder'=>__('Start Datum'), 'class'=>'form-control datepicker-base', 'id'=>'draft_item_'.$booking_draft_item->id.'_start_dat')) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::text('draft_item['.$booking_draft_item->id.'][end_date]', $booking_draft_item->end_date, array('placeholder'=>__('End Datum'), 'class'=>'form-control datepicker-base', 'id'=>'draft_item_'.$booking_draft_item->id.'_end_date')) }}
|
||||
</td>
|
||||
@if(in_array($booking_draft_item->draft_type_id, [24, 26, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42]))
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select" name="draft_item[{{$booking_draft_item->id}}][adult]" id="draft_item_{{$booking_draft_item->id }}_adult">
|
||||
<option value="">0</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->adult, 10, '') !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item['.$booking_draft_item->id.'][price_adult]', $booking_draft_item->price_adult, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$booking_draft_item->id.'_price_adult', 'maxlength'=>10)) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select" name="draft_item[{{$booking_draft_item->id}}][children]" id="draft_item_{{$booking_draft_item->id}}_children">
|
||||
<option value="">0</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->children, 10, '') !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item['.$booking_draft_item->id.'][price_children]', $booking_draft_item->price_children, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$booking_draft_item->id.'_price_children')) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
@else
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
@endif
|
||||
<td>
|
||||
<button type="button" name="" value="up_{{$booking_draft_item->id}}" class="btn btn-xs btn-primary py-0 move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$booking_draft_item->id}}" class="btn btn-xs btn-primary mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
|
||||
<a class="text-danger" href="{{ route('booking_draft_item_delete', [$booking_draft_item->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
|
||||
|
||||
</td>
|
||||
<tr>
|
||||
<th style="width: 1em"></th>
|
||||
<th style="width: 1em">#</th>
|
||||
<th>Leistung</th>
|
||||
<th style="width: 9em">Datum von</th>
|
||||
<th style="width: 9em">Datum bis</th>
|
||||
<th style="width: 15em">Teilnehmer/EP</th>
|
||||
<th style="width: 15em">Kinder/EP</th>
|
||||
<th style="width: 8em">#</th>
|
||||
</tr>
|
||||
<tr @if($booking_draft_item->draft_type) style="background-color: {{ $booking_draft_item->draft_type->color }}" @endif class="border-none">
|
||||
|
||||
@if(in_array($booking_draft_item->draft_type_id, [36, 37]))
|
||||
<td colspan="3">
|
||||
<select class="custom-select" name="draft_item[{{$booking_draft_item->id}}][days_duration]" id="draft_item_{{$booking_draft_item->id }}_days_duration">
|
||||
<option value="">0 Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->days_duration, 40, ' Tage') !!}
|
||||
</thead>
|
||||
@foreach ($booking->booking_draft_items as $booking_draft_item)
|
||||
<tbody class="draft_item_tbody" style="background-color: rgba(218, 218, 229, 1)">
|
||||
<tr
|
||||
@if ($booking_draft_item->draft_type) style="background-color: {{ $booking_draft_item->draft_type->color }}" @endif>
|
||||
<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>
|
||||
<select class="selectpicker" data-style="btn-light"
|
||||
name="draft_item[{{ $booking_draft_item->id }}][draft_type_id]"
|
||||
id="draft_item_{{ $booking_draft_item->id }}_draft_type_id"
|
||||
data-live-search="true" required>
|
||||
<option value="" disabled>Vorlagen-Typ*</option>
|
||||
{!! HTMLHelper::getDraftTypes($booking_draft_item->draft_type_id) !!}
|
||||
</select>
|
||||
</td>
|
||||
<td colspan="4">
|
||||
@elseif(in_array($booking_draft_item->draft_type_id, [38, 39,40]))
|
||||
<td colspan="3">
|
||||
<div class="input-group">
|
||||
@if(in_array($booking_draft_item->draft_type_id, [38]))
|
||||
<select class="custom-select" name="draft_item[{{$booking_draft_item->id}}][days_duration]" id="draft_item_{{$booking_draft_item->id }}_days_duration">
|
||||
<option value="">0 Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->days_duration, 40, ' T.') !!}
|
||||
</select>
|
||||
@endif
|
||||
{{ Form::text('draft_item['.$booking_draft_item->id.'][price]', $booking_draft_item->price, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$booking_draft_item->id.'_price',)) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
<td>
|
||||
{{ Form::text('draft_item[' . $booking_draft_item->id . '][start_date]', $booking_draft_item->start_date, ['placeholder' => __('Start Datum'), 'class' => 'form-control datepicker-base', 'id' => 'draft_item_' . $booking_draft_item->id . '_start_dat']) }}
|
||||
</td>
|
||||
<td colspan="4">
|
||||
@else
|
||||
<td colspan="7">
|
||||
@endif
|
||||
{{ Form::textarea('draft_item['.$booking_draft_item->id.'][service]', $booking_draft_item->service, array('placeholder'=>__('Leistungen'), 'class'=>'form-control autoExpand', 'id'=>'draft_item_'.$booking_draft_item->id.'_service', 'rows'=>'1', 'data-min-rows'=>'1')) }}
|
||||
<td>
|
||||
{{ Form::text('draft_item[' . $booking_draft_item->id . '][end_date]', $booking_draft_item->end_date, ['placeholder' => __('End Datum'), 'class' => 'form-control datepicker-base', 'id' => 'draft_item_' . $booking_draft_item->id . '_end_date']) }}
|
||||
</td>
|
||||
@if (in_array($booking_draft_item->draft_type_id, [24, 26, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42]))
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select"
|
||||
name="draft_item[{{ $booking_draft_item->id }}][adult]"
|
||||
id="draft_item_{{ $booking_draft_item->id }}_adult">
|
||||
<option value="">0</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->adult, 10, '') !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item[' . $booking_draft_item->id . '][price_adult]', $booking_draft_item->price_adult, ['placeholder' => __('Preis in €'), 'class' => 'form-control', 'id' => 'draft_item_' . $booking_draft_item->id . '_price_adult', 'maxlength' => 10]) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select"
|
||||
name="draft_item[{{ $booking_draft_item->id }}][children]"
|
||||
id="draft_item_{{ $booking_draft_item->id }}_children">
|
||||
<option value="">0</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->children, 10, '') !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item[' . $booking_draft_item->id . '][price_children]', $booking_draft_item->price_children, ['placeholder' => __('Preis in €'), 'class' => 'form-control', 'id' => 'draft_item_' . $booking_draft_item->id . '_price_children']) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
@else
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
@endif
|
||||
<td>
|
||||
<button type="button" name=""
|
||||
value="up_{{ $booking_draft_item->id }}"
|
||||
class="btn btn-xs btn-primary py-0 move-up-btn"><i
|
||||
class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name=""
|
||||
value="down_{{ $booking_draft_item->id }}"
|
||||
class="btn btn-xs btn-primary mr-2 move-down-btn"><i
|
||||
class="fa fa-arrow-down"></i> </button>
|
||||
|
||||
<a class="text-danger"
|
||||
href="{{ route('booking_draft_item_delete', [$booking_draft_item->id]) }}"
|
||||
onclick="return confirm('{{ __('Wirklich löschen?') }}');"><i
|
||||
class="fa fa-trash-alt"></i></a>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr @if ($booking_draft_item->draft_type) style="background-color: {{ $booking_draft_item->draft_type->color }}" @endif
|
||||
class="border-none">
|
||||
|
||||
@if (in_array($booking_draft_item->draft_type_id, [36, 37]))
|
||||
<td colspan="3">
|
||||
<select class="custom-select"
|
||||
name="draft_item[{{ $booking_draft_item->id }}][days_duration]"
|
||||
id="draft_item_{{ $booking_draft_item->id }}_days_duration">
|
||||
<option value="">0 Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->days_duration, 40, ' Tage') !!}
|
||||
</select>
|
||||
</td>
|
||||
<td colspan="4">
|
||||
@elseif(in_array($booking_draft_item->draft_type_id, [38, 39, 40]))
|
||||
<td colspan="3">
|
||||
<div class="input-group">
|
||||
@if (in_array($booking_draft_item->draft_type_id, [38]))
|
||||
<select class="custom-select"
|
||||
name="draft_item[{{ $booking_draft_item->id }}][days_duration]"
|
||||
id="draft_item_{{ $booking_draft_item->id }}_days_duration">
|
||||
<option value="">0 Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($booking_draft_item->days_duration, 40, ' T.') !!}
|
||||
</select>
|
||||
@endif
|
||||
{{ Form::text('draft_item[' . $booking_draft_item->id . '][price]', $booking_draft_item->price, ['placeholder' => __('Preis in €'), 'class' => 'form-control', 'id' => 'draft_item_' . $booking_draft_item->id . '_price']) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="4">
|
||||
@else
|
||||
<td colspan="7">
|
||||
@endif
|
||||
{{ Form::textarea('draft_item[' . $booking_draft_item->id . '][service]', $booking_draft_item->service, ['placeholder' => __('Leistungen'), 'class' => 'form-control autoExpand', 'id' => 'draft_item_' . $booking_draft_item->id . '_service', 'rows' => '1', 'data-min-rows' => '1']) }}
|
||||
</td>
|
||||
<td>
|
||||
<div style="display: inline-flex">
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 10px;">
|
||||
{!! Form::checkbox('draft_item['.$booking_draft_item->id.'][in_pdf]', 1, $booking_draft_item->in_pdf, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('PDF')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div style="display: inline-flex">
|
||||
<label class="custom-control custom-checkbox mt-2" style="">
|
||||
{!! Form::checkbox('draft_item_delete['.$booking_draft_item->id.']', 1, 0, ['class'=>'custom-control-input color-danger']) !!}
|
||||
<span class="custom-control-label"> </span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<label class="custom-control custom-checkbox mt-2"
|
||||
style="margin-right: 10px;">
|
||||
{!! Form::checkbox('draft_item[' . $booking_draft_item->id . '][in_pdf]', 1, $booking_draft_item->in_pdf, [
|
||||
'class' => 'custom-control-input',
|
||||
]) !!}
|
||||
<span class="custom-control-label">{{ __('PDF') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div style="display: inline-flex">
|
||||
<label class="custom-control custom-checkbox mt-2" style="">
|
||||
{!! Form::checkbox('draft_item_delete[' . $booking_draft_item->id . ']', 1, 0, [
|
||||
'class' => 'custom-control-input color-danger',
|
||||
]) !!}
|
||||
<span class="custom-control-label"> </span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="float-right pr-2 text-right pb-2">
|
||||
|
||||
<div class="input-group">
|
||||
<select class="custom-select small-select" name="add_draft_items_down_number">
|
||||
{!! HTMLHelper::getRangeOptions(1, 30, '') !!}
|
||||
</select>
|
||||
<span class="input-group-append">
|
||||
<button type="submit" name="action" value="addItemDown" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> Neue Leistung hinzufügen <i class="fa fa-arrow-down"></i></button>
|
||||
</span>
|
||||
<div class="d-block float-right">
|
||||
<div class="input-group">
|
||||
<select class="custom-select small-select" name="add_draft_items_down_number">
|
||||
{!! HTMLHelper::getRangeOptions(1, 30, '') !!}
|
||||
</select>
|
||||
<span class="input-group-append">
|
||||
<button type="submit" name="action" value="addItemDown"
|
||||
class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> Neue Leistung hinzufügen
|
||||
<i class="fa fa-arrow-down"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" name="action" value="deleteAllChecked" class="mt-2 btn btn-sm btn-danger" onclick="return confirm('{{__('Wirklich alle ausgewählten Leistungen löschen?')}}');">
|
||||
<i class="fa fa-check-circle"></i> alle ausgewählten Leistungen löschen <i class="fa fa-trash"></i></button>
|
||||
<div class="d-block">
|
||||
<button type="button" name="" value="" class="mt-2 btn btn-sm btn-warning"
|
||||
onclick="selectAllForDeletion()">
|
||||
<i class="fa fa-check-square"></i> Alle Leistungen zum Löschen markieren <i
|
||||
class="fa fa-trash"></i></button>
|
||||
|
||||
<button type="submit" name="action" value="deleteAllChecked"
|
||||
class="mt-2 btn btn-sm btn-danger"
|
||||
onclick="return confirm('{{ __('Wirklich alle ausgewählten Leistungen löschen?') }}');">
|
||||
<i class="fa fa-check-circle"></i> alle ausgewählten Leistungen löschen <i
|
||||
class="fa fa-trash"></i></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="text-left mt-3 pl-2">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-sm btn-secondary">{{ __('save changes') }}</button>
|
||||
<a href="{{route('requests')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
<button type="submit" name="action" value="saveAll"
|
||||
class="btn btn-sm btn-secondary">{{ __('save changes') }}</button>
|
||||
<a href="{{ route('requests') }}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function selectAllForDeletion() {
|
||||
// Alle Checkboxes mit dem Namen draft_item_delete[...] finden und markieren
|
||||
const checkboxes = document.querySelectorAll('input[name^="draft_item_delete["]');
|
||||
checkboxes.forEach(function(checkbox) {
|
||||
checkbox.checked = true;
|
||||
});
|
||||
|
||||
// Optional: Eine Bestätigungsnachricht anzeigen
|
||||
alert('Alle Leistungen wurden zum Löschen markiert.');
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,39 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<base href="{{ url('/') }}">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>STERN TOURS</title>
|
||||
<style>
|
||||
/*DIN LANG*/
|
||||
@font-face {
|
||||
font-family: "Source Sans 3";
|
||||
src: url("fonts/source-sans-3-v15-latin-regular.ttf") format("truetype");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans 3';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: url('fonts/source-sans-3-v15-latin-500.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans 3';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: url('fonts/source-sans-3-v15-latin-600.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans 3';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url('fonts/source-sans-3-v15-latin-700.ttf') format('truetype');
|
||||
}
|
||||
/* Source Sans 3 - wird von DomPDF automatisch aus storage/fonts/ geladen */
|
||||
|
||||
html {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
|
@ -43,30 +22,33 @@
|
|||
color: #000;
|
||||
font-size: 8.5pt;
|
||||
line-height: 1.1em;
|
||||
font-weight: 400 ;
|
||||
font-family: "Source Sans 3", serif;
|
||||
font-weight: 400;
|
||||
font-family: "source sans 3", sans-serif;
|
||||
}
|
||||
|
||||
table {
|
||||
border: none;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 20mm 15mm 22mm 15mm;
|
||||
color:#000;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
|
||||
header {
|
||||
position: fixed;
|
||||
top:-20mm;
|
||||
top: -20mm;
|
||||
right: 0mm;
|
||||
width: 100mm;
|
||||
height: 20mm;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
header img {
|
||||
padding-top: 6mm;
|
||||
height: 10mm;
|
||||
|
|
@ -98,12 +80,15 @@
|
|||
height: 100%;
|
||||
|
||||
}
|
||||
|
||||
u {
|
||||
text-decoration: none;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.page_break { page-break-before: always; }
|
||||
.page_break {
|
||||
page-break-before: always;
|
||||
}
|
||||
|
||||
#pdf-page {
|
||||
position: relative;
|
||||
|
|
@ -113,84 +98,100 @@
|
|||
color: #648859 !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
padding-left: 2rem;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
|
||||
.booking-table {
|
||||
width: 180mm;
|
||||
border-collapse: collapse;
|
||||
margin-bottom: 2rem;
|
||||
text-align: left;
|
||||
}
|
||||
.booking-table tr {
|
||||
}
|
||||
|
||||
.booking-table tr {}
|
||||
|
||||
.booking-table th {
|
||||
padding: 0.2rem 0.4rem;
|
||||
color:#ffffff;
|
||||
color: #ffffff;
|
||||
background: #648859;
|
||||
font-weight: bold;
|
||||
border: 0.25pt solid #648859;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.booking-table h3 {
|
||||
padding: 0.2rem 0rem;
|
||||
line-height: 1rem;
|
||||
margin:0;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.booking-table td {
|
||||
padding: 0.15rem 0.4rem;
|
||||
color: #000;
|
||||
color: #000;
|
||||
border: 0.25pt solid #000;
|
||||
font-size: 8.5pt;
|
||||
}
|
||||
|
||||
.pdf-input-content {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
|
||||
.pdf-break-block {
|
||||
page-break-inside: avoid;
|
||||
|
||||
|
||||
}
|
||||
.text-center, .booking-table th.text-center, .booking-table td.text-center {
|
||||
|
||||
.text-center,
|
||||
.booking-table th.text-center,
|
||||
.booking-table td.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
.text-right, .booking-table th.text-right, .booking-table td.text-right{
|
||||
|
||||
.text-right,
|
||||
.booking-table th.text-right,
|
||||
.booking-table td.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
.no-border-table{
|
||||
padding: 0;
|
||||
|
||||
.no-border-table {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border-collapse: collapse;
|
||||
border: none;
|
||||
}
|
||||
.no-border-table tr, .no-border-table td, .no-border-table th{
|
||||
|
||||
.no-border-table tr,
|
||||
.no-border-table td,
|
||||
.no-border-table th {
|
||||
border: none;
|
||||
padding: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/php">
|
||||
<script type="text/php">
|
||||
if (isset($pdf)) {
|
||||
$font = null;
|
||||
$size = 8;
|
||||
|
|
@ -204,15 +205,16 @@
|
|||
$pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
|
||||
}
|
||||
</script>
|
||||
<header>
|
||||
</header>
|
||||
<footer>
|
||||
|
||||
</footer>
|
||||
<main>
|
||||
<div id="pdf-page">
|
||||
@yield('content')
|
||||
</div>
|
||||
</main>
|
||||
<header>
|
||||
</header>
|
||||
<footer>
|
||||
|
||||
</footer>
|
||||
<main>
|
||||
<div id="pdf-page">
|
||||
@yield('content')
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -15,9 +15,11 @@
|
|||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Allgemein</a>
|
||||
</li>
|
||||
@if($id != 'new')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step === 'services') active show @endif" data-toggle="tab" href="#navs-services">Leistungen</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
</ul>
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Seite</a>
|
||||
</li>
|
||||
@if($id > 0)
|
||||
@if($id != 'new')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step === 'form') active show @endif" data-toggle="tab" href="#navs-form">Formular</a>
|
||||
</li>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue