Mails previews, Lead Passolution, Lead Country Files, LeadParticipant

This commit is contained in:
Kevin Adametz 2021-09-17 14:32:51 +02:00
parent 5e3bd3a1ba
commit ae70577289
28 changed files with 596 additions and 97 deletions

View file

@ -297,7 +297,7 @@
@if(Auth::user()->isPermission('sua-st-co'))
<br><div class="float-left small">Landesspezifische Dateien unter: <a href="{{route('admin_settings_travel_country', [])}}">Einstellungen -> Reieseländer</a></div>
@endif
<br><div class="float-left small">Passolution Dateien aktualisieren: <a class="ml-2 btn btn-xs btn-warning" href="{{ route('booking_delete', [$booking->id, 'passolution_file']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-sync"></i></a>
<br><div class="float-left small">Passolution Dateien aktualisieren: <a class="ml-2 btn btn-xs btn-warning" href="{{ route('booking_delete', [$booking->id, 'passolution_file']) }}" onclick="return confirm('{{__('Einreisebestimmungen erneuern?')}}');"><i class="fa fa-sync"></i></a>
</div>

View file

@ -163,6 +163,12 @@
<select class="ql-placeholder">
{!! \App\Services\Placeholder::getBookingOptions() !!}
</select>
<span class="ql-formats">
<button class="ql-preview" id="open_modal_quill_preview"
data-route="{{ route('customer_mail_ajax') }}"
data-booking_id="{{ $value->booking->id }}"
data-action="load_preview_mail"><i class="fa fa-eye"></i></button>
</span>
</span>
</div>
<div id="message-editor" style="height: 400px">{!! $value->message !!}</div>
@ -347,8 +353,21 @@
}
})
}
$(document).ready(function() {
$('#open_modal_quill_preview').on('click', function (event) {
data = {};
$.each($(this).data(), function(index, value){
data[index] = value;
});
data['content'] = $('#message-editor .ql-editor').html();
data['subject'] = $('input#subject').val();
data['target'] = '#modal_quill_preview';
loadModalPreviewInner(this, data);
$('#modal_quill_preview').modal('show');
});
change_mail_subdir_select();
$('#send_mail_dir').on('change', function () {
change_mail_subdir_select();
@ -365,7 +384,7 @@
toolbar: '#message-editor-toolbar',
placeholder: {
placeholders: [
{!! \App\Services\Placeholder::getBookingQuill() !!}
{!! \App\Services\Placeholder::getOptionsQuill('booking') !!}
]
}
},

View file

@ -4,6 +4,23 @@
</div>
</div>
@if(isset($show_modal_quill_preview))
<div class="modal fade" id="modal_quill_preview" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">E-Mail Vorschau</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary w-100" data-dismiss="modal">{{ trans('laravel-filemanager::lfm.btn-close') }}</button>
</div>
</div>
</div>
</div>
@endif
@if(isset($lfm_helper))
<div class="modal fade" id="modal_iq_assets" tabindex="-1" role="dialog">
<div class="modal-xl modal-dialog ">

View file

@ -163,7 +163,7 @@
<!-- Application javascripts -->
<script src="{{ mix('/js/application.js') }}"></script>
<script src="{{ asset('/js/custom.js') }}?v=10{{ get_file_last_time('/js/custom.js') }}"></script>
<script src="{{ asset('/js/custom.js') }}?v=11{{ get_file_last_time('/js/custom.js') }}"></script>
@include('asset.js')

View file

@ -42,6 +42,60 @@
</tr>
@endif
@endforeach
@if($lead->travel_country_crm)
@foreach($lead->travel_country_crm->getContactLandsModels() as $TravelCountry)
@if($TravelCountry->stern_travel_country)
@foreach($TravelCountry->stern_travel_country->general_files as $general_files)
<tr>
<th scope="row">{{$lead_files_count++}}</th>
<td>
<a target="_blank" href="{{ $general_files->getURL() }}" class="badge badge-md badge-info">
<i class="{{$general_files->getIconExt()}} mr-1"></i> {{$general_files->original_name}}
</a>
</td>
<td>
@if(Auth::user()->isPermission('sua-st-co'))
<a href="{{route('admin_settings_travel_country_detail', [$TravelCountry->stern_travel_country->id, 'data'])}}">{{$TravelCountry->stern_travel_country->name }}</a> |
@endif
{{ $general_files->mine }} | {{ $general_files->formatBytes() }}
</td>
<td>{{\App\Services\Util::_format_date($general_files->created_at, 'date')}}</td>
<td>
<a href="{{ $general_files->getURL('download') }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endforeach
@endif
@endforeach
@endif
@foreach($lead->getPassolutionPDF() as $PassolutionPDF)
@if($PassolutionPDF)
<tr>
<th scope="row">{{$lead_files_count++}}</th>
<td>
<a target="_blank" href="{{ $PassolutionPDF['url'] }}?t={{ time() }}" class="badge badge-md badge-next">
<i class="fa fa-file-pdf mr-1"></i> {{$PassolutionPDF['filename']}}
</a>
</td>
<td>
Passolution |
{{ \App\Services\Util::_formatBytes($PassolutionPDF['size']) }}
</td>
<td>{{\App\Services\Util::_format_date($PassolutionPDF['date'], 'date')}}</td>
<td>
<a href="{{ $PassolutionPDF['url'] }}?t={{ time() }}" class="btn btn-xs btn-default"
title="Download" data-placement="left" rel="tooltip" download="">
<i class="fa fa-download"></i>
</a>
</td>
</tr>
@endif
@endforeach
@if($lead->lead_files)
@foreach($lead->lead_files as $lead_file)
@ -76,6 +130,11 @@
@if(Auth::user()->isPermission('sua-st-em'))
<div class="float-left small">Allgemeine Dateien unter: <a href="{{route('admin_settings_emails', ['settings'])}}">Einstellungen -> E-Mails / Einstellungen</a></div>
@endif
@if(Auth::user()->isPermission('sua-st-co'))
<br><div class="float-left small">Landesspezifische Dateien unter: <a href="{{route('admin_settings_travel_country', [])}}">Einstellungen -> Reieseländer</a></div>
@endif
<br><div class="float-left small">Passolution Dateien aktualisieren: <a class="ml-2 btn btn-xs btn-warning" href="{{ route('lead_delete', [$lead->id, 'passolution_file']) }}" onclick="return confirm('{{__('Einreisebestimmungen erneuern?')}}');"><i class="fa fa-sync"></i></a>
</div>
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
data-target="#modals-load-content"
data-id="new-file"

View file

@ -0,0 +1,93 @@
<div class="card mb-2">
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseLeadParticipant" aria-expanded="false" aria-controls="collapseLeadParticipant">
<strong style="line-height: 1.6em">Teilnehmer</strong>
</h6>
<div class="collapse" id="collapseLeadParticipant">
<div class="card-body row">
<div class="table-responsive" id="booking_files_table">
<table class="table table-striped table-sm">
<thead>
<tr>
<th>Anrede</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Geburtsdatum</th>
<th>Nationalität</th>
<th>Kind</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
@if($lead->participant_firstname)
<tr>
<th scope="row">
{{ Form::select('participant_salutation_id', \App\Services\Model::getSalutationArray(false) , $lead->participant_salutation_id, array('class'=>'custom-select', 'id'=>'participant_salutation_id')) }}
</th>
<td>
{{ Form::text('participant_firstname', $lead->participant_firstname, array('placeholder'=>__('Vorname'), 'class'=>'form-control', 'id'=>'participant_firstname')) }}
</td>
<td>
{{ Form::text('participant_name', $lead->participant_name, array('placeholder'=>__('Nachname'), 'class'=>'form-control', 'id'=>'participant_name')) }}
</td>
<td>
{{ Form::text('participant_birthdate', _format_date($lead->participant_birthdate), array('placeholder'=>__('Datum'), 'class'=>'form-control datepicker-base', 'id'=>'participant_birthdate')) }}
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
</tr>
@endif
@if($lead->lead_participants)
@foreach($lead->lead_participants as $item)
<tr>
<th scope="row">
{{ Form::select('participant['.$item->id.'][participant_salutation_id]', \App\Services\Model::getSalutationArray(false) , $item->participant_salutation_id, array('class'=>'custom-select', 'id'=>'participant_'.$item->id.'_participant_salutation_id')) }}
</th>
<td>
{{ Form::text('participant['.$item->id.'][participant_firstname]', $item->participant_firstname, array('placeholder'=>__('Vorname'), 'class'=>'form-control', 'id'=>'participant_'.$item->id.'_participant_firstname')) }}
</td>
<td>
{{ Form::text('participant['.$item->id.'][participant_name]', $item->participant_name, array('placeholder'=>__('Nachname'), 'class'=>'form-control', 'id'=>'participant_'.$item->id.'_participant_name')) }}
</td>
<td>
{{ Form::text('participant['.$item->id.'][participant_birthdate]', _format_date($item->participant_birthdate), array('placeholder'=>__('Datum'), 'class'=>'form-control datepicker-base', 'id'=>'participant_'.$item->id.'_participant_birthdate')) }}
</td>
<td>
{{ Form::select('participant['.$item->id.'][nationality_id]', \App\Services\Model::getTravelNationalityArray(false) , $item->nationality_id, array('class'=>'custom-select', 'id'=>'participant_'.$item->id.'_nationality_id')) }}
</td>
<td>
<label class="custom-control custom-checkbox mt-2">
{!! Form::checkbox('participant['.$item->id.'][participant_child]', 1, $item->participant_child, ['class'=>'custom-control-input', 'id'=>'participant_'.$item->id.'_participant_child']) !!}
<span class="custom-control-label"></span>
</label>
</td>
<td>
<a class="btn btn-sm text-danger" href="{{ route('lead_delete', [$item->id, 'participant']) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
<div class="col-12">
<hr>
<div class="text-left mt-3">
<button type="submit" name="action" value="update_lead_participant" class="btn btn-sm btn-secondary">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('leads')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
<a href="{{route('lead_action', ['lead_participant_add', $lead->id])}}" class="btn btn-sm btn-primary float-right ml-2"><i class="fa fa-plus-circle"></i> {{ __('Neuen Teilnehmer') }}</a>
</div>
</div>
</div>
</div>
</div>

View file

@ -57,6 +57,11 @@
Status
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseLeadParticipant">
Teilnehmer
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseLeadBooking">
Buchung
@ -88,6 +93,10 @@
@include('lead._detail_lead')
<!-- Status -->
@include('lead._detail_status')
@if($id !== "new" && $lead)
@include('lead._detail_participant')
@endif
{!! Form::close() !!}
@if($id !== "new" && $lead)

View file

@ -35,6 +35,57 @@
@endif
@endforeach
@if($lead->travel_country_crm)
@foreach($lead->travel_country_crm->getContactLandsModels() as $TravelCountry)
@if($TravelCountry->stern_travel_country)
@foreach($TravelCountry->stern_travel_country->general_files as $general_files)
<tr>
<th scope="row">{{$lead_files_count++}}</th>
<td>
<a target="_blank" href="{{ $general_files->getURL() }}" class="badge badge-md badge-info">
<i class="{{$general_files->getIconExt()}} mr-1"></i> {{$general_files->original_name}}
</a>
</td>
<td>
{{ $general_files->mine }} | {{ $general_files->formatBytes() }}
</td>
<td>{{\App\Services\Util::_format_date($general_files->created_at, 'date')}}</td>
<td>
<button data-target="{{ $general_files->getURL() }}" data-name="{{ $general_files->original_name }}" 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
@endforeach
@endif
@foreach($lead->getPassolutionPDF() as $PassolutionPDF)
@if($PassolutionPDF)
<tr>
<th scope="row">{{$lead_files_count++}}</th>
<td>
<a target="_blank" href="{{ $PassolutionPDF['url'] }}" class="badge badge-md badge-next">
<i class="fa fa-file-pdf mr-1"></i> {{$PassolutionPDF['filename']}}
</a>
</td>
<td>
Passolution |
{{ \App\Services\Util::_formatBytes($PassolutionPDF['size']) }}
</td>
<td>{{\App\Services\Util::_format_date($PassolutionPDF['date'], 'date')}}</td>
<td>
<button data-target="{{ $PassolutionPDF['url'] }}" data-name="{{$PassolutionPDF['filename']}}" 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>
@endif
@endforeach
@if($lead->lead_files)
@foreach($lead->lead_files as $lead_file)
<tr>

View file

@ -119,7 +119,6 @@
{{ Form::text('subject', $value->subject, array('placeholder'=>$value->s_placeholder, 'id'=>'subject', 'class'=>'form-control', 'required')) }}
</div>
</div>
<div class="form-group mb-1">
<label class="form-label" for="message">Nachricht</label>
@if($value->show === 'single' || $value->show === 'multi')
@ -129,38 +128,47 @@
@endif
<div id="message-editor-toolbar">
<span class="ql-formats">
<button class="ql-bold"></button>
<button class="ql-italic"></button>
<button class="ql-underline"></button>
<button class="ql-strike"></button>
</span>
<button class="ql-bold"></button>
<button class="ql-italic"></button>
<button class="ql-underline"></button>
<button class="ql-strike"></button>
</span>
<span class="ql-formats">
<button class="ql-header" value="1"></button>
<button class="ql-header" value="2"></button>
<button class="ql-blockquote"></button>
<button class="ql-code-block"></button>
</span>
<button class="ql-header" value="1"></button>
<button class="ql-header" value="2"></button>
<button class="ql-blockquote"></button>
<button class="ql-code-block"></button>
</span>
<span class="ql-formats">
<button class="ql-list" value="ordered"></button>
<button class="ql-list" value="bullet"></button>
<button class="ql-indent" value="-1"></button>
<button class="ql-indent" value="+1"></button>
</span>
<button class="ql-list" value="ordered"></button>
<button class="ql-list" value="bullet"></button>
<button class="ql-indent" value="-1"></button>
<button class="ql-indent" value="+1"></button>
</span>
<span class="ql-formats">
<select class="ql-align"></select>
</span>
<select class="ql-align"></select>
</span>
<span class="ql-formats">
<button class="ql-clean"></button>
</span>
<button class="ql-clean"></button>
</span>
<span class="ql-formats">
<select class="ql-placeholder">
{!! \App\Services\Placeholder::getBookingOptions() !!}
{!! \App\Services\Placeholder::getLeadOptions() !!}
</select>
</span>
<span class="ql-formats">
<button class="ql-preview" id="open_modal_quill_preview"
data-route="{{ route('lead_mail_ajax') }}"
data-lead_id="{{ $value->lead->id }}"
data-action="load_preview_mail"><i class="fa fa-eye"></i></button>
</span>
</div>
<div id="message-editor" style="height: 400px">{!! $value->message !!}</div>
{{ Form::textarea('message', $value->message, array('placeholder'=>$value->m_placeholder, 'id'=>'message-editor-fallback', 'class'=>'form-control d-none', 'rows'=>15)) }}
</div>
@if($value->show === 'single' || $value->show === 'multi')
<div class="row">
<div class="col-12">
@ -300,7 +308,6 @@
</div>
</div>
<script type="text/javascript">
function callback_ajax_add_attachment(response) {
@ -342,6 +349,19 @@
}
$(document).ready(function() {
$('#open_modal_quill_preview').on('click', function (event) {
data = {};
$.each($(this).data(), function(index, value){
data[index] = value;
});
data['content'] = $('#message-editor .ql-editor').html();
data['subject'] = $('input#subject').val();
data['target'] = '#modal_quill_preview';
loadModalPreviewInner(this, data);
$('#modal_quill_preview').modal('show');
});
change_mail_subdir_select();
$('#send_mail_dir').on('change', function () {
change_mail_subdir_select();
@ -358,7 +378,7 @@
toolbar: '#message-editor-toolbar',
placeholder: {
placeholders: [
{!! \App\Services\Placeholder::getBookingQuill() !!}
{!! \App\Services\Placeholder::getOptionsQuill('lead') !!}
]
}
},

View file

@ -99,7 +99,7 @@
toolbar: '#message-editor-toolbar',
placeholder: {
placeholders: [
{!! \App\Services\Placeholder::getBookingQuill() !!}
{!! \App\Services\Placeholder::getOptionsQuill('booking') !!}
]
}
},

View file

@ -160,9 +160,15 @@
</span>
<span class="ql-formats">
<select class="ql-placeholder">
{!! \App\Services\Placeholder::getBookingOptions() !!}
{!! \App\Services\Placeholder::getFewoOptions() !!}
</select>
</span>
<span class="ql-formats">
<button class="ql-preview" id="open_modal_quill_preview"
data-route="{{ route('customer_fewo_mail_ajax') }}"
data-booking_fewo_id="{{ $value->booking->id }}"
data-action="load_preview_mail"><i class="fa fa-eye"></i></button>
</span>
</div>
<div id="message-editor" style="height: 400px">{!! $value->message !!}</div>
{{ Form::textarea('message', $value->message, array('placeholder'=>$value->m_placeholder, 'id'=>'message-editor-fallback', 'class'=>'form-control d-none', 'rows'=>15)) }}
@ -348,6 +354,20 @@
}
$(document).ready(function() {
$('#open_modal_quill_preview').on('click', function (event) {
data = {};
$.each($(this).data(), function(index, value){
data[index] = value;
});
data['content'] = $('#message-editor .ql-editor').html();
data['subject'] = $('input#subject').val();
data['target'] = '#modal_quill_preview';
loadModalPreviewInner(this, data);
$('#modal_quill_preview').modal('show');
});
change_mail_subdir_select();
$('#send_mail_dir').on('change', function () {
change_mail_subdir_select();
@ -364,7 +384,7 @@
toolbar: '#message-editor-toolbar',
placeholder: {
placeholders: [
{!! \App\Services\Placeholder::getBookingQuill() !!}
{!! \App\Services\Placeholder::getOptionsQuill('fewo') !!}
]
}
},