Fewo Mails / Booking Country Services

This commit is contained in:
Kevin Adametz 2020-05-28 19:03:42 +02:00
parent b9c26d06d0
commit 48a6eb2282
154 changed files with 7761 additions and 1643 deletions

View file

@ -1,64 +0,0 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
E-Mail Vorlagen
</h4>
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-default table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Betreff')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($email_template as $value)
<tr>
<td data-sort="{{ $value->id }}">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
data-target="#modals-load-content"
data-id="{{ $value->id }}"
data-model="emailTemplate"
data-action="modal-email-template"
data-url=""
data-redirect="back"
data-route="{{ route('admin_settings_email_template_load') }}"><span class="fa fa-edit"></span></button>
</td>
<td>{{ $value->subject }}</td>
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
<td><a class="text-danger" href="{{ route('admin_settings_email_template_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 col">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
data-target="#modals-load-content"
data-id="new"
data-model="emailTemplate"
data-action="modal-email-template"
data-url=""
data-redirect="back"
data-route="{{ route('admin_settings_email_template_load') }}">&nbsp;Neue E-Mail Vorlage anlegen</button>
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-default').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 0, "desc" ]],
"language": {
"url": "/js/German.json"
}
});
});
</script>
</div>
@endsection

View file

@ -0,0 +1,619 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
E-Mail Vorlagen
</h4>
<div class="nav-tabs-top mb-4">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link @if(!$step) active show @endif" data-toggle="tab" href="#navs-top-drafts">Vorlagen</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step === 'directories') active show @endif" data-toggle="tab" href="#navs-top-directories">Verzeichnisse</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step === 'settings') active show @endif" data-toggle="tab" href="#navs-top-settings">Einstellungen</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade @if(!$step) active show @endif" id="navs-top-drafts">
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-default table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Vorlage Bezeichnung')}}</th>
<th>{{__('Verzeichniss')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($email_template as $value)
<tr>
<td data-sort="{{ $value->id }}">
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal"
data-target="#modals-load-content"
data-id="{{ $value->id }}"
data-model="emailTemplate"
data-action="modal-email-template"
data-url=""
data-redirect="back"
data-route="{{ route('admin_settings_emails_load') }}"><span class="fa fa-edit"></span></button>
</td>
<td>{{ $value->name }}</td>
<td>@if($value->email_template_dir)
<span class="badge badge-default" style="background-color: {{$value->email_template_dir->color}}">{{ $value->email_template_dir->name }}</span>
@else
&nbsp;
@endif
</td>
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
<td><a class="text-danger" href="{{ route('admin_settings_emails_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 col">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
data-target="#modals-load-content"
data-id="new"
data-model="emailTemplate"
data-action="modal-email-template"
data-url=""
data-redirect="back"
data-route="{{ route('admin_settings_emails_load') }}">&nbsp;Neue E-Mail Vorlage anlegen</button>
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-default').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 0, "desc" ]],
"language": {
"url": "/js/German.json"
}
});
});
</script>
</div>
</div>
<div class="tab-pane fade @if($step === 'directories') active show @endif" id="navs-top-directories">
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-types table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th style="width: 2%;">{{__('POS')}}</th>
<th>{{__('Name')}}</th>
<th>{{__('Farbe')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($email_template_dirs as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-type"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-color="{{ $value->color }}"
data-active="{{ $value->active }}"
data-pos="{{ $value->pos }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $value->pos }}</td>
<td>{{ $value->name }}</td>
<td>@if($value->color)
<div style="display:inline-block; width: 20px; height: 20px; border: 1px solid #888a85; background-color: {{$value->color}}"></div>
{{ $value->color }}
@else
<div style="display:inline-block; width: 20px; height: 20px; border: 1px solid #888a85; background-color: #fff"></div>
@endif
</td>
<td data-sort="{{ $value->active }}">
@if($value->active)
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
@endif
</td>
<td><a class="text-danger" href="{{ route('draft_type_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 ml-3 text-left">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-type"
data-id="new"
data-name=""
data-active="1"
data-pos="0"
>Neues Verzeichniss anlegen</button>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-type">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('admin_settings_emails_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="action" value="email_template_dir">
<input type="hidden" class="form-control" name="step" value="directories">
<div class="modal-header">
<h5 class="modal-title">Verzeichniss <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="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="pos" class="form-label">POS*</label>
<input type="text" class="form-control" name="pos" placeholder="{{__('Position')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="name" class="form-label">Farbe*</label>
<input type="text" name="color" id="minicolors-hue" class="form-control" value="#fff">
</div>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
<input type="checkbox" class="custom-control-input" name="active" checked>
<span class="custom-control-label">{{__('sichtbar')}}</span>
</label>
</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() {
$('#minicolors-hue').minicolors({
control: 'hue',
position: 'bottom ' + 'left',
});
$('#modals-type').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='pos']").val(button.data('pos'));
color = '#fff';
if(button.data('color') != ""){
color = button.data('color');
}
$('#minicolors-hue').minicolors('value', color);
// $('.selectpicker').selectpicker('refresh');
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
});
$('.datatables-types').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "desc" ]],
"language": {
"url": "/js/German.json"
}
});
});
</script>
</div>
</div>
<div class="tab-pane fade @if($step === 'settings') active show @endif" id="navs-top-settings">
<div class="card">
<h4 class="mt-4 mb-2 ml-4">Ordner für Buchungen/E-Mail Ablage</h4>
<p class="ml-4">Unterordner werden für das jeweilige Reiseland der Buchung unter <a href="{{route('admin_settings_travel_country')}}">Reiseländer</a> -> Land / E-Mails zugewiesen </p>
<div class="card-datatable table-responsive pt-0">
<table class="datatables-customer-mail-dirs table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th style="width: 2%;">{{__('ID')}}</th>
<th>{{__('Name')}}</th>
<th>{{__('Icon')}}</th>
<th>{{__('Model')}}</th>
<th>{{__('E-Mails')}}</th>
</tr>
</thead>
<tbody>
@php($next_customer_mail_dir_id = 0)
@foreach($customer_mail_dirs as $customer_mail_dir)
<tr>
<td class="not">
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-customer-mail-dirs"
data-id="{{$customer_mail_dir->id}}"
data-icon="{{$customer_mail_dir->getArrayContent('icon')}}"
data-model="{{$customer_mail_dir->getArrayContent('model')}}"
data-emails="{{\App\Services\Util::_implodeLines($customer_mail_dir->getArrayContent('emails'))}}"
data-name="{{$customer_mail_dir->name}}"
data-pos="{{$customer_mail_dir->pos}}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $customer_mail_dir->pos }}</td>
<td>{{ $customer_mail_dir->name }}</td>
<td>{{ $customer_mail_dir->getArrayContent('icon') }}</td>
<td>{{ $customer_mail_dir->getArrayContent('model') }}</td>
<td>
{!! \App\Services\Util::_implodeLines( $customer_mail_dir->getArrayContent('emails'), "<br>") !!}
</td>
{{-- <td><a class="text-danger" href="" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td> --}}
</tr>
@php($next_customer_mail_dir_id = $customer_mail_dir->pos+1)
@endforeach
</tbody>
</table>
<div class="mt-4 ml-3 text-left">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-customer-mail-dirs"
data-id="new"
data-icon=""
data-model=""
data-emails=""
data-name=""
data-pos="{{$next_customer_mail_dir_id}}"
>Neuen Ordner anlegen</button>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-customer-mail-dirs">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('admin_settings_emails_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="action" value="customer_mail_dirs">
<input type="hidden" class="form-control" name="step" value="settings">
<input type="hidden" class="form-control" name="identifier" value="customer-mail-dirs">
<input type="hidden" class="form-control" name="field" value="array">
<div class="modal-header">
<h5 class="modal-title">E-Mail Ordner <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="pos" class="form-label">ID*</label>
<input type="text" class="form-control" name="pos" placeholder="{{__('ID')}}" required>
<em>Die ID definiert die Zuweisung der E-Mails in die jeweiligen Ordner, bei Änderungen der ID können schon zugeordnete E-Mails nicht mehr angezeigt werden.</em>
</div>
</div>
<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="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="icon" class="form-label">Icon*</label>
<input type="text" class="form-control" name="icon" placeholder="{{__('Icon')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="model" class="form-label">Model <span class="text-muted">(wird benötigt um Unterordner unter Reiseländer zuzuweisen)</span></label>
<input type="text" class="form-control" name="model" placeholder="{{__('Model')}}">
<em>Das Model das muss vorab in der Programmierung erfasst werden.</em>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label class="form-label" for="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="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>
<hr>
<h4 class="mt-2 mb-0 ml-4">Allgemeine PDF Dateien für Buchungen/E-Mail-Anhänge</h4>
<div class="card-datatable table-responsive pt-0">
<table class="datatables-booking-email-files table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th style="width: 2%;">{{__('POS')}}</th>
<th>{{__('Name')}}</th>
<th>{{__('Slug')}}</th>
<th>{{__('Inhalt')}}</th>
<th>{{__('Type')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($booking_email_files as $value)
<tr>
<td class="not">
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{ $value->id }}"
data-pos="{{ $value->pos }}"
data-identifier="{{$identifier_booking_file}}"
data-model="content"
data-back="{{route('admin_settings_emails', ['settings'])}}"
data-route="{{ route('cms_content_all_load_modal') }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $value->pos }}</td>
<td>{{ $value->name }}</td>
<td>{{ $value->slug }}</td>
<td>@if($value->isFile()) {!! $value->getPreviewContent() !!} @else {{ $value->getPreviewContent() }} @endif</td>
<td>{{ $value->getFieldName() }}</td>
<td><a class="text-danger" href="{{ route('cms_content_all_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 ml-3 text-left">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="new"
data-identifier="{{$identifier_booking_file}}"
data-field="file"
data-model="content"
data-back="{{route('admin_settings_emails', ['settings'])}}"
data-route="{{ route('cms_content_all_load_modal') }}"
>Neue Datei anlegen</button>
</div>
</div>
<hr><hr>
<!-- FEWO -->
<h4 class="mt-4 mb-2 ml-4">Ordner für FeWo/E-Mail Ablage</h4>
<div class="card-datatable table-responsive pt-0">
<table class="datatables-customer-fewo-mail-dirs table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th style="width: 2%;">{{__('ID')}}</th>
<th>{{__('Name')}}</th>
<th>{{__('Icon')}}</th>
<th>{{__('Model')}}</th>
<th>{{__('E-Mails')}}</th>
</tr>
</thead>
<tbody>
@php($next_customer_fewo_mail_dir_id = 0)
@foreach($customer_fewo_mail_dirs as $customer_fewo_mail_dir)
<tr>
<td class="not">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-customer-fewo-mail-dirs"
data-id="{{$customer_fewo_mail_dir->id}}"
data-icon="{{$customer_fewo_mail_dir->getArrayContent('icon')}}"
data-model="{{$customer_fewo_mail_dir->getArrayContent('model')}}"
data-emails="{{\App\Services\Util::_implodeLines($customer_fewo_mail_dir->getArrayContent('emails'))}}"
data-name="{{$customer_fewo_mail_dir->name}}"
data-pos="{{$customer_fewo_mail_dir->pos}}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $customer_fewo_mail_dir->pos }}</td>
<td>{{ $customer_fewo_mail_dir->name }}</td>
<td>{{ $customer_fewo_mail_dir->getArrayContent('icon') }}</td>
<td>{{ $customer_fewo_mail_dir->getArrayContent('model') }}</td>
<td>
{!! \App\Services\Util::_implodeLines( $customer_fewo_mail_dir->getArrayContent('emails'), "<br>") !!}
</td>
{{-- <td><a class="text-danger" href="" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td> --}}
</tr>
@php($next_customer_fewo_mail_dir_id = $customer_fewo_mail_dir->pos+1)
@endforeach
</tbody>
</table>
<div class="mt-4 ml-3 text-left">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-customer-fewo-mail-dirs"
data-id="new"
data-icon=""
data-model=""
data-emails=""
data-name=""
data-pos="{{$next_customer_fewo_mail_dir_id}}"
>Neuen Ordner anlegen</button>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-customer-fewo-mail-dirs">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('admin_settings_emails_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="action" value="customer_mail_dirs">
<input type="hidden" class="form-control" name="step" value="settings">
<input type="hidden" class="form-control" name="identifier" value="customer-fewo-mail-dirs">
<input type="hidden" class="form-control" name="field" value="array">
<div class="modal-header">
<h5 class="modal-title">E-Mail Ordner <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="pos" class="form-label">ID*</label>
<input type="text" class="form-control" name="pos" placeholder="{{__('ID')}}" required>
<em>Die ID definiert die Zuweisung der E-Mails in die jeweiligen Ordner, bei Änderungen der ID können schon zugeordnete E-Mails nicht mehr angezeigt werden.</em>
</div>
</div>
<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="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="icon" class="form-label">Icon*</label>
<input type="text" class="form-control" name="icon" placeholder="{{__('Icon')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="model" class="form-label">Model <span class="text-muted">(wird benötigt um Unterordner unter Reiseländer zuzuweisen)</span></label>
<input type="text" class="form-control" name="model" placeholder="{{__('Model')}}">
<em>Das Model das muss vorab in der Programmierung erfasst werden.</em>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label class="form-label" for="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="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>
<hr>
<h4 class="mt-2 mb-0 ml-4">Allgemeine PDF Dateien für FeWo/E-Mail-Anhänge</h4>
<div class="card-datatable table-responsive pt-0">
<table class="datatables-fewo-email-files table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th style="width: 2%;">{{__('POS')}}</th>
<th>{{__('Name')}}</th>
<th>{{__('Slug')}}</th>
<th>{{__('Inhalt')}}</th>
<th>{{__('Type')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($fewo_email_files as $value)
<tr>
<td class="not">
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{ $value->id }}"
data-pos="{{ $value->pos }}"
data-identifier="{{$identifier_fewo_file}}"
data-model="content"
data-back="{{route('admin_settings_emails', ['settings'])}}"
data-route="{{ route('cms_content_all_load_modal') }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $value->pos }}</td>
<td>{{ $value->name }}</td>
<td>{{ $value->slug }}</td>
<td>@if($value->isFile()) {!! $value->getPreviewContent() !!} @else {{ $value->getPreviewContent() }} @endif</td>
<td>{{ $value->getFieldName() }}</td>
<td><a class="text-danger" href="{{ route('cms_content_all_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 ml-3 text-left">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="new"
data-identifier="{{$identifier_fewo_file}}"
data-field="file"
data-model="content"
data-back="{{route('admin_settings_emails', ['settings'])}}"
data-route="{{ route('cms_content_all_load_modal') }}"
>Neue Datei anlegen</button>
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-booking-email-files').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "desc" ]],
"language": {
"url": "/js/German.json"
}
});
$('.datatables-customer-mail-dirs').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "asc" ]],
"language": {
"url": "/js/German.json"
}
});
$('.datatables-customer-fewo-mail-dirs').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "asc" ]],
"language": {
"url": "/js/German.json"
}
});
$('.datatables-fewo-email-files').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "desc" ]],
"language": {
"url": "/js/German.json"
}
});
$('#modals-customer-mail-dirs').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='pos']").val(button.data('pos'));
$(this).find(".modal-body input[name='icon']").val(button.data('icon'));
$(this).find(".modal-body input[name='model']").val(button.data('model'));
$(this).find(".modal-body textarea[name='emails']").val(button.data('emails'));
});
$('#modals-customer-fewo-mail-dirs').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='pos']").val(button.data('pos'));
$(this).find(".modal-body input[name='icon']").val(button.data('icon'));
$(this).find(".modal-body input[name='model']").val(button.data('model'));
$(this).find(".modal-body textarea[name='emails']").val(button.data('emails'));
});
});
</script>
</div>
</div>
</div>
@endsection

View file

@ -1,14 +1,36 @@
{!! Form::open([ 'url' => route('admin_settings_email_template_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
{!! Form::open([ 'url' => route('admin_settings_emails_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
{{ Form::hidden('action', 'email_template') }}
{{ Form::hidden('step', false) }}
{{ Form::hidden('id', $value->id) }}
<div class="modal-header">
<h5 class="modal-title">E-Mail 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">
<label class="form-label" for="filter_service_provider_id">Verzeichniss</label>
<select class="custom-select" name="email_template_dir_id" id="email_template_dir_id">
<option value="">Kein Verzeichniss</option>
@foreach($directories as $directory)
<option value="{{$directory->id}}" @if($value->email_template_dir_id === $directory->id) selected @endif>{{$directory->name}}</option>
@endforeach
</select>
</div>
<hr>
<div class="form-row">
<div class="form-group col">
<label for="subject" class="form-label">Betreff*</label>
{{ Form::text('subject', $value->subject, array('class'=>'form-control', 'required'=>true)) }}
<label for="name" class="form-label">Vorlage Bezeichnung*</label>
{{ Form::text('name', $value->name, array('class'=>'form-control', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="subject" class="form-label">Betreff</label>
{{ Form::text('subject', $value->subject, array('class'=>'form-control')) }}
</div>
</div>
<div class="form-row">

View file

@ -45,7 +45,6 @@
data-name=""
data-active="1"
data-travelcountry_id="0"
>Neues Reiseprogramm anlegen</button>
</div>
</div>

View file

@ -16,14 +16,22 @@
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Seite</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step == 'form') active show @endif" data-toggle="tab" href="#navs-form">Formular</a>
<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</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step == 'travel') active show @endif" data-toggle="tab" href="#navs-travel">Einreisebestimmungen</a>
<a class="nav-link @if($step === 'emails') active show @endif" data-toggle="tab" href="#navs-emails">E-Mails</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step === 'data') active show @endif" data-toggle="tab" href="#navs-data">PDF-Dateien</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step === 'services') active show @endif" data-toggle="tab" href="#navs-services">Leistungen</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step === 'travel') active show @endif" data-toggle="tab" href="#navs-travel">Einreisebestimmungen</a>
</li>
</ul>
@ -31,6 +39,12 @@
<div class="tab-content">
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-site">
<div class="card-body">
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="name">{{ __('Name') }} *</label>
{{ Form::text('name', $model->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required'=>true)) }}
</div>
</div>
<br>
<h4>Inhalte für Seite</h4>
<div class="form-row">
@ -83,7 +97,7 @@
</div>
</div>
<div class="tab-pane fade @if($step == 'form') active show @endif" id="navs-form">
<div class="tab-pane fade @if($step === 'form') active show @endif" id="navs-form">
<div class="card-body">
<br>
<h4>Inhalte für Formular</h4>
@ -102,27 +116,20 @@
</div>
</div>
<div class="tab-pane fade @if($step == 'contact') active show @endif" id="navs-contact">
<div class="tab-pane fade @if($step === 'contact') active show @endif" id="navs-contact">
<div class="card-body">
<h4>Land/Länder für Kontaktdaten definieren</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="contact_lands">Kontaktdaten aus folgenden Ländern nehmen</label>
<select class="selectpicker" data-style="btn-default" name="contact_lands[]" multiple>
{!! HTMLHelper::getTravelCountriesOptions($model->contact_lands) !!}
</select>
<em>Land/Länder müssen angeben sein, die Kontaktdaten des Landes (Reiselandes) werden nacheinander im PDF (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 PDF's (RA, RB, Voucher) eingefügt.</em>
</div>
</div>
<hr>
<h4>E-Mail-Adressen</h4>
<div class="form-row">
<div class="form-group col-sm-6">
<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>
{{ Form::textarea('contact_emails', \App\Services\Util::_implodeLines($model->contact_emails), ['class' => 'form-control', 'rows'=>4]) }}
</div>
</div>
<hr>
<h4>Kontaktdaten PDF</h4>
<h4>Kontaktdaten im PDF</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="contact_headline">Überschrift</label>
@ -147,7 +154,7 @@
</div>
</div>
<hr>
<h4>Rückfragen PDF</h4>
<h4>Rückfragen im PDF</h4>
<p>Übergreifende Texte für jedes Land sind unter: <a href="{{route('cms_content_all')}}">Inhalte Allgemein</a><br>
- PDF Footer Hinweise Rückfragen<br>
- PDF Footer Hinweise Reisebedingungen<br>
@ -164,7 +171,161 @@
</div>
</div>
<div class="tab-pane fade @if($step == 'travel') active show @endif" id="navs-travel">
<div class="tab-pane fade @if($step === 'emails') active show @endif" id="navs-emails">
<div class="card-body">
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="mail_dir_name">Angezeigter Ordnername für dieses Land*</label>
{{ Form::text('mail_dir_name', $model->mail_dir_name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name')) }}
</div>
</div>
<hr>
<h4>Vordefinierte E-Mail-Adressen <span class="text-muted">für dieses Reiseland</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_headline">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>
</div>
<hr>
<h4>Unterordner für die E-Mail Ablage für dieses Land</h4>
<p>Unterordner können unter <a href="{{route('admin_settings_emails', ['settings'])}}">Einstellungen -> E-Mails / Einstellungen</a> bearbeitet werden</p>
<hr>
@foreach(App\Services\Booking::getCustomerMailDirs() as $customer_mail_dir)
@if($customer_mail_dir->getArrayContent('model'))
<h5><i class="ion {{$customer_mail_dir->getArrayContent('icon')}}"></i> {{$customer_mail_dir->name}} <span class="text-muted">angezeigte E-Mail-Ordner</span></h5>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="mail_dirs">Unterordner hinzufügen</label>
<select class="selectpicker" data-style="btn-default" name="mail_dirs[{{$customer_mail_dir->pos}}][]" multiple data-live-search="true">
{!! HTMLHelper::getCustomerMailDirsOptions($customer_mail_dir, $model->getMailDirs($customer_mail_dir->pos)) !!}
</select>
<em>Zum jeweiligen Reiseland können hier weitere Unterordner für die E-Mail-Ablage ausgewählt werden.
Die vordefinierten E-Mail-Adressen des Reiselandes werden bei einer neuen E-Mail entsprechend einsetzt.</em>
</div>
</div>
<hr>
@endif
@endforeach
<button type="submit" name="action" value="emails" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
<div class="tab-pane fade @if($step === 'data') active show @endif" id="navs-data">
<div class="card-body">
<br>
<h4>PDF-Dateien <span class="text-muted">für dieses Reiseland</span></h4>
<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($model->general_files)
@php($general_files_count = 1)
@foreach($model->general_files as $general_file)
<tr>
<th scope="row">{{$general_files_count++}}</th>
<td>
<a target="_blank" href="{{ $general_file->getURL() }}" class="badge badge-md badge-secondary">
<i class="{{$general_file->getIconExt()}} mr-1"></i> {{$general_file->original_name}}
</a>
</td>
<td>
{{ $general_file->mine }} | {{ $general_file->formatBytes() }}
</td>
<td>{{\App\Services\Util::_format_date($general_file->created_at, 'date')}}</td>
<td>
<a href="{{ $general_file->getURL('download') }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
<a class="ml-2 btn btn-xs btn-danger" href="{{ route('admin_settings_travel_country_delete', [$general_file->id, 'general_file']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
<div class="text-right d-block w-100">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{$model->id}}"
data-model="GeneralFile"
data-action="modal-upload-travel_country-file"
data-back="{{route('admin_settings_travel_country_detail', [$model->id, 'data'])}}"
data-url="{{ route('modal_load') }}"
data-route="{{ route('modal_load') }}"><i class="ion ion-md-cloud-upload"></i>&nbsp;Datei hinzufügen</button>
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'services') active show @endif" id="navs-services">
<div class="card-body">
<br>
<h4>Länderleistungen/Agenturleistungen <span class="text-muted">für dieses Reiseland</span></h4>
<div class="table-responsive" id="booking_files_table">
<table class="table table-striped table-sm">
<thead>
<tr>
<th style="width: 2%;">&nbsp;</th>
<th style="width: 6%;">{{__('POS')}}</th>
<th>Leistung</th>
<th>Beschreibung</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
@if($model->travel_country_services)
@foreach($model->travel_country_services as $travel_country_service)
<tr>
<td class="not">
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{$travel_country_service->id}}"
data-model="TravelCountryService"
data-action="modal-travel_country-services"
data-back="{{route('admin_settings_travel_country_detail', [$model->id, 'services'])}}"
data-url="{{ route('admin_settings_travel_country_update', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
</td>
<td>{{$travel_country_service->pos }}</td>
<td>{{$travel_country_service->name}}</td>
<td>{{$travel_country_service->description}}</td>
<td>
<a class="ml-2 btn btn-xs btn-danger" href="{{ route('admin_settings_travel_country_delete', [$travel_country_service->id, 'country_service']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
<div class="text-right d-block w-100">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="new"
data-model="TravelCountryService"
data-action="modal-travel_country-services"
data-back="{{route('admin_settings_travel_country_detail', [$model->id, 'services'])}}"
data-url="{{ route('admin_settings_travel_country_update', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><i class="ion ion-md-add-circle"></i>&nbsp;Leistung hinzufügen</button>
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'travel') active show @endif" id="navs-travel">
<div class="card-body">
<br>
<h4>Einreisebestimmungen</h4>
@ -175,22 +336,16 @@
{{ 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]) }}
</div>
</div>
@endforeach
<button type="submit" name="action" value="travel" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
</div>
<div class="text-left mt-3">
<a href="{{route('admin_settings_travel_country')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
<script>

View file

@ -75,7 +75,9 @@
@endforeach
</tbody>
</table>
</div>
<div class="ml-3 mb-2">
<a href="{{ route('admin_settings_travel_country_detail', ['new']) }}" class="btn btn-sm btn-primary">Neues Reiseland anlegen</a>
</div>
<script>
$( document ).ready(function() {