mein-sterntours/resources/views/booking/detail.blade.php
2020-04-15 12:11:42 +02:00

963 lines
No EOL
56 KiB
PHP
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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;
}
.badge.indicator:not(.badge-dot) {
-webkit-transform: translate(20%, -30%);
transform: translate(20%, -30%);
}
</style>
<div class="float-right mt-3">
<a href="{{route('bookings')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
<a href="{{ make_old_url('/index.php/booking/'.$booking->id.'/edit') }}" class="btn btn-sm btn-default float-right">{{ __('zurück ins CRM v2') }}</a>
</div>
<h4 class="font-weight-bold py-3 mb-1">
Buchung verwalten
</h4>
{{--
<style>
[class*="nav-tabs"]
{
position: fixed;
z-index: 9;
background-color: #fff;
margin-top: -11%; // adjust according to your need
}
[class*="tab-content"]
{
margin-top: 5%;
}
</style>
--}}
<ul class="nav nav-sm nav-tabs nav-justified tabs-alt mb-3" id="top-nav-quick-jump">
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingInfo">
Kunde
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingLead">
Anfrage
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingBooking">
Buchung
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingMyJack">
MyJack
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingPrice">
Preis
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingOrganisation">
Organisation
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingMails">
E-Mails
<span class="badge badge-primary">{{$booking->customer_mails->count()}}</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseBookingFiles">
PDF Dateien
</a>
</li>
</ul>
{!! Form::open(['url' => route('booking_detail', [$id]), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<input type="hidden" name="id" id="id" value="{{$id}}">
<!-- Info -->
<div class="card mb-2 border-primary">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingInfo" aria-expanded="false" aria-controls="collapseBookingInfo">
<strong style="line-height: 1.6em">Kunde</strong>
</h6>
<div class="collapse" id="collapseBookingInfo">
<div class="card-body row">
@if($booking->customer->count())
<div class="form-group col-sm-6">
<label class="form-label" for="customer_id">{{ __('Kunden ID') }}</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<a class="text-primary" href="{{route('customer_detail', [$booking->customer->id])}}"><i class="fa fa-edit"></i></a></span>
</div>
{{ Form::text('customer[id]', $booking->customer->id, array('placeholder'=>__('Kunden ID'), 'class'=>'form-control', 'id'=>'customer_id', 'readonly')) }}
</div>
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="customer_email">{{ __('E-Mail') }}</label>
{{ Form::text('customer[email]', $booking->customer->email, array('placeholder'=>__('E-Mail'), 'class'=>'form-control', 'id'=>'customer_email', 'readonly')) }}
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="customer_firstname">{{ __('Vorname') }}</label>
{{ Form::text('customer[firstname]', $booking->customer->firstname, array('placeholder'=>__('Vorname'), 'class'=>'form-control', 'id'=>'customer_firstname', 'readonly')) }}
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="customer_name">{{ __('Nachname') }}</label>
{{ Form::text('customer[name]', $booking->customer->name, array('placeholder'=>__('Nachname'), 'class'=>'form-control', 'id'=>'customer_name', 'readonly')) }}
</div>
@endif
</div>
</div>
</div>
<!-- Anfrage -->
<div class="card mb-2 border-primary">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingLead" aria-expanded="false" aria-controls="collapseBookingLead">
<strong style="line-height: 1.6em">Anfrage</strong>
</h6>
<div class="collapse" id="collapseBookingLead">
<div class="card-body row">
@if($booking->lead->count())
<div class="form-group col-sm-6">
<label class="form-label" for="lead_id">{{ __('Anfrage ID') }}</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<a class="text-primary" href="{{route('lead_detail', [$booking->lead->id])}}"><i class="fa fa-edit"></i></a></span>
</div>
{{ Form::text('lead[id]', $booking->lead->id, array('placeholder'=>__('Anfrage ID'), 'class'=>'form-control', 'id'=>'lead_id', 'readonly')) }}
</div>
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="lead_status_id">{{ __('Status') }}</label>
{{ Form::text('lead[status_id]', $booking->lead->status ? $booking->lead->status->name : '', array('placeholder'=>__('Status'), 'class'=>'form-control', 'id'=>'lead_status_id', 'readonly')) }}
</div>
<div class="form-group col-sm-6">
<label class="custom-control custom-checkbox mt-2">
{!! Form::checkbox('lead[is_rebook]', 1, $booking->lead->is_rebook, ['class'=>'custom-control-input', 'readonly']) !!}
<span class="custom-control-label">{{__('Umbuchung abgeschlossen')}}</span>
</label>
</div>
<div class="form-group col-sm-6">
<label class="custom-control custom-checkbox mt-2">
{!! Form::checkbox('lead[is_closed]', 1, $booking->lead->is_closed, ['class'=>'custom-control-input', 'readonly']) !!}
<span class="custom-control-label">{{__('Vorgang abgeschlossen')}}</span>
</label>
</div>
@endif
</div>
</div>
</div>
<!-- Buchung -->
<div class="card mb-2">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingBooking" aria-expanded="false" aria-controls="collapseBookingBooking">
<strong style="line-height: 1.6em">Buchung</strong>
</h6>
<div class="collapse" id="collapseBookingBooking">
<div class="card-body row">
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="sf_guard_user_id">{{ __('Sachbearbeiter') }}</label>
{{ Form::text('sf_guard_user_id', $booking->sf_guard_user->first_name." ".$booking->sf_guard_user->last_name, array('placeholder'=>__('Sachbearbeiter'), 'class'=>'form-control', 'id'=>'sf_guard_user_id', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="booking_date">{{ __('Buchungsdatum') }}</label>
{{ Form::text('booking_date', _format_date($booking->booking_date), array('placeholder'=>__('Buchungsdatum'), 'class'=>'form-control', 'id'=>'booking_date', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="travel_country_id">{{ __('Reiseland') }}</label>
{{ Form::text('travel_country_id', $booking->travel_country ? $booking->travel_country->name : '', array('placeholder'=>__('Reiseland'), 'class'=>'form-control', 'id'=>'travel_country_id', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<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', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="travelagenda_id">{{ __('Reiseprogramm') }}</label>
{{ Form::text('travelagenda_id', $booking->travel_agenda ? $booking->travel_agenda->name : '', array('placeholder'=>__('Reiseprogramm'), 'class'=>'form-control', 'id'=>'travelagenda_id', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="travel_category_id">{{ __('Reiseart') }}</label>
{{ Form::text('travel_category_id', $booking->travel_category ? $booking->travel_category->name : '', array('placeholder'=>__('Reiseart'), 'class'=>'form-control', 'id'=>'travel_category_id', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="start_date">{{ __('Aufenthalt vom') }}</label>
{{ Form::text('start_date', _format_date($booking->start_date), array('placeholder'=>__('Aufenthalt vom'), 'class'=>'form-control', 'id'=>'start_date', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="end_date">{{ __('Aufenthalt bis') }}</label>
{{ Form::text('end_date', _format_date($booking->end_date), array('placeholder'=>__('Aufenthalt bis'), 'class'=>'form-control', 'id'=>'end_date', 'readonly')) }}
</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', 'readonly')) }}
</div>
<div class="col-12">
<hr>
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="paying_out">{{ __('K-Wunsch') }}</label>
{{ Form::text('paying_out', $booking->getPayingOutType(), array('placeholder'=>__('K-Wunsch'), 'class'=>'form-control', 'id'=>'paying_out', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="paying_out_status">{{ __('KW-Status') }}</label>
{{ Form::text('paying_out_status', $booking->getPayingOutStatusType(), array('placeholder'=>__('KW-Status'), 'class'=>'form-control', 'id'=>'paying_out_status', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="refund">{{ __('Refund') }}</label>
{{ Form::text('refund', $booking->getRefundType(), array('placeholder'=>__('Refund'), 'class'=>'form-control', 'id'=>'refund', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="refund_date">{{ __('Refund Datum') }}</label>
{{ Form::text('refund_date', _format_date($booking->refund_date), array('placeholder'=>__('Refund Datum'), 'class'=>'form-control', 'id'=>'refund_date', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="xx_tkt">{{ __('XX TKT') }}</label>
{{ Form::text('xx_tkt', $booking->getXxTktType(), array('placeholder'=>__('XX TKT'), 'class'=>'form-control', 'id'=>'xx_tkt', 'readonly')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label class="form-label" for="xx_tkt_date">{{ __('XX TKT Datum') }}</label>
{{ Form::text('xx_tkt_date', _format_date($booking->xx_tkt_date), array('placeholder'=>__('XX TKT Datum'), 'class'=>'form-control', 'id'=>'xx_tkt_date', 'readonly')) }}
</div>
</div>
</div>
</div>
<!-- MyJack -->
<div class="card mb-2">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingMyJack" aria-expanded="false" aria-controls="collapseBookingMyJack">
<strong style="line-height: 1.6em">MyJack</strong>
</h6>
<div class="collapse" id="collapseBookingMyJack">
<div class="card-body row">
<div class="form-group col-sm-4">
<label class="form-label" for="ev_number">{{ __('EV Nummer') }}</label>
{{ Form::text('ev_number', $booking->ev_number, array('placeholder'=>__('EV Nummer'), 'class'=>'form-control', 'id'=>'ev_number', 'readonly')) }}
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="booking_konto">{{ __('Konto') }}</label>
{{ Form::text('booking_konto', 4011, array('placeholder'=>__('Konto'), 'class'=>'form-control', 'id'=>'booking_konto', 'readonly')) }}
</div>
<div class="form-group col-sm-4">
<label class="form-label" for="merlin_order_number">{{ __('MyJack Nr.') }}</label>
{{ Form::text('merlin_order_number', $booking->merlin_order_number, array('placeholder'=>__('MyJack Nr.'), 'class'=>'form-control', 'id'=>'merlin_order_number', 'readonly')) }}
</div>
</div>
</div>
</div>
<!-- Preis -->
<div class="card mb-2">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingPrice" aria-expanded="false" aria-controls="collapseBookingPrice">
<strong style="line-height: 1.6em">Preis</strong>
</h6>
<div class="collapse" id="collapseBookingPrice">
<div class="card-body row">
<div class="form-group col-sm-6">
<label class="form-label" for="price">{{ __('Gesamtpreis Organisation') }}</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('price', $booking->price, array('placeholder'=>__('Gesamtpreis'), 'class'=>'form-control', 'id'=>'price', 'readonly')) }}
</div>
</div>
</div>
</div>
</div>
{{--
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('bookings')}}" class="btn btn-default">{{ __('zur Übersicht') }}</a>
<a href="{{ make_old_url('/index.php/booking/'.$booking->id.'/edit') }}" class="btn btn-default float-right">{{ __('zurück ins CRM v2') }}</a>
</div>
--}}
<!-- Organisation -->
<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">
<strong style="line-height: 1.6em">Organisation</strong>
</h6>
<div class="collapse" id="collapseBookingOrganisation">
<div class="card-body px-0">
@if($booking->new_drafts )
@php($i = 1)
<div class="text-right mb-2 pr-2">
<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><br>
<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="table-responsive mb-4" style="overflow: visible">
<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">
<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>
<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, 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>
<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>
<td>
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
{!! 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">{{__('in PDF')}}</span>
</label>
</td>
</tr>
</tbody>
@endforeach
</table>
</div>
<div class="float-right pr-2">
<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>
</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>&nbsp;
<a href="{{route('bookings')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
</div>
@endif
</div>
</div>
</div>
{!! Form::close() !!}
<div class="card mb-2">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingMails" aria-expanded="true" aria-controls="collapseBookingMails">
<strong style="line-height: 1.6em">E-Mails</strong>
</h6>
<div class="collapse show" id="collapseBookingMails">
<div class="container-fluid d-flex align-items-stretch flex-grow-1 p-0">
<!-- `.messages-wrapper` fills all available space of container -->
<div class="messages-wrapper">
<!-- Messages sidebox -->
<div class="messages-sidebox messages-scroll bg-body border-right">
<div class="py-3 px-4">
<div class="media align-items-center">
<div class="media-body text-center">
<button type="button" class="btn btn-sm btn-secondary mb-3 btn-compare-customer-mails" data-toggle="modal"
data-target="#modals-load-content"
data-id="new-send"
data-model="customerMail"
data-action="new-customer-mail"
data-url="{{route('customer_mail_send_mail')}}"
data-redirect="back"
data-booking_id="{{$booking->id}}"
data-customer_mail_dir="0"
data-customer_mail_country="0"
data-route="{{ route('booking_modal_load') }}"><i class="ion ion-md-mail-open"></i>&nbsp;E-Mail schreiben</button>
<button type="button" class="btn btn-sm btn-next btn-compare-customer-mails" data-toggle="modal"
data-target="#modals-load-content"
data-id="new-save"
data-model="customerMail"
data-action="reply-customer-mail"
data-url="{{route('customer_mail_reply_mail')}}"
data-redirect="back"
data-booking_id="{{$booking->id}}"
data-customer_mail_dir="0"
data-customer_mail_country="0"
data-route="{{ route('booking_modal_load') }}"><i class="ion ion-md-mail-unread"></i>&nbsp;Antwort speichern</button>
</div>
<a href="javascript:void(0)" class="messages-sidebox-toggler d-lg-none d-block text-muted text-large font-weight-light pl-4">&times;</a>
</div>
</div>
<hr class="border-light mx-4 mt-0 mb-4">
<style>
.sidebox-nav-item {
color: #a3a4a6 !important;
}
.sidebox-nav-item[href]:hover,
.sidebox-nav-item[href]:focus {
color: #8c8e90 !important;
}
.sidebox-nav-item.active .item {
color: #4E5155 !important;
font-weight: 700 !important;
}
</style>
<!-- Mail boxes -->
@foreach($booking::$customer_mail_dirs as $dir_id => $customer_mail_dir)
@php($badge = $dir_id === 0 ? "badge-primary" : "badge-outline-primary")
<a href="javascript:void(0)" class="d-flex justify-content-between align-items-center py-2 px-4 sidebox-nav-item @if($dir_id === 0) active @endif"
data-dir="{{$dir_id}}" data-country="0" data-icon="{{$customer_mail_dir['icon']}}" data-name="{{$customer_mail_dir['name']}}">
<div class="item">
<i class="ion {{$customer_mail_dir['icon']}}"></i> {{$customer_mail_dir['name']}}
</div>
<div class="badge {{$badge}}">{{$booking->countCustomerMailsBy($dir_id)}}</div>
</a>
@if($dir_id === 1 && $booking->travel_country)
@foreach($booking->travel_country->getCountryLands() as $id => $name)
<a href="javascript:void(0)" class="d-flex justify-content-between align-items-center py-2 px-4 sidebox-nav-item"
data-dir="{{$dir_id}}" data-country="{{$id}}" data-icon="{{$customer_mail_dir['icon']}}" data-name="{{$name}}">
<div class="item pl-2">
<i class="ion {{$customer_mail_dir['icon']}}"></i> {{$name}}
</div>
<div class="badge {{$badge}}">{{$booking->countCustomerMailsBy($dir_id, $id)}}</div>
</a>
@endforeach
@endif
@endforeach
<hr class="border-light m-4">
</div>
<!-- / Messages sidebox -->
<!-- Messages content wrapper -->
<div class="d-flex flex-column w-100">
<!-- Header -->
<div class="flex-grow-0">
<h4 class="media align-items-center font-weight-bold container-p-x py-3 py-lg-4 m-0">
<a href="javascript:void(0)" class="messages-sidebox-toggler d-lg-none d-block align-self-center text-muted px-3 mr-3"><i class="ion ion-md-more"></i></a>
<div class="media-body">&nbsp;
<i id="message-sidebox-title-icon" class="ion ion-ios-filing"></i> <span id="message-sidebox-title-name">Reisender</span>
</div>
<input type="text" class="form-control form-control-sm" placeholder="Suche ..." style="max-width: 10rem;" id="dataTableInputSearchField">
</h4>
<hr class="border-light m-0">
</div>
<!-- / Header -->
<style>
div.dataTables_info, div.dataTables_paginate {
padding: 10px;
}
</style>
<!-- Wrap `.messages-scroll` to properly position scroll area. Remove this wrapper if you don't need scroll -->
<div class="flex-grow-1 position-relative">
<!-- Remove `.messages-scroll` and add `.flex-grow-1` if you don't need scroll -->
<div class="messages-content flex-grow-1">
<div class="table-responsive" id="customer_mails_table">
<input type="hidden" name="booking_id" value="{{$booking->id}}">
<input type="hidden" name="customer_mail_dir" value="0">
<input type="hidden" name="customer_mail_country" value="">
<table id="datatables-customer-mails" class="table table-striped">
<thead>
<tr>
<th>&nbsp;</th>
{{-- <th>{{__('E-Mail')}}</th> --}}
<th>{{__('Betreff')}}</th>
<th>{{__('Datum')}}</th>
<th style="width: 100px">{{__('#')}}</th>
</tr>
</thead>
<tbody class="">
</tbody>
</table>
</div>
</div><!-- / .messages-content -->
</div>
</div>
</div><!-- / .messages-wrapper -->
</div>
</div>
</div>
<!-- Preis -->
<div class="card mb-2">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingFiles" aria-expanded="false" aria-controls="collapseBookingFiles">
<strong style="line-height: 1.6em">PDF Dateien</strong>
</h6>
<div class="collapse" id="collapseBookingFiles">
@php($booking_files_count = 1)
<div class="card-body row">
<div class="table-responsive" id="booking_files_table">
<table class="table table-striped table-sm">
<thead>
<tr>
<th>#</th>
<th>Datei</th>
<th>Inhalt</th>
<th>Datum</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
@if($booking->booking_applications)
@foreach($booking->booking_applications as $booking_application)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['booking_application', $booking_application->id]) }}" target="_blank" class="badge badge-md badge-primary">
<i class="fa fa-file-pdf mr-1"></i> Reiseanmeldung
</a>
</td>
<td>
Gesamtpreis: {{ \App\Services\Util::_number_format($booking_application->total)}} &euro;
</td>
<td>{{\App\Services\Util::_format_date($booking_application->updated_at, 'date')}}</td>
<td>
<a href="{{ route('customer_file_show', ['booking_application', $booking_application->id, true]) }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endforeach
@endif
@if($booking->booking_confirmations)
@foreach($booking->booking_confirmations as $booking_confirmation)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['booking_confirmation', $booking_confirmation->id]) }}" target="_blank" class="badge badge-md badge-success">
<i class="fa fa-file-pdf mr-1"></i> Reisebestätigung
</a>
</td>
<td>
Gesamtpreis: {{ \App\Services\Util::_number_format($booking_confirmation->total)}} &euro; |
Anzahlung: {{ \App\Services\Util::_number_format($booking_confirmation->deposit)}} &euro; |
Restzahlung: {{ \App\Services\Util::_number_format($booking_confirmation->final_payment)}} &euro;
</td>
<td>{{\App\Services\Util::_format_date($booking_confirmation->updated_at, 'date')}}</td>
<td>
<a href="{{ route('customer_file_show', ['booking_confirmation', $booking_confirmation->id, true]) }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endforeach
@endif
@if($booking->booking_stornos)
@foreach($booking->booking_stornos as $booking_storno)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['booking_storno', $booking_storno->id]) }}" target="_blank" class="badge badge-md badge-danger">
<i class="fa fa-file-pdf mr-1"></i> Stornobestätigung
</a>
</td>
<td>
Stornobetrag: {{ \App\Services\Util::_number_format($booking_storno->total)}} &euro;
</td>
<td>{{\App\Services\Util::_format_date($booking_storno->updated_at, 'date')}}</td>
<td>
<a href="{{ route('customer_file_show', ['booking_storno', $booking_storno->id, true]) }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endforeach
@endif
@if($booking->coupons)
@foreach($booking->coupons as $coupon)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['coupon', $coupon->id]) }}" target="_blank" class="badge badge-md badge-warning">
<i class="fa fa-file-pdf mr-1"></i> Gutschein {{$coupon->number}}
</a>
</td>
<td>
Wert: {{ \App\Services\Util::_number_format($coupon->value)}} &euro; |
bis: {{\App\Services\Util::_format_date($coupon->valid_date, 'date')}} |
@if($coupon->is_redeemed) <i class="fa fa-check-circle text-success"></i> {{\App\Services\Util::_format_date($coupon->redeem_date, 'date')}} @else <i class="fa fa-times-circle text-danger"></i> @endif
</td>
<td>{{\App\Services\Util::_format_date($coupon->issue_date, 'date')}}</td>
<td>
<a href="{{ route('customer_file_show', ['coupon', $coupon->id, true]) }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endforeach
@endif
@if($booking->booking_vouchers)
@foreach($booking->booking_vouchers as $booking_voucher)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['booking_voucher', $booking_voucher->id]) }}" target="_blank" class="badge badge-md badge-dark">
<i class="fa fa-file-pdf mr-1"></i> Voucher-ID {{$booking_voucher->id}}
</a>
</td>
<td>
&nbsp;
</td>
<td>{{\App\Services\Util::_format_date($booking_voucher->updated_at, 'date')}}</td>
<td>
<a href="{{ route('customer_file_show', ['booking_vouchers', $booking_voucher->id, true]) }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endforeach
@endif
@if($booking->insurance_certificates)
@foreach($booking->insurance_certificates as $insurance_certificate)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['insurance_certificate', $insurance_certificate->id]) }}" target="_blank" class="badge badge-md badge-next">
<i class="fa fa-file-pdf mr-1"></i> Sicherungsschein Nr. {{$insurance_certificate->internal_id}}
</a>
</td>
<td>
&nbsp;
</td>
<td>{{\App\Services\Util::_format_date($insurance_certificate->updated_at, 'date')}}</td>
<td>
<a href="{{ route('customer_file_show', ['insurance_certificates', $insurance_certificate->id, true]) }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endforeach
@endif
@if($booking->travel_insurances)
@foreach($booking->travel_insurances as $travel_insurances)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<i class="fa fa-info-circle mr-1"></i> Policennummer {{$travel_insurances->policy_number}}
</td>
<td>
Gesamtprämie: {{ \App\Services\Util::_number_format($travel_insurances->premium)}} &euro;
</td>
<td>{{\App\Services\Util::_format_date($travel_insurances->updated_at, 'date')}}</td>
<td>
&nbsp;
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
</div>
</div>
<div class="modal fade" id="modals-load-next">
<div class="modal-dialog modal-lg">
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-change-travel-dates">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('booking_action', ['change_travel_dates', $booking->id]) }}" method="post" onsubmit="return confirm('Datum wirklich ändern?');">
@csrf
<div class="modal-header">
<h5 class="modal-title">Reise verschieben</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row mb-2">
<label for="">Neues Start-Datum von:</label>
<input type="text" class="form-control datepicker-base" name="change_travel_start_date" value="{{ \App\Services\Util::_format_date($booking->start_date)}}">
</div>
<p>Alle Einträge der Organisistion werden auf das neue Start-Datum angepasst.<br>
Neue Reiseanmeldung, Reisebestätigung vorerst im CRM v2 erstellen.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('ändern')}}</button>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
$('[rel="tooltip"]').tooltip({trigger: "hover"});
$('#top-nav-quick-jump .nav-link').on('click', function (e) {
e.preventDefault();
$('#top-nav-quick-jump .nav-link').removeClass('active');
$(this).addClass('active');
var collapse_id = $(this).data('collapse');
console.log(collapse_id);
$(collapse_id).collapse('show');
// animate
$('html, body').animate({
scrollTop: $(collapse_id).parent('.card').offset().top
}, 300, function(){
// when done, add hash to url
// (default click behaviour)
//window.location.hash = collapse_id;
});
});
var oTable = $('#datatables-customer-mails').DataTable({
"processing": true,
"serverSide": true,
"searching": false,
ajax: {
url: '{!! route( 'customer_mail_data_table' ) !!}',
data: function(d) {
d.booking_id = $('#customer_mails_table input[name=booking_id]').val();
d.customer_mail_dir = $('#customer_mails_table input[name=customer_mail_dir]').val();
d.customer_mail_country = $('#customer_mails_table input[name=customer_mail_country]').val();
d.data_table_search = $('#dataTableInputSearchField').val();
}
},
"columns": [
/* { data: 'checkbox', width: '10px', orderable: false, searchable: false}, */
{ data: 'important', width: '15px', searchable: false },
{ data: 'subject', name: 'subject', width: '', orderable: false, },
{ data: 'date', name: 'date', width: '' },
{ data: 'action', width: '100px', orderable: false, searchable: false},
],
"bLengthChange": false,
"iDisplayLength": 25,
"orderSequence": ["desc", "asc"],
"order": [[ 2, "desc" ]],
"language": {
"url": "/js/German.json"
},
"drawCallback": function( settings ) {
$('#datatables-customer-mails [rel="tooltip"]').tooltip({trigger: "hover"});
$('#datatables-customer-mails .customer-mail-ajax-action').on('click', function (event) {
ajax_object_action(event, $(this), callback_ajax);
});
}
});
$('.messages-wrapper .sidebox-nav-item').on('click', function (event) {
event.preventDefault();
if($(this).hasClass('active')){
return;
}
$('#customer_mails_table input[name=customer_mail_dir]').val($(this).data('dir'));
$('#customer_mails_table input[name=customer_mail_country]').val($(this).data('country'));
console.log($(this).data('country'));
if($(this).data('dir') <= 10){
$('.btn-compare-customer-mails').data('customer_mail_dir', $(this).data('dir'));
$('.btn-compare-customer-mails').data('customer_mail_country', $(this).data('country'));
$('.btn-compare-customer-mails').prop('disabled', false);
}else{
$('.btn-compare-customer-mails').prop('disabled', true);
}
oTable.draw();
$('.messages-wrapper .sidebox-nav-item').removeClass('active');
$(this).addClass('active');
$('#message-sidebox-title-icon').removeClass().addClass('fa ' + $(this).data('icon'));
$('#message-sidebox-title-name').html($(this).data('name'));
$('.messages-wrapper .sidebox-nav-item').find('.badge-primary').removeClass('badge-primary').addClass('badge-outline-primary');
$(this).find('.badge').removeClass('badge-outline-primary').addClass('badge-primary');
});
function callback_ajax(data) {
if(data.status === 'success'){
oTable.draw();
}
}
$('#dataTableInputSearchField').keyup(function(){
oTable.search($(this).val()).draw();
});
$.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>
@endsection