This commit is contained in:
Kevin Adametz 2022-06-15 18:05:16 +02:00
parent 34a3d2196b
commit 93d1bea8e3
45 changed files with 1601 additions and 573 deletions

View file

@ -124,15 +124,15 @@
<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}}
<i class="fa fa-file-pdf mr-1"></i> Voucher ID {{$booking_voucher->id}}
</a>
</td>
<td>
&nbsp;
Voucher für den Kunden
</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"
<a href="{{ route('customer_file_show', ['booking_voucher', $booking_voucher->id, true]) }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
@ -141,6 +141,29 @@
@endforeach
@endif
@if($booking->booking_voucher_agencys)
@foreach($booking->booking_voucher_agencys as $booking_voucher_agency)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher_agency->id]) }}" target="_blank" class="badge badge-md badge-dark">
<i class="fa fa-file-pdf mr-1"></i> Voucher-Agentur ID {{$booking_voucher_agency->id}}
</a>
</td>
<td>
Voucher für die Agentur
</td>
<td>{{\App\Services\Util::_format_date($booking_voucher_agency->updated_at, 'date')}}</td>
<td>
<a href="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher_agency->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>

View file

@ -114,15 +114,39 @@
<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}}
<i class="fa fa-file-pdf mr-1"></i> Voucher ID {{$booking_voucher->id}}
</a>
</td>
<td>
&nbsp;
Voucher für den Kunden
</td>
<td>{{\App\Services\Util::_format_date($booking_voucher->updated_at, 'date')}}</td>
<td>
<button data-target="{{ route('customer_file_show', ['booking_vouchers', $booking_voucher->id]) }}" data-name="Voucher-ID_{{$booking_voucher->id}}.pdf" class="btn btn-xs btn-primary add-file-to-attachment"
<button data-target="{{ route('customer_file_show', ['booking_voucher', $booking_voucher->id]) }}" data-name="Voucher-ID_{{$booking_voucher->id}}.pdf" class="btn btn-xs btn-primary add-file-to-attachment"
title="als Anhang hinzufügen" data-placement="left" rel="tooltip">
<i class="fa fa-cloud-download-alt"></i>
</button>
</td>
</tr>
@endforeach
@endif
@if($booking->booking_voucher_agencys)
@foreach($booking->booking_voucher_agencys as $booking_voucher_agency)
<tr>
<th scope="row">{{$booking_files_count++}}</th>
<td>
<a href="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher_agency->id]) }}" target="_blank" class="badge badge-md badge-dark">
<i class="fa fa-file-pdf mr-1"></i> Voucher-Agentur ID {{$booking_voucher_agency->id}}
</a>
</td>
<td>
Voucher für die Agentur
</td>
<td>{{\App\Services\Util::_format_date($booking_voucher_agency->updated_at, 'date')}}</td>
<td>
<button data-target="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher->id]) }}" data-name="Voucher-Agentur-ID_{{$booking_voucher->id}}.pdf" class="btn btn-xs btn-primary add-file-to-attachment"
title="als Anhang hinzufügen" data-placement="left" rel="tooltip">
<i class="fa fa-cloud-download-alt"></i>
</button>

View file

@ -5,65 +5,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mein STERN TOURS</title>
<style type="text/css">
img {
max-width: 600px;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
a {
text-decoration: none;
border: 0;
outline: none;
color: #5f8155;
}
a:hover {
color:#e5aa30;
}
a img {
border: none;
}
td, h1, h2, h3 {
font-family: "Roboto", Helvetica, Arial, sans-serif;
font-weight: 400;
}
td {
text-align: center;
}
body {
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: none;
width: 100%;
height: 100%;
color: #37302d;
background: #ffffff;
font-size: 15px;
line-height: 26px
}
table {
border-collapse: collapse !important;
}
.headline {
color: #5f8155;
font-size: 16px;
}
.force-full-width {
width: 100% !important;
}
</style>
</head>
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
<body class="body" style="padding:0; margin:0; display:block; width: 100%; height: 100%; background:#f8f8f8; color: #37302d; font-size: 14px; line-height: 20px -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
<div style="display: none; mso-hide: all; width: 0px; height: 0px; max-width: 0px; max-height: 0px; font-size: 0px; line-height: 0px;">
{{ $copy1line }}
@ -74,7 +17,7 @@
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
<center>
<br>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="700" class="w320">
<tr>
<td align="center" valign="top">
@include('emails.header')
@ -89,7 +32,7 @@
<tr>
<td>
<center>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td style="color:#37302d;">
<br>
@ -105,7 +48,7 @@
<tr>
<td>
<center>
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
<table style="text-align: left;" role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
<tbody>
<tr>
<td style="word-wrap:break-word;background:transparent;font-size:0px;padding:10px 25px;padding-top:15px;padding-bottom:15px;padding-right:40px;padding-left:40px;" align="center" valign="top" background="data:image/gif;base64,">

View file

@ -5,76 +5,27 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mein STERN TOURS</title>
<style type="text/css">
img {
max-width: 600px;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
a {
text-decoration: none;
border: 0;
outline: none;
color: #5f8155;
}
a:hover {
color:#e5aa30;
}
a img {
border: none;
}
td, h1, h2, h3 {
font-family: "Roboto", Helvetica, Arial, sans-serif;
font-weight: 400;
}
td {
text-align: left;
}
body {
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: none;
width: 100%;
height: 100%;
color: #37302d;
background: #ffffff;
font-size: 14px;
line-height: 20px
}
table {
border-collapse: collapse !important;
}
.headline {
color: #5f8155;
font-size: 16px;
}
.force-full-width {
width: 100% !important;
}
</style>
</head>
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
<body class="body" style="padding:0; margin:0; display:block; width: 100%; height: 100%; background:#f8f8f8; color: #37302d; font-size: 14px; line-height: 20px -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
<div style="display: none; mso-hide: all; width: 0px; height: 0px; max-width: 0px; max-height: 0px; font-size: 0px; line-height: 0px;">
{{ strip_tags($content) }}
</div>
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%">
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%" style="text-align: left;">
<tr>
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
<center>
<br>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="700" class="w320">
<tr>
<td align="center" valign="top">
@include('emails.header')
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="100%"
bgcolor="#ffffff">
<tr>
<td>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td style="color:#37302d; text-align: left">
<p>

View file

@ -1,5 +1,4 @@
<table cellpadding="0" cellspacing="0" class="force-full-width"
bgcolor="#f8f8f8" style="margin: 0 auto">
<table cellpadding="0" cellspacing="0" bgcolor="#f8f8f8" style="margin: 0 auto; width: 100% !important; text-align: left;">
<tr>
<td style="color:#7B7B7E; font-size:14px;">
<br>

View file

@ -1,13 +1,13 @@
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style=" text-align:center;">
<center>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody class="">
<tr class="">
<td align="center" valign="top" style="font-size: 0px; text-align: center">
<picture class="">
<img src="https://mein.sterntours.de/images/stern-tours-logo.png" alt="STERN TOURS" style="border:none" width="260">
<img src="https://mein.sterntours.de/images/stern-tours-logo.png" alt="STERN TOURS" style="border:none;" width="260">
</picture>
</td>
</tr>

View file

@ -5,80 +5,19 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mein STERN TOURS</title>
<style type="text/css">
img {
max-width: 600px;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
a {
text-decoration: none;
border: 0;
outline: none;
color: #5f8155;
}
a:hover {
color:#e5aa30;
}
a img {
border: none;
}
td, h1, h2, h3 {
font-family: "Roboto", Helvetica, Arial, sans-serif;
font-weight: 400;
}
td {
text-align: left;
}
body {
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: none;
width: 100%;
height: 100%;
color: #37302d;
background: #ffffff;
font-size: 14px;
line-height: 20px
}
table {
border-collapse: collapse !important;
}
.headline {
color: #5f8155;
font-size: 16px;
}
.force-full-width {
width: 100% !important;
}
</style>
</head>
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
<body class="body" style="padding:0; margin:0; display:block; width: 100%; height: 100%; background:#f8f8f8; color: #37302d; font-size: 14px; line-height: 20px -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
<div style="display: none; mso-hide: all; width: 0px; height: 0px; max-width: 0px; max-height: 0px; font-size: 0px; line-height: 0px;">
{{ $copy1line }}
</div>
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%">
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%" style="text-align: left;">
<tr>
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
<center>
<br>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="700" class="w320">
<tr>
<td align="center" valign="top">
@include('emails.header')
@ -86,7 +25,7 @@
bgcolor="#ffffff">
<tr>
<td>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td style="color:#37302d; text-align: left">
<p style="font-size: 14px;">{!! nl2br($copy1line) !!}</p>

View file

@ -5,55 +5,6 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mein STERN TOURS</title>
<style type="text/css">
img {
max-width: 600px;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
a {
text-decoration: none;
border: 0;
outline: none;
color: #5f8155;
}
a:hover {
color:#e5aa30;
}
a img {
border: none;
}
td, h1, h2, h3 {
font-family: "Roboto", Helvetica, Arial, sans-serif;
font-weight: 400;
}
td {
text-align: left;
}
body {
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: none;
width: 100%;
height: 100%;
color: #37302d;
background: #ffffff;
font-size: 14px;
line-height: 20px
}
table {
border-collapse: collapse !important;
}
.headline {
color: #5f8155;
font-size: 16px;
}
.force-full-width {
width: 100% !important;
}
</style>
</head>
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
@ -61,7 +12,7 @@
{{ $copy1line }}
</div>
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%">
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%" style="text-align: left;">
<tr>
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
<center>
@ -70,15 +21,14 @@
<tr>
<td align="center" valign="top">
@include('emails.header')
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
bgcolor="#ffffff">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff" >
<tr>
<td>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td style="color:#37302d; text-align: left">
<br>
<b><span class="headline"> {{ $salutation }} </span></b>
<b><span style="color: #5f8155; font-size: 16px;"> {{ $salutation }} </span></b>
<br>
<p style="font-size: 14px;">{{ $copy1line }}</p>
</td>
@ -88,7 +38,7 @@
</tr>
<tr>
<td>
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5" cellpadding="3" cellspacing="0" width="90%">
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5; text-align: left;" cellpadding="3" cellspacing="0" width="90%">
<tr>
<td style="color:#37302d; text-align: right; vertical-align: top; width: 25%; " >
{{ __('Belegungszeitraum:') }}
@ -142,7 +92,7 @@
</tr>
<tr>
<td style="color:#37302d;font-size: 14px;">
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
@if($notice && $notice != "")
<tr>
<td style="color:#37302d;">

View file

@ -346,11 +346,27 @@
<a href="{{ route('admin_settings_travel_company') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-archive"></i><div>{{ __('Veranstalter') }}</div></a>
</li>
@endif
@if(Auth::user()->isPermission('sua-st-tca'))
<li class="sidenav-item{{ Request::is('admin/settings/travel_category') ? ' active' : '' }}">
<a href="{{ route('admin_settings_travel_category') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-briefcase"></i><div>{{ __('Reiseart') }}</div></a>
</li>
@endif
@if(Auth::user()->isPermission('sua-st-tap'))
<li class="sidenav-item{{ Request::is('admin/settings/travel_arrival_point') ? ' active' : '' }}">
<a href="{{ route('admin_settings_travel_arrival_point') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-pin"></i><div>{{ __('Zielflughafen') }}</div></a>
</li>
@endif
@if(Auth::user()->isPermission('sua-st-in'))
<li class="sidenav-item{{ Request::is('admin/settings/insurance') ? ' active' : '' }}">
<a href="{{ route('admin_settings_insurance') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-umbrella"></i><div>{{ __('Versicherungen') }}</div></a>
</li>
@endif
@if(Auth::user()->isPermission('sua-st-tgn'))
<li class="sidenav-item{{ Request::is('admin/settings/gerneral_notes') ? ' active' : '' }}">
<a href="{{ route('admin_settings_gerneral_notes') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>{{ __('Reisehinweise') }}</div></a>
</li>
@endif
@if(Auth::user()->isPermission('sua-st-ca'))
<li class="sidenav-item{{ Request::is('admin/settings/categories') ? ' active' : '' }}">
<a href="{{ route('admin_settings_categories') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-list-box"></i><div>{{ __('Kategorien') }}</div></a>

View file

@ -0,0 +1,106 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Reisehinweise
</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>{{__('Name')}}</th>
<th>{{__('Text')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($gerneral_notes as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-text="{{ $value->text }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
<td data-sort="{{ $value->id }}">{{ $value->text }}</td>
<td><a class="text-danger" href="{{ route('admin_settings_gerneral_notes_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-default"
data-id="new"
data-name=""
data-text=""
>Neues Reiseprogramm anlegen</button>
</div>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-default">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('admin_settings_gerneral_notes_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<div class="modal-header">
<h5 class="modal-title">Reiseprogramme <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 class="form-label" for="text">Text</label>
<textarea class="form-control" rows="10" name="text" cols=""></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-default').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body textarea[name='text']").val(button.data('text'));
});
$('.datatables-default').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "asc" ]],
"language": {
"url": "/js/German.json"
}
});
});
</script>
@endsection

View file

@ -0,0 +1,117 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Zielflughafen
</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>{{__('Name')}}</th>
<th>{{__('Land')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($travel_arrival_point as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-active="{{ $value->active }}"
data-travel_country_id="{{$value->travel_country_id}}">
<span class="fa fa-edit"></span>
</button>
</td>
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
<td>{{ $value->travel_country->name }}</td>
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
<td><a class="text-danger" href="{{ route('admin_settings_travel_arrival_point_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-default"
data-id="new"
data-name=""
data-active="1"
data-travel_country_id="0"
>Neues Reiseprogramm anlegen</button>
</div>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-default">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('admin_settings_travel_arrival_point_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<div class="modal-header">
<h5 class="modal-title">Reiseprogramme <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-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 class="form-group">
<label for="travel_country_id" class="form-label">{{__('Land')}}</label>
<select class="selectpicker" data-style="btn-default" name="travel_country_id" data-live-search="true" required>
{!! HTMLHelper::getTravelCountriesOptions(false, false) !!}
</select>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-default').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
$(this).find(".modal-body select[name='travel_country_id']").val(button.data('travel_country_id'));
$('.selectpicker').selectpicker('refresh');
});
$('.datatables-default').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "asc" ]],
"language": {
"url": "/js/German.json"
}
});
});
</script>
@endsection

View file

@ -0,0 +1,107 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Reiseart
</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>{{__('Name')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($travel_category as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-active="{{ $value->active }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
<td><a class="text-danger" href="{{ route('admin_settings_travel_category_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-default"
data-id="new"
data-name=""
data-active="1">Neue Reiseart anlegen</button>
</div>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-default">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('admin_settings_travel_category_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<div class="modal-header">
<h5 class="modal-title">Reiseart <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-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() {
$('#modals-default').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
//$('.selectpicker').selectpicker('refresh');
});
$('.datatables-default').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"order": [[ 1, "asc" ]],
"language": {
"url": "/js/German.json"
}
});
});
</script>
@endsection

View file

@ -0,0 +1,52 @@
<div class="card mb-2 border-primary">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramClasses" aria-expanded="false" aria-controls="collapseTravelProgramClasses">
<strong style="line-height: 1.6em">Kategorien/Klassen</strong>
</h6>
<div class="collapse" id="collapseTravelProgramClasses">
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Standard</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($program->classes as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-classes"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-description="{{ $value->description }}"
data-standard="{{ $value->standard }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $value->name }}</td>
<td>@if($value->standard)
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
@endif
</td>
<td><a class="text-danger" href="{{ route('travel_program_class_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-classes"
data-id="new"
data-name=""
data-description=""
data-active="1"
>Neue Katagorie anlegen</button>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,104 @@
<div class="card mb-2 border-primary">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramDetails" aria-expanded="false" aria-controls="collapseTravelProgramDetails">
<strong style="line-height: 1.6em">Details</strong>
</h6>
<div class="collapse" id="collapseTravelProgramDetails">
<div class="card-body">
<div class="form-row">
<div class="form-group col-sm-6 col-md-4">
<label for="default_flight_price" class="form-label">{{ __('Standard-Flugpreis') }}</label>
{{ Form::text('default_flight_price', $program->default_flight_price, array('class'=>'form-control', 'id'=>'default_flight_price')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="deposit_percent" class="form-label">{{ __(' Anzahlung in %') }}
<button class="btn btn-xs btn-default" title=" wenn leer, default Wert 20%<br>0 = keine Anzahlung<br>Ägypten 20% vom Gesamtpreis<br>Rest 100% vom Flugpreis und 20% Landleistung" data-placement="top" rel="tooltip">
<i class="fa fa-info"></i></button></label>
{{ Form::text('deposit_percent', $program->deposit_percent, array('class'=>'form-control', 'id'=>'deposit_percent')) }}
</div>
<div class="form-group col-6 col-sm-3 col-md-2">
<label for="discount" class="form-label">{{ __('Rabatt') }}*</label>
{{ Form::text('discount', $program->discount, array('class'=>'form-control', 'id'=>'discount')) }}
</div>
<div class="form-group col-6 col-sm-3 col-md-2">
<label for="discount_is_percent_value" class="form-label">{{ __('Rabatt in') }}*</label>
{{ Form::select('discount_is_percent_value', $program::$programDiscountTypes , $program->discount_is_percent_value, array('class'=>'custom-select', 'id'=>'discount_is_percent_value')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_arrival_point_id" class="form-label">{{ __('Zielflughafen') }}* <a href="{{ route('admin_settings_travel_arrival_point') }}"><i class="fa fa-edit"></i></a></label>
{{ Form::select('travel_arrival_point_id', \App\Services\Model::getTravelArrivalPointArray(true) , $program->travel_arrival_point_id, array('class'=>'custom-select', 'id'=>'travel_arrival_point_id')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="max_age_for_children" class="form-label">{{ __('max. Alter für Kinderermäßigung (0 = keine)') }}</label>
{{ Form::text('max_age_for_children', $program->max_age_for_children, array('class'=>'form-control', 'id'=>'max_age_for_children')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="url" class="form-label">{{ __('URL') }}</label>
{{ Form::text('url', $program->url, array('class'=>'form-control', 'id'=>'url')) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="generalnote" class="form-label">{{ __('Reisehinweise') }}* <a href="{{ route('admin_settings_gerneral_notes') }}"><i class="fa fa-edit"></i></a></label>
{{ Form::select('generalnote', \App\Services\Model::getTravelGerneralNotesArray(true) , $program->generalnote, array('class'=>'custom-select', 'id'=>'generalnote')) }}
</div>
<div class="col-sm-12">
<div class="text-left mt-2">
<button type="submit" name="action" value="saveDetails" class="btn btn-sm btn-secondary">Änderungen speichern</button>&nbsp;
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
</div>
</div>
</div>
</div>
</div>
</div>
{{--
Text
Eingeschlossene Leistungen (pro Zeile eine Leistung!)
included
Klassen/Kategorien und zusätzliche Infos (erscheint unterhalb der "Eingeschlossenen Leistungen") (HTML)
class_description
Nicht eingeschlossene Leistungen (pro Zeile eine Leistung!)
excluded
Hinweise
advices
Anmerkungen (pro Zeile eine Anmerkung!)
notes
HTML-Beschreibung
html_description
Text (rechts außen)
text_right
Reiseversicherung 1
Reiseversicherung 2
Reiseversicherung 3
Reiseversicherung 4
Im Slider anzeigen?
Kartentyp
Währung der Netto-Preise
Position bei Suchergebnissen (Kleinere Wert bedeutet höhere Position)
--}}

View file

@ -0,0 +1,55 @@
<div class="card mb-2 border-primary">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramDrafts" aria-expanded="false" aria-controls="collapseTravelProgramDrafts">
<strong style="line-height: 1.6em">Vorlagen Reiseprogramm (CRM)</strong>
</h6>
<div class="collapse" id="collapseTravelProgramDrafts">
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Kategorie</th>
<th>Wochentage</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($program->travel_program_drafts as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
data-id="{{ $value->id }}"
data-travel_class_id="{{ $value->travel_class_id }}"
data-draft_id="{{ $value->draft_id }}"
data-weekdays="{{ json_encode($value->weekdays) }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $value->draft->name }}</td>
<td>@if( $value->travel_class)
{{ $value->travel_class->name }}
@else
alle Kategorien
@endif
</td>
<td>
{!! HTMLHelper::getWeekdaysString($value->weekdays) !!}
</td>
<td><a class="text-danger" href="{{ route('travel_program_draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
data-id="new"
data-travel_class_id=""
data-draft_id=""
data-weekdays=""
>Neue Vorlage zuordnen</button>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,80 @@
<div class="card mb-2 border-primary">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramGeneral" aria-expanded="false" aria-controls="collapseTravelProgramGeneral">
<strong style="line-height: 1.6em">Allgemein</strong>
</h6>
<div class="collapse" id="collapseTravelProgramGeneral">
<div class="card-body">
<div class="form-group">
<label class="custom-control custom-checkbox float-right">
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('aktiv')}}</span>
</label>
<label class="form-label" for="title">{{ __('Title') }}*</label>
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'title', 'required'=>true)) }}
</div>
<div class="form-row">
<div class="form-group col">
<label class="form-label" for="subtitle">{{ __('Subtitle') }}*</label>
{{ Form::text('subtitle', $program->subtitle, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'subtitle', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-6 col-md-4">
<label for="program_code" class="form-label">{{ __('Programm Code') }}*</label>
{{ Form::text('program_code', $program->program_code, array('class'=>'form-control', 'id'=>'program_code', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="program_type" class="form-label">{{ __('Programtyp') }}*</label>
{{ Form::select('program_type', $program::$programTypeTypes , $program->program_type, array('class'=>'custom-select', 'id'=>'program_type', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="category_id" class="form-label">{{ __('Kategorie') }}*</label>
{{ Form::select('category_id', $program::$travelCategoryTypes , $program->category_id, array('class'=>'custom-select', 'id'=>'category_id', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_country" class="form-label">{{ __('Reiseland') }}* <a href="{{ route('admin_settings_travel_country') }}"><i class="fa fa-edit"></i></a></label>
{{ Form::select('travel_country', \App\Services\Model::getSymTravelCountryArray() , $program->travel_country, array('class'=>'custom-select', 'id'=>'travel_country', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_agenda" class="form-label">{{ __('Reiseprogramm') }}* <a href="{{ route('admin_settings_travel_program') }}"><i class="fa fa-edit"></i></a></label>
{{ Form::select('travel_agenda', \App\Services\Model::getTravelAgendaArray(true) , $program->travel_agenda, array('class'=>'custom-select', 'id'=>'travel_agenda', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_category" class="form-label">{{ __('Reiseart') }}* <a href="{{ route('admin_settings_categories') }}"><i class="fa fa-edit"></i></a></label>
{{ Form::select('travel_category', \App\Services\Model::getTravelCategoryArray() , $program->travel_category, array('class'=>'custom-select', 'id'=>'travel_category', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-8">
<label for="weekdays" class="form-label">{{__('Wochentage')}}*</label>
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple required>
{!! HTMLHelper::getWeekdaysOptions(false, $program->getWeekdaysArray()) !!}
</select>
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_company" class="form-label">{{ __('Veranstalter') }}* <a href="{{ route('admin_settings_travel_company') }}"><i class="fa fa-edit"></i></a></label>
{{ Form::select('travel_company', \App\Services\Model::getTravelCompanyArray() , $program->travel_company, array('class'=>'custom-select', 'id'=>'travel_company', 'required'=>true)) }}
</div>
<div class="col-sm-12">
<div class="text-left mt-2">
<button type="submit" name="action" value="saveGeneral" class="btn btn-sm btn-secondary">Änderungen speichern</button>&nbsp;
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
</div>
</div>
</div>
{{--
<div class="form-row">
<div class="form-group col">
<a href="{{route('travel_program_generate_keywords', [$program->id])}}" class="btn btn-xs btn-secondary float-right">generate Keywords</a>
<label for="keywords" class="form-label">{{__('Keywords')}}</label>
{{ Form::text('keywords', $program->keywords, array('placeholder'=>__('Keyword,Keyword'), 'class'=>'form-control', 'id'=>'keywords')) }}
</div>
</div>
--}}
</div>
</div>
</div>

View file

@ -0,0 +1,105 @@
<div class="modal fade" id="modals-classes">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_class_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="program_id" value="{{$program->id}}">
<div class="modal-header">
<h5 class="modal-title">Programm Katagorie/Klassen <span class="font-weight-light">anlegen/bearbeiten</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label class="custom-control custom-checkbox float-right">
<input type="checkbox" class="custom-control-input" name="standard" checked>
<span class="custom-control-label">{{__('Standard')}}</span>
</label>
<label for="name" class="form-label">Name*</label>
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="description" class="form-label">Beschreibung</label>
<input type="text" class="form-control" name="description" placeholder="{{__('Description')}}">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<div class="modal fade" id="modals-draft">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_draft_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="travel_program_id" value="{{$program->id}}">
<div class="modal-header">
<h5 class="modal-title">Vorlage Reiseprogramm <span class="font-weight-light">zuordnen</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="draft_id" class="form-label">{{__('Vorlage')}}</label>
<select class="selectpicker" data-style="btn-default" name="draft_id" data-live-search="true" required>
{!! HTMLHelper::getDraftOptions() !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="travel_class_id" class="form-label">{{__('Kategorie')}}</label>
<select class="selectpicker" data-style="btn-default" name="travel_class_id">
{!! HTMLHelper::getTravelClassOptions($program->id) !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="weekdays" class="form-label">{{__('Wochentage')}}</label>
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple>
{!! HTMLHelper::getWeekdaysOptions($program->id) !!}
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-classes').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body input[name='description']").val(button.data('description'));
$(this).find(".modal-body input[name='standard']").prop( "checked", button.data('standard'));
});
$('#modals-draft').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body select[name='draft_id']").val(button.data('draft_id'));
$(this).find(".modal-body select[name='travel_class_id']").val(button.data('travel_class_id'));
$(this).find(".modal-body select[name='weekdays[]']").val(button.data('weekdays'));
$('.selectpicker').selectpicker('refresh');
});
});
</script>

View file

@ -2,317 +2,148 @@
@section('content')
<style>
body {
}
.btn-xs {
line-height: 1.3em;
}
.table tbody + tbody {
border-top: 1px solid #9c9c9c;
}
.table th, .table td {
border-top: none;
}
.table tr.border-none td, .table tr.border-none th {
border-top: none;
}
.table .thead-dark th {
color: #4E5155;
background-color: rgba(24, 28, 33, 0.1);
border-color: rgba(63, 69, 74, 0.1);
}
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
.input-group-text {
padding: 0.438rem 0.475rem;
}
</style>
<h4 class="font-weight-bold py-3 mb-1">
Programm @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
Reiseprogramm @if($id == "new") <span class="text-primary">anlegen</span> @else verwalten {{"(ID: ".$id.")"}} @endif
<div class="float-right">
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('travel_programs')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
<a href="{{route('travel_programs')}}" class="btn btn-default btn-sm">{{ __('zur Übersicht') }}</a>
</div>
</h4>
<div class="clearfix"></div>
<ul class="nav nav-sm nav-tabs nav-justified tabs-alt mb-3" id="top-nav-quick-jump">
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramGeneral">
Allgemein
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramDetails">
Details
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramClasses">
Klassen
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramDrafts">
Vorlagen
</a>
</li>
</ul>
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
<input type="hidden" name="id" id="id" value="{{$id}}">
<!-- draft -->
<div class="card mb-2">
<div class="card-body">
<div class="form-group">
<label class="custom-control custom-checkbox float-right">
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('aktiv')}}</span>
</label>
<label class="form-label" for="program_title">{{ __('Title') }}*</label>
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'program_title', 'required'=>true)) }}
</div>
<div class="form-row">
<div class="form-group col">
<label class="form-label" for="program_subtitle">{{ __('Subtitle') }}*</label>
{{ Form::text('subtitle', $program->subtitle, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'program_subtitle', 'required'=>true)) }}
</div>
</div>
@include('travel.program._general')
<div class="form-row">
<div class="form-group col-sm-6 col-md-4">
<label for="program_code" class="form-label">{{ __('Programm Code') }}*</label>
{{ Form::text('program_code', $program->program_code, array('class'=>'form-control', 'id'=>'program_code', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="program_type" class="form-label">{{ __('Programtyp') }}*</label>
{{ Form::select('program_type', $program::$programTypeTypes , $program->program_type, array('class'=>'custom-select', 'id'=>'program_type', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="category_id" class="form-label">{{ __('Kategorie') }}*</label>
{{ Form::select('category_id', $program::$travelCategoryTypes , $program->category_id, array('class'=>'custom-select', 'id'=>'category_id', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_country" class="form-label">{{ __('Reiseland') }}*</label>
{{ Form::select('travel_country', \App\Services\Model::getSymTravelCountryArray() , $program->travel_country, array('class'=>'custom-select', 'id'=>'travel_country', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_agenda" class="form-label">{{ __('Reiseprogramm') }}*</label>
{{ Form::select('travel_agenda', \App\Services\Model::getTravelAgendaArray(false) , $program->travel_agenda, array('class'=>'custom-select', 'id'=>'travel_agenda', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_category" class="form-label">{{ __('Reiseart') }}*</label>
{{ Form::select('travel_category', \App\Services\Model::getTravelCategoryArray() , $program->travel_category, array('class'=>'custom-select', 'id'=>'travel_category', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6 col-md-8">
<label for="weekdays" class="form-label">{{__('Wochentage')}}*</label>
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple required>
{!! HTMLHelper::getWeekdaysOptions(false, $program->getWeekdaysArray()) !!}
</select>
</div>
<div class="form-group col-sm-6 col-md-4">
<label for="travel_company" class="form-label">{{ __('Veranstalter') }}*</label>
{{ Form::select('travel_company', \App\Services\Model::getTravelCompanyArray() , $program->travel_company, array('class'=>'custom-select', 'id'=>'travel_company', 'required'=>true)) }}
</div>
</div>
@if($id !== "new" && $program)
@include('travel.program._details')
@include('travel.program._classes')
@include('travel.program._drafts')
@endif
{{--
<div class="form-row">
<div class="form-group col">
<a href="{{route('travel_program_generate_keywords', [$program->id])}}" class="btn btn-xs btn-secondary float-right">generate Keywords</a>
<label for="keywords" class="form-label">{{__('Keywords')}}</label>
{{ Form::text('keywords', $program->keywords, array('placeholder'=>__('Keyword,Keyword'), 'class'=>'form-control', 'id'=>'keywords')) }}
</div>
</div>
--}}
</div>
<div class="float-right mt-3">
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
<a href="{{ make_v2_url("/acp/travel_program/show/".$program->id."/") }}" class="btn btn-sm btn-default float-right">{{ __('zurück ins v2 Programm') }}</a>
</div>
<!-- program classes -->
<div class="card mb-2">
<h6 class="card-header">
Eingetragene Kategorien/Klassen
</h6>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Standard</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($program->classes as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-description="{{ $value->description }}"
data-standard="{{ $value->standard }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $value->name }}</td>
<td>@if($value->standard)
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
@endif
</td>
<td><a class="text-danger" href="{{ route('travel_program_class_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
data-id="new"
data-name=""
data-description=""
data-active="1"
>Neue Katagorie anlegen</button>
</div>
</div>
</div>
<!-- program classes -->
<div class="card mb-2">
<h6 class="card-header">
Vorlagen Reiseprogramm (CRM)
</h6>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Kategorie</th>
<th>Wochentage</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($program->travel_program_drafts as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
data-id="{{ $value->id }}"
data-travel_class_id="{{ $value->travel_class_id }}"
data-draft_id="{{ $value->draft_id }}"
data-weekdays="{{ json_encode($value->weekdays) }}">
<span class="fa fa-edit"></span>
</button>
</td>
<td>{{ $value->draft->name }}</td>
<td>@if( $value->travel_class)
{{ $value->travel_class->name }}
@else
alle Kategorien
@endif
</td>
<td>
{!! HTMLHelper::getWeekdaysString($value->weekdays) !!}
</td>
<td><a class="text-danger" href="{{ route('travel_program_draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
data-id="new"
data-travel_class_id=""
data-draft_id=""
data-weekdays=""
>Neue Vorlage zuordnen</button>
</div>
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('travel_programs')}}" class="btn btn-default">{{ __('back') }}</a>
<a href="{{ make_v2_url("/acp/travel_program/show/".$program->id."/") }}" class="btn btn-default float-right">{{ __('zurück ins v2 Programm') }}</a>
</div>
{!! Form::close() !!}
<!-- Modal template -->
<div class="modal fade" id="modals-class">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_class_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="program_id" value="{{$program->id}}">
<div class="modal-header">
<h5 class="modal-title">Programm Katagorie/Klassen <span class="font-weight-light">anlegen/bearbeiten</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label class="custom-control custom-checkbox float-right">
<input type="checkbox" class="custom-control-input" name="standard" checked>
<span class="custom-control-label">{{__('Standard')}}</span>
</label>
<label for="name" class="form-label">Name*</label>
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="description" class="form-label">Beschreibung</label>
<input type="text" class="form-control" name="description" placeholder="{{__('Description')}}">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-draft">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_draft_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="travel_program_id" value="{{$program->id}}">
<div class="modal-header">
<h5 class="modal-title">Vorlage Reiseprogramm <span class="font-weight-light">zuordnen</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="draft_id" class="form-label">{{__('Vorlage')}}</label>
<select class="selectpicker" data-style="btn-default" name="draft_id" data-live-search="true" required>
{!! HTMLHelper::getDraftOptions() !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="travel_class_id" class="form-label">{{__('Kategorie')}}</label>
<select class="selectpicker" data-style="btn-default" name="travel_class_id">
{!! HTMLHelper::getTravelClassOptions($program->id) !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="weekdays" class="form-label">{{__('Wochentage')}}</label>
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple>
{!! HTMLHelper::getWeekdaysOptions($program->id) !!}
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
@if($id !== "new" && $program)
@include('travel.program._modals')
@endif
<script>
$( document ).ready(function() {
$('#modals-class').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body input[name='description']").val(button.data('description'));
$(this).find(".modal-body input[name='standard']").prop( "checked", button.data('standard'));
$(document).ready(function() {
var collapseHashValue = null;
$('[rel="tooltip"]').tooltip({trigger: "hover", html: true});
$('#top-nav-quick-jump .nav-link').on('click', function (e) {
e.preventDefault();
$('#top-nav-quick-jump .nav-link').removeClass('active');
$(this).addClass('active');
var collapse_id = $(this).data('collapse');
//console.log(collapse_id);
$(collapse_id).collapse('show');
// animate
$('html, body').animate({
scrollTop: $(collapse_id).parent('.card').offset().top
}, 300, function(){
// when done, add hash to url
// (default click behaviour)
window.location.hash = collapse_id;
});
});
$('#modals-draft').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body select[name='draft_id']").val(button.data('draft_id'));
$(this).find(".modal-body select[name='travel_class_id']").val(button.data('travel_class_id'));
$(this).find(".modal-body select[name='weekdays[]']").val(button.data('weekdays'));
$(".collapse").on('shown.bs.collapse', function (){
if(collapseHashValue){
$('a[data-collapse="#'+collapseHashValue+'"]').click();
collapseHashValue = null;
}
CookiesAddJSONValue('travel_program_collapse', $(this).attr('id'));
window.location.hash = "#"+$(this).attr('id');
$('.selectpicker').selectpicker('refresh');
});
$(".collapse").on('hidden.bs.collapse', function (){
CookiesRemoveJSONValue('travel_program_collapse', $(this).attr('id'));
});
function init_site(){
if(window.location.hash){
value = $(window.location.hash).attr('id');
if(value){
collapseHashValue = value;
CookiesAddJSONValue('travel_program_collapse', value);
}
}
var travel_program_collapses = Cookies.get('travel_program_collapse');
if (travel_program_collapses != null)
{
travel_program_collapses = JSON.parse(travel_program_collapses);
for (var travel_program_collapse in travel_program_collapses){
$("#"+travel_program_collapses[travel_program_collapse]).collapse("show");
}
}
}
init_site();
});
</script>
@endsection

View file

@ -1,8 +1,10 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Programme
Reiseprogramme
</h4>
<div class="card">