FeWo Mail, Booking Services

This commit is contained in:
Kevin Adametz 2020-07-09 12:36:15 +02:00
parent 730832c8e1
commit e6cc042aee
62 changed files with 1766 additions and 284 deletions

View file

@ -0,0 +1,132 @@
@extends('layouts.layout-2')
@section('content')
{!! Form::open(['url' => route('admin_settings_service_provider_update', [$id]), 'class' => 'form-horizontal']) !!}
<h4 class="font-weight-bold py-3 mb-1">
Leistungsträger Inhalte {{ $model->name }}
<div class="float-right">
<a href="{{route('admin_settings_service_provider')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
</div>
</h4>
<div class="nav-tabs-top mb-4">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Allgemein</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>
</ul>
<div class="tab-content">
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-site">
<div class="card">
<div class="card-body">
<h4>Allgemein</h4>
<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>
<div class="form-row">
<div class="form-group col-sm-12">
<label for="percentage" class="form-label">Type</label>
{{ Form::select('type', \App\Models\ServiceProvider::$types , $model->type, array('class'=>'custom-select', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
{{ Form::textarea('contact_emails', \App\Services\Util::_implodeLines($model->contact_emails), array('class'=>'form-control', 'rows'=>4)) }}
</div>
</div>
<div class="form-row">
<div class="col-12 py-2">
<label class="switcher switcher-on-off">
{{ Form::hidden('active', 0) }}
{{ Form::checkbox('active', 1, $model->active, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">sichtbar</span>
</label>
</div>
</div>
<br>
<button type="submit" name="action" value="" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'services') active show @endif" id="navs-services">
<div class="card">
<div class="card-body">
<br>
<h4>Leistungen <span class="text-muted">für diesen Leistungsträger</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->service_provider_services)
@foreach($model->service_provider_services as $service_provider_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="{{$service_provider_service->id}}"
data-model="TravelCompanyService"
data-action="modal-service_provider-services"
data-back="{{route('admin_settings_service_provider_detail', [$model->id, 'services'])}}"
data-url="{{ route('admin_settings_service_provider_update', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
</td>
<td>{{$service_provider_service->pos }}</td>
<td>{{$service_provider_service->name}}</td>
<td>{{$service_provider_service->description}}</td>
<td>
<a class="ml-2 btn btn-xs btn-danger" href="{{ route('admin_settings_service_provider_delete', [$service_provider_service->id, 'provider_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="TravelCompanyService"
data-action="modal-service_provider-services"
data-back="{{route('admin_settings_service_provider_detail', [$model->id, 'services'])}}"
data-url="{{ route('admin_settings_service_provider_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>
</div>
</div>
<div class="text-left mt-3">
<a href="{{route('admin_settings_service_provider')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
@endsection

View file

@ -23,14 +23,9 @@
@foreach($service_provider 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-default"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-type="{{ $value->type }}"
data-contact_emails="{{\App\Services\Util::_implodeLines($value->contact_emails)}}"
data-active="{{ $value->active }}">
<a href="{{ route('admin_settings_service_provider_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="fa fa-edit"></span>
</button>
</a>
</td>
<td>{{ $value->name }}</td>
<td>{!! \App\Services\Util::_implodeLines($value->contact_emails, "<br>") !!}</td>
@ -42,70 +37,13 @@
</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-type=""
data-contact_emails=""
data-active="1"
>Neuen Leistungsträger anlegen</button>
<a href="{{ route('admin_settings_service_provider_detail', ['new']) }}" class="btn btn-sm btn-primary">Neuen Leistungsträger anlegen</a>
</div>
</div>
<div class="modal fade" id="modals-default">
<div class="modal-dialog">
{!! Form::open([ 'url' => route('admin_settings_service_provider_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
{{ Form::hidden('id', '') }}
<div class="modal-header">
<h5 class="modal-title">Leistungsträger <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>
{{ Form::text('name', '', array('placeholder'=>__('Description'), 'class'=>'form-control', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label class="form-label" for="type">Type</label>
{{ Form::select('type', \App\Models\ServiceProvider::$types , '', array('class'=>'custom-select', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
{{ Form::textarea('contact_emails', '', array('class'=>'form-control', 'rows'=>4)) }}
</div>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
{{ Form::checkbox('active', 1, '', array('class'=>'custom-control-input')) }}
<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::close() !!}
</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 select[name='type']").val(button.data('type'));
$(this).find(".modal-body textarea[name='contact_emails']").val(button.data('contact_emails'));
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
});
$('.datatables-default').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,

View file

@ -0,0 +1,156 @@
@extends('layouts.layout-2')
@section('content')
{!! Form::open(['url' => route('admin_settings_travel_company_update', [$id]), 'class' => 'form-horizontal']) !!}
<h4 class="font-weight-bold py-3 mb-1">
Reiseveranstalter Inhalte {{ $model->name }}
<div class="float-right">
<a href="{{route('admin_settings_travel_company')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
</div>
</h4>
<div class="nav-tabs-top mb-4">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Allgemein</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>
</ul>
<div class="tab-content">
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-site">
<div class="card">
<div class="card-body">
<h4>Allgemein</h4>
<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>
<div class="form-row">
<div class="form-group col-sm-12">
<label for="percentage" class="form-label">Prozentsatz für Provision*</label>
{{ Form::text('percentage', $model->percentage, array('placeholder'=>__('%'), 'class'=>'form-control', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
{{ Form::textarea('contact_emails', \App\Services\Util::_implodeLines($model->contact_emails), array('class'=>'form-control', 'rows'=>4)) }}
</div>
</div>
<div class="form-row">
<div class="col-12 py-2">
<label class="switcher switcher-on-off">
{{ Form::hidden('is_allowed_edit_commission', 0) }}
{{ Form::checkbox('is_allowed_edit_commission', 1, $model->is_allowed_edit_commission, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">Provision änderbar</span>
</label>
</div>
<div class="col-12 py-2">
<label class="switcher switcher-on-off">
{{ Form::hidden('is_inhouse', 0) }}
{{ Form::checkbox('is_inhouse', 1, $model->is_inhouse, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">In-House</span>
</label>
</div>
<div class="col-12 py-2">
<label class="switcher switcher-on-off">
{{ Form::hidden('active', 0) }}
{{ Form::checkbox('active', 1, $model->active, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">sichtbar</span>
</label>
</div>
</div>
<br>
<button type="submit" name="action" value="" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'services') active show @endif" id="navs-services">
<div class="card">
<div class="card-body">
<br>
<h4>Leistungen <span class="text-muted">für dieses Reiseveranstalter</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_company_services)
@foreach($model->travel_company_services as $travel_company_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_company_service->id}}"
data-model="TravelCompanyService"
data-action="modal-travel_company-services"
data-back="{{route('admin_settings_travel_company_detail', [$model->id, 'services'])}}"
data-url="{{ route('admin_settings_travel_company_update', [$model->id]) }}"
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
</td>
<td>{{$travel_company_service->pos }}</td>
<td>{{$travel_company_service->name}}</td>
<td>{{$travel_company_service->description}}</td>
<td>
<a class="ml-2 btn btn-xs btn-danger" href="{{ route('admin_settings_travel_company_delete', [$travel_company_service->id, 'company_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="TravelCompanyService"
data-action="modal-travel_company-services"
data-back="{{route('admin_settings_travel_company_detail', [$model->id, 'services'])}}"
data-url="{{ route('admin_settings_travel_company_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>
</div>
</div>
<div class="text-left mt-3">
<a href="{{route('admin_settings_travel_company')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
@endsection

View file

@ -25,16 +25,9 @@
@foreach($travel_company 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-default"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-percentage="{{ $value->percentage }}"
data-is_allowed_edit_commission="{{ $value->is_allowed_edit_commission }}"
data-is_inhouse="{{ $value->is_inhouse }}"
data-contact_emails="{{\App\Services\Util::_implodeLines($value->contact_emails)}}"
data-active="{{ $value->active }}">
<a href="{{ route('admin_settings_travel_company_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="fa fa-edit"></span>
</button>
</a>
</td>
<td>{{ $value->name }}</td>
<td>{!! \App\Services\Util::_implodeLines($value->contact_emails, "<br>") !!}</td>
@ -49,85 +42,12 @@
</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-percentage=""
data-is_allowed_edit_commission=""
data-contact_emails=""
data-active="1"
>Neuen Reiseveranstalter anlegen</button>
</div>
</div>
<div class="modal fade" id="modals-default">
<div class="modal-dialog">
{!! Form::open([ 'url' => route('admin_settings_travel_company_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
{{ Form::hidden('id', '') }}
<div class="modal-header">
<h5 class="modal-title">Reiseveranstalter <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>
{{ Form::text('name', '', array('placeholder'=>__('Description'), 'class'=>'form-control', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="percentage" class="form-label">Prozentsatz für Provision*</label>
{{ Form::text('percentage', '', array('placeholder'=>__('%'), 'class'=>'form-control', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
{{ Form::textarea('contact_emails', '', array('class'=>'form-control', 'rows'=>4)) }}
</div>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
{{ Form::checkbox('is_allowed_edit_commission', 1, '', array('class'=>'custom-control-input')) }}
<span class="custom-control-label">{{__('Provision änderbar')}}</span>
</label>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
{{ Form::checkbox('is_inhouse', 1, '', array('class'=>'custom-control-input')) }}
<span class="custom-control-label">{{__('In-House')}}</span>
</label>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
{{ Form::checkbox('active', 1, '', array('class'=>'custom-control-input')) }}
<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::close() !!}
<a href="{{ route('admin_settings_travel_company_detail', ['new']) }}" class="btn btn-sm btn-primary">Neuen Reiseveranstalter anlegen</a>
</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='percentage']").val(button.data('percentage'));
$(this).find(".modal-body input[name='is_allowed_edit_commission']").prop( "checked", button.data('is_allowed_edit_commission'));
$(this).find(".modal-body input[name='is_inhouse']").prop( "checked", button.data('is_inhouse'));
$(this).find(".modal-body textarea[name='contact_emails']").val(button.data('contact_emails'));
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
});
$('.datatables-default').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,

View file

@ -38,6 +38,7 @@
<div class="tab-content">
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-site">
<div class="card">
<div class="card-body">
<div class="form-row">
<div class="form-group col-sm-12">
@ -95,9 +96,11 @@
<button type="submit" name="action" value="" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'form') active show @endif" id="navs-form">
<div class="card">
<div class="card-body">
<br>
<h4>Inhalte für Formular</h4>
@ -112,11 +115,12 @@
</div>
</div>
<button type="submit" name="action" value="form" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'contact') active show @endif" id="navs-contact">
<div class="card">
<div class="card-body">
<h4>Land/Länder für Kontaktdaten definieren</h4>
<div class="form-row">
@ -169,9 +173,11 @@
<button type="submit" name="action" value="contact" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'emails') active show @endif" id="navs-emails">
<div class="card">
<div class="card-body">
<div class="form-row">
<div class="form-group col-sm-12">
@ -212,9 +218,11 @@
@endforeach
<button type="submit" name="action" value="emails" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'data') active show @endif" id="navs-data">
<div class="card">
<div class="card-body">
<br>
<h4>PDF-Dateien <span class="text-muted">für dieses Reiseland</span></h4>
@ -268,10 +276,11 @@
data-route="{{ route('modal_load') }}"><i class="ion ion-md-cloud-upload"></i>&nbsp;Datei hinzufügen</button>
</div>
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'services') active show @endif" id="navs-services">
<div class="card">
<div class="card-body">
<br>
<h4>Länderleistungen/Agenturleistungen <span class="text-muted">für dieses Reiseland</span></h4>
@ -322,10 +331,11 @@
data-route="{{ route('modal_load') }}"><i class="ion ion-md-add-circle"></i>&nbsp;Leistung hinzufügen</button>
</div>
</div>
</div>
</div>
<div class="tab-pane fade @if($step === 'travel') active show @endif" id="navs-travel">
<div class="card">
<div class="card-body">
<br>
<h4>Einreisebestimmungen</h4>
@ -339,6 +349,7 @@
@endforeach
<button type="submit" name="action" value="travel" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
</div>
</div>
</div>
</div>