Fewo/ PDFs / Mails v3
This commit is contained in:
parent
7abfe3f700
commit
e537e47a82
44 changed files with 2112 additions and 527 deletions
16
.env
16
.env
|
|
@ -13,6 +13,8 @@ APP_URL_STERN=http://sterntours.local
|
||||||
|
|
||||||
LOG_CHANNEL=stack
|
LOG_CHANNEL=stack
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#DB_CONNECTION=mysql
|
#DB_CONNECTION=mysql
|
||||||
#DB_HOST=localhost
|
#DB_HOST=localhost
|
||||||
#DB_PORT=3306
|
#DB_PORT=3306
|
||||||
|
|
@ -46,14 +48,16 @@ REDIS_HOST=127.0.0.1
|
||||||
REDIS_PASSWORD=null
|
REDIS_PASSWORD=null
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
|
|
||||||
#info@@mein.sterntours.de
|
|
||||||
#B7f8Ojt98v6tMz8W
|
MAIL_BBC=info@adametz.media
|
||||||
|
#MAIL_BBC=info@sterntours.de
|
||||||
MAIL_DRIVER=smtp
|
MAIL_DRIVER=smtp
|
||||||
MAIL_HOST=w00df904.kasserver.com
|
MAIL_HOST=mail.your-server.de
|
||||||
MAIL_PORT=587
|
MAIL_PORT=587
|
||||||
MAIL_USERNAME=m0479305
|
MAIL_USERNAME=info@mein.sterntours.de
|
||||||
MAIL_PASSWORD=m4CowydxoC4dY2DB
|
MAIL_PASSWORD=B7f8Ojt98v6tMz8W
|
||||||
MAIL_ENCRYPTION=null
|
MAIL_ENCRYPTION=TLS
|
||||||
|
|
||||||
|
|
||||||
PUSHER_APP_ID=
|
PUSHER_APP_ID=
|
||||||
PUSHER_APP_KEY=
|
PUSHER_APP_KEY=
|
||||||
|
|
|
||||||
881
.idea/workspace.xml
generated
881
.idea/workspace.xml
generated
File diff suppressed because it is too large
Load diff
|
|
@ -3,12 +3,15 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
|
||||||
use App\Models\FewoPrice;
|
use App\Mail\MailSendFeWoInvoice;
|
||||||
|
use App\Mail\MailSendFeWoService;
|
||||||
|
use App\Mail\MailSendFeWoInfo;
|
||||||
|
use App\Models\CMSContent;
|
||||||
use App\Models\FewoReservation;
|
use App\Models\FewoReservation;
|
||||||
use App\Models\FewoSeason;
|
|
||||||
use App\Models\TravelUserBookingFewo;
|
use App\Models\TravelUserBookingFewo;
|
||||||
use App\Repositories\TravelUserBookingFewoRepository;
|
use App\Repositories\TravelUserBookingFewoRepository;
|
||||||
use Carbon\Carbon;
|
use App\Services\Util;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
use Input;
|
use Input;
|
||||||
|
|
||||||
class TravelUserBookingFewoController extends Controller
|
class TravelUserBookingFewoController extends Controller
|
||||||
|
|
@ -35,6 +38,9 @@ class TravelUserBookingFewoController extends Controller
|
||||||
{
|
{
|
||||||
$max_adults = 10;
|
$max_adults = 10;
|
||||||
$max_children = 10;
|
$max_children = 10;
|
||||||
|
|
||||||
|
$replace_info_text = [];
|
||||||
|
|
||||||
if($id == "new") {
|
if($id == "new") {
|
||||||
$travel_user_booking_fewo = new TravelUserBookingFewo();
|
$travel_user_booking_fewo = new TravelUserBookingFewo();
|
||||||
$id = 'new';
|
$id = 'new';
|
||||||
|
|
@ -43,7 +49,15 @@ class TravelUserBookingFewoController extends Controller
|
||||||
$max_adults = isset($travel_user_booking_fewo->fewo_lodging->maximum_adults) ? $travel_user_booking_fewo->fewo_lodging->maximum_adults : 10;
|
$max_adults = isset($travel_user_booking_fewo->fewo_lodging->maximum_adults) ? $travel_user_booking_fewo->fewo_lodging->maximum_adults : 10;
|
||||||
$max_children = isset($travel_user_booking_fewo->fewo_lodging->maximum_childs) ? $travel_user_booking_fewo->fewo_lodging->maximum_childs : 10;;
|
$max_children = isset($travel_user_booking_fewo->fewo_lodging->maximum_childs) ? $travel_user_booking_fewo->fewo_lodging->maximum_childs : 10;;
|
||||||
$id = $travel_user_booking_fewo->id;
|
$id = $travel_user_booking_fewo->id;
|
||||||
|
$replace_info_text['fewo_user_anrede'] = $travel_user_booking_fewo->getUserSalutation();
|
||||||
|
$replace_info_text['fewo_adresse'] = $travel_user_booking_fewo->getNameAddressLocation(", ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!$travel_user_booking_fewo->info_mail_text) {
|
||||||
|
$travel_user_booking_fewo->info_mail_text = CMSContent::getContentBySlug('pdf-vorlage-anreiseinfo-fewo');
|
||||||
|
$travel_user_booking_fewo->info_mail_text = Util::replacePlaceholders($travel_user_booking_fewo->info_mail_text, $replace_info_text);
|
||||||
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'travel_user_booking_fewo' => $travel_user_booking_fewo,
|
'travel_user_booking_fewo' => $travel_user_booking_fewo,
|
||||||
'max_adults' => $max_adults,
|
'max_adults' => $max_adults,
|
||||||
|
|
@ -59,27 +73,92 @@ class TravelUserBookingFewoController extends Controller
|
||||||
if($data['action'] == 'saveAll'){
|
if($data['action'] == 'saveAll'){
|
||||||
return $this->userBookingFewoRepo->update($id, $data);
|
return $this->userBookingFewoRepo->update($id, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($data['action'] == 'createInvoice'){
|
if($data['action'] == 'createInvoice'){
|
||||||
if(!TravelUserBookingFewo::find($id)){
|
if(!TravelUserBookingFewo::find($id)){
|
||||||
\Session()->flash('alert-error', __('Buchung nicht gefunden.'));
|
\Session()->flash('alert-error', __('Buchung nicht gefunden.'));
|
||||||
return back()->withInput(Input::all());
|
return back()->withInput(Input::all());
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->userBookingFewoRepo->createInvoicePDF($id, $data);
|
|
||||||
$ret = $this->userBookingFewoRepo->check($id, $data);
|
$ret = $this->userBookingFewoRepo->check($id, $data);
|
||||||
if($ret['success'] == false){
|
if($ret['success'] == false){
|
||||||
return back()->withInput(Input::all())->withErrors($ret['error']);
|
return back()->withInput(Input::all())->withErrors($ret['error']);
|
||||||
}
|
}
|
||||||
if($ret['success'] == true){
|
if($ret['success'] == true){
|
||||||
|
$this->userBookingFewoRepo->createInvoicePDF($id);
|
||||||
|
\Session()->flash('alert-success', __('Mietbestätigung / Rechnung wurde erstellt.'));
|
||||||
return redirect(route('travel_user_booking_fewo_detail', [$ret['id']]));
|
return redirect(route('travel_user_booking_fewo_detail', [$ret['id']]));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($data['action'] == 'createTravelInfo'){
|
||||||
|
if(!TravelUserBookingFewo::find($id)){
|
||||||
|
\Session()->flash('alert-error', __('Buchung nicht gefunden.'));
|
||||||
|
return back()->withInput(Input::all());
|
||||||
|
}
|
||||||
|
$ret = $this->userBookingFewoRepo->check($id, $data);
|
||||||
|
if($ret['success'] == false){
|
||||||
|
return back()->withInput(Input::all())->withErrors($ret['error']);
|
||||||
|
}
|
||||||
|
if($ret['success'] == true){
|
||||||
|
$this->userBookingFewoRepo->createTravelInfoPDF($id, $data['info_mail_text']);
|
||||||
|
\Session()->flash('alert-success', __('Anreiseinfo wurde erstellt/gespeichert.'));
|
||||||
|
return redirect(route('travel_user_booking_fewo_detail', [$ret['id']]));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($data['action'] == 'sendMailtoUser') {
|
||||||
|
$travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id);
|
||||||
|
if($travel_user_booking_fewo->travel_user_id && $travel_user_booking_fewo->travel_user->email){
|
||||||
|
$mail_bbc = config('mail.mail_bbc');
|
||||||
|
Mail::to($travel_user_booking_fewo->travel_user->email)->bcc($mail_bbc)->send(new MailSendFeWoInvoice($travel_user_booking_fewo, Input::get('send_mail_user_notice')));
|
||||||
|
$send_user_mail = $travel_user_booking_fewo->send_user_mail;
|
||||||
|
$send_user_mail[] = [date('H:i d.m.Y') => Input::get('send_mail_user_notice')];
|
||||||
|
$travel_user_booking_fewo->send_user_mail = $send_user_mail;
|
||||||
|
$travel_user_booking_fewo->save();
|
||||||
|
\Session()->flash('alert-success', __('E-mail wurde an den Mieter versendet.'));
|
||||||
|
return redirect(route('travel_user_booking_fewo_detail', [$travel_user_booking_fewo->id]));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if($data['action'] == 'sendInfosMailtoUser') {
|
||||||
|
$travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id);
|
||||||
|
if($travel_user_booking_fewo->travel_user_id && $travel_user_booking_fewo->travel_user->email){
|
||||||
|
$mail_bbc = config('mail.mail_bbc');
|
||||||
|
Mail::to($travel_user_booking_fewo->travel_user->email)->bcc($mail_bbc)->send(new MailSendFeWoInfo($travel_user_booking_fewo));
|
||||||
|
$send_info_mail = $travel_user_booking_fewo->send_info_mail;
|
||||||
|
$send_info_mail[] = [date('H:i d.m.Y') => ''];
|
||||||
|
$travel_user_booking_fewo->send_info_mail = $send_info_mail;
|
||||||
|
$travel_user_booking_fewo->save();
|
||||||
|
\Session()->flash('alert-success', __('E-mail wurde an den Mieter versendet.'));
|
||||||
|
return redirect(route('travel_user_booking_fewo_detail', [$travel_user_booking_fewo->id]));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if($data['action'] == 'sendMailtoService') {
|
||||||
|
$travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id);
|
||||||
|
if($travel_user_booking_fewo){
|
||||||
|
$mail_bbc = config('mail.mail_bbc');
|
||||||
|
Mail::to(Input::get('send_mail_service_mail'))->bcc($mail_bbc)->send(new MailSendFeWoService($travel_user_booking_fewo, Input::get('send_mail_service_subject'), Input::get('send_mail_service_content')));
|
||||||
|
$send_service_mail = $travel_user_booking_fewo->send_service_mail;
|
||||||
|
$send_service_mail[] = ['d' => date('H:i d.m.Y'),
|
||||||
|
'm'=>Input::get('send_mail_service_mail'),
|
||||||
|
's'=>Input::get('send_mail_service_subject'),
|
||||||
|
'c'=>Input::get('send_mail_service_content')];
|
||||||
|
$travel_user_booking_fewo->send_service_mail = $send_service_mail;
|
||||||
|
$travel_user_booking_fewo->save();
|
||||||
|
|
||||||
|
\Session()->flash('alert-success', __('E-mail wurde an den Dienstleister versendet.'));
|
||||||
|
return redirect(route('travel_user_booking_fewo_detail', [$travel_user_booking_fewo->id]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function delete($id){
|
public function delete($id){
|
||||||
$model = TravelUserBookingFewo::findOrFail($id);
|
$model = TravelUserBookingFewo::findOrFail($id);
|
||||||
$FewoReservations = FewoReservation::where('lodging_id', $model->fewo_lodging_id)->where('from_date', $model->getFromDateRaw())->where('to_date', $model->getToDateRaw())->get();
|
$FewoReservations = FewoReservation::where('lodging_id', $model->fewo_lodging_id)->where('from_date', $model->getFromDateRaw())->where('to_date', $model->getToDateRaw())->get();
|
||||||
|
|
|
||||||
57
app/Mail/MailSendFeWoInfo.php
Normal file
57
app/Mail/MailSendFeWoInfo.php
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
<?php
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use App\Models\TravelUserBookingFewo;
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use Storage;
|
||||||
|
|
||||||
|
class MailSendFeWoInfo extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
protected $travel_user_booking_fewo;
|
||||||
|
public $subject;
|
||||||
|
|
||||||
|
|
||||||
|
public function __construct(TravelUserBookingFewo $travel_user_booking_fewo)
|
||||||
|
{
|
||||||
|
$this->travel_user_booking_fewo = $travel_user_booking_fewo;
|
||||||
|
$this->subject = __('STERN TOURS Anreiseinfo FEWO');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function build()
|
||||||
|
{
|
||||||
|
$salutation = __('Dear customer').",";
|
||||||
|
if($this->travel_user_booking_fewo->travel_user){
|
||||||
|
if($this->travel_user_booking_fewo->travel_user->salutation_id == 1){
|
||||||
|
$salutation = __('Dear Sir')." ".$this->travel_user_booking_fewo->travel_user->last_name.",";
|
||||||
|
}else{
|
||||||
|
$salutation = __('Dear Mrs')." ".$this->travel_user_booking_fewo->travel_user->last_name.",";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$file1 = array(
|
||||||
|
'path' => $this->travel_user_booking_fewo->getTravelInfoPathFile(),
|
||||||
|
'name' => 'Stern-Tours-'.$this->travel_user_booking_fewo->getTravelInfoFileName(),
|
||||||
|
'mine' => 'application/pdf',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $this->view('emails.info')
|
||||||
|
->with([
|
||||||
|
'salutation' => $salutation,
|
||||||
|
'copy1line' => $this->travel_user_booking_fewo->info_mail_text,
|
||||||
|
'copy2line' => "",
|
||||||
|
'greetings' => __('Best regards'),
|
||||||
|
'model' => $this->travel_user_booking_fewo,
|
||||||
|
])
|
||||||
|
->attach($file1['path'], [
|
||||||
|
'as' => $file1['name'],
|
||||||
|
'mime' => $file1['mine'],
|
||||||
|
])
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
68
app/Mail/MailSendFeWoInvoice.php
Normal file
68
app/Mail/MailSendFeWoInvoice.php
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
<?php
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use App\Models\TravelUserBookingFewo;
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use Storage;
|
||||||
|
|
||||||
|
class MailSendFeWoInvoice extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
protected $travel_user_booking_fewo;
|
||||||
|
protected $notice;
|
||||||
|
public $subject;
|
||||||
|
|
||||||
|
|
||||||
|
public function __construct(TravelUserBookingFewo $travel_user_booking_fewo, $notice)
|
||||||
|
{
|
||||||
|
$this->travel_user_booking_fewo = $travel_user_booking_fewo;
|
||||||
|
$this->notice = $notice;
|
||||||
|
$this->subject = __('STERN TOURS Mietbestätigung FEWO');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function build()
|
||||||
|
{
|
||||||
|
$salutation = __('Dear customer').",";
|
||||||
|
if($this->travel_user_booking_fewo->travel_user){
|
||||||
|
if($this->travel_user_booking_fewo->travel_user->salutation_id == 1){
|
||||||
|
$salutation = __('Dear Sir')." ".$this->travel_user_booking_fewo->travel_user->last_name.",";
|
||||||
|
}else{
|
||||||
|
$salutation = __('Dear Mrs')." ".$this->travel_user_booking_fewo->travel_user->last_name.",";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$file1 = array(
|
||||||
|
'path' => Storage::disk('public')->path("pdf/Stern-Tours-Mietbedingungen.pdf"),
|
||||||
|
'name' => 'Stern-Tours-Mietbedingungen.pdf',
|
||||||
|
'mine' => 'application/pdf',
|
||||||
|
);
|
||||||
|
|
||||||
|
$file2 = array(
|
||||||
|
'path' => $this->travel_user_booking_fewo->getInvoicePathFile(),
|
||||||
|
'name' => 'Stern-Tours-'.$this->travel_user_booking_fewo->getInvoiceFileName(),
|
||||||
|
'mine' => 'application/pdf',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $this->view('emails.invoice')
|
||||||
|
->with([
|
||||||
|
'salutation' => $salutation,
|
||||||
|
'copy1line' => "herzlichen Dank für Ihre Online-Buchung vom ".$this->travel_user_booking_fewo->booking_date.", hiermit bestätigen wir verbindlich Ihre Anmietung wie folgt:",
|
||||||
|
'copy2line' => '',
|
||||||
|
'notice' => $this->notice,
|
||||||
|
'greetings' => __('Best regards'),
|
||||||
|
'model' => $this->travel_user_booking_fewo,
|
||||||
|
])
|
||||||
|
->attach($file1['path'], [
|
||||||
|
'as' => $file1['name'],
|
||||||
|
'mime' => $file1['mine'],
|
||||||
|
])
|
||||||
|
->attach($file2['path'], [
|
||||||
|
'as' => $file2['name'],
|
||||||
|
'mime' => $file2['mine'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
35
app/Mail/MailSendFeWoService.php
Normal file
35
app/Mail/MailSendFeWoService.php
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use App\Models\TravelUserBookingFewo;
|
||||||
|
use App\User;
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
|
||||||
|
class MailSendFeWoService extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
protected $travel_user_booking_fewo;
|
||||||
|
public $subject;
|
||||||
|
protected $content;
|
||||||
|
|
||||||
|
|
||||||
|
public function __construct(TravelUserBookingFewo $travel_user_booking_fewo, $subject, $content)
|
||||||
|
{
|
||||||
|
$this->travel_user_booking_fewo = $travel_user_booking_fewo;
|
||||||
|
$this->subject = $subject;
|
||||||
|
$this->content = $content;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function build()
|
||||||
|
{
|
||||||
|
return $this->view('emails.content')->with([
|
||||||
|
'content' => $this->content,
|
||||||
|
'greetings' => __('Best regards'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -41,7 +41,7 @@ class MailVerifyAccount extends Mailable
|
||||||
'url' => route('register_verify', $this->confirmation_code),
|
'url' => route('register_verify', $this->confirmation_code),
|
||||||
'salutation' => $salutation,
|
'salutation' => $salutation,
|
||||||
'button' => __('Verify Your Email Address'),
|
'button' => __('Verify Your Email Address'),
|
||||||
'copy1line' => __('Thank you for creating an account with the JACKON Infomanager. Please follow the link below to confirm your email address.'),
|
'copy1line' => __('Please follow the link below to confirm your email address.'),
|
||||||
'copy2line' => __('Or copy this link into the address bar of your browser.'),
|
'copy2line' => __('Or copy this link into the address bar of your browser.'),
|
||||||
'greetings' => __('Best regards'),
|
'greetings' => __('Best regards'),
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -112,4 +112,27 @@ class CMSContent extends Model
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function getContentBySlug($slug){
|
||||||
|
$CMSContent = CMSContent::whereSlug(trim($slug))->first();
|
||||||
|
if($CMSContent){
|
||||||
|
switch ($CMSContent->field){
|
||||||
|
case 'text':
|
||||||
|
return $CMSContent->text;
|
||||||
|
break;
|
||||||
|
case 'full_text':
|
||||||
|
return $CMSContent->full_text;
|
||||||
|
break;
|
||||||
|
case 'integer':
|
||||||
|
return $CMSContent->integer;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'decimal':
|
||||||
|
return $CMSContent->decimal;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ namespace App\Models;
|
||||||
|
|
||||||
use Carbon;
|
use Carbon;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Util;
|
use Storage;
|
||||||
|
use App\Services\Util;
|
||||||
/**
|
/**
|
||||||
* Class TravelUserBookingFewo
|
* Class TravelUserBookingFewo
|
||||||
*
|
*
|
||||||
|
|
@ -90,7 +90,10 @@ class TravelUserBookingFewo extends Model
|
||||||
'is_calendar_fewo_direct' => 'bool',
|
'is_calendar_fewo_direct' => 'bool',
|
||||||
'is_calendar_hrs' => 'bool',
|
'is_calendar_hrs' => 'bool',
|
||||||
'is_calendar_stern_tours' => 'bool',
|
'is_calendar_stern_tours' => 'bool',
|
||||||
'status' => 'int'
|
'status' => 'int',
|
||||||
|
'send_user_mail' => 'array',
|
||||||
|
'send_service_mail' => 'array',
|
||||||
|
'send_info_mail' => 'array',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $dates = [
|
protected $dates = [
|
||||||
|
|
@ -326,10 +329,6 @@ class TravelUserBookingFewo extends Model
|
||||||
return isset($this->attributes['price_total']) ? $this->attributes['price_total'] : 0;
|
return isset($this->attributes['price_total']) ? $this->attributes['price_total'] : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getBookingDateYear(){
|
|
||||||
return Carbon::parse($this->booking_date)->format('Y');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getPriceTotalFirstPay(){
|
public function getPriceTotalFirstPay(){
|
||||||
if($this->attributes['price_total'] == 0){
|
if($this->attributes['price_total'] == 0){
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -358,6 +357,125 @@ class TravelUserBookingFewo extends Model
|
||||||
$first_pay = $this->attributes['price_travel']/2;
|
$first_pay = $this->attributes['price_travel']/2;
|
||||||
return number_format(($this->attributes['price_travel'] - $first_pay + $this->attributes['price_deposit']), 2, ',', '.');
|
return number_format(($this->attributes['price_travel'] - $first_pay + $this->attributes['price_deposit']), 2, ',', '.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getBookingDateYear(){
|
||||||
|
return Carbon::parse($this->booking_date)->format('Y');
|
||||||
|
}
|
||||||
|
|
||||||
|
//get Invoice Name / Paths / ...
|
||||||
|
public function getInvoiceFileName(){
|
||||||
|
if($this->invoice_number) {
|
||||||
|
return Util::sanitize($this->invoice_number).".pdf";
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInvoicePath(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
if(!Storage::disk('fewo_invoices')->exists( $dir )){
|
||||||
|
Storage::disk('fewo_invoices')->makeDirectory($dir); //creates directory
|
||||||
|
}
|
||||||
|
$path = Storage::disk('fewo_invoices')->getAdapter()->getPathPrefix();
|
||||||
|
return $path.$dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isInvoice(){
|
||||||
|
if($this->invoice_number){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getInvoiceFileName();
|
||||||
|
if(Storage::disk('fewo_invoices')->exists( $dir.$filename )){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInvoicePathFile(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getInvoiceFileName();
|
||||||
|
if(Storage::disk('fewo_invoices')->exists( $dir.$filename )){
|
||||||
|
return Storage::disk('fewo_invoices')->path($dir.$filename);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInvoiceUrlFile(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getInvoiceFileName();
|
||||||
|
if(Storage::disk('fewo_invoices')->exists( $dir.$filename )){
|
||||||
|
return Storage::disk('fewo_invoices')->url($dir.$filename);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInvoiceLastModified(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getInvoiceFileName();
|
||||||
|
if(Storage::disk('fewo_invoices')->exists( $dir.$filename )){
|
||||||
|
return Carbon::createFromTimestamp(Storage::disk('fewo_invoices')->lastModified($dir.$filename))->format("H:i d.m.Y");
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//get TravelInfos Name / Paths / ...
|
||||||
|
public function getTravelInfoFileName(){
|
||||||
|
if($this->invoice_number) {
|
||||||
|
return "Anreiseinfo-".Util::sanitize($this->invoice_number).".pdf";
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTravelInfoPath(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
if(!Storage::disk('fewo_infos')->exists( $dir )){
|
||||||
|
Storage::disk('fewo_infos')->makeDirectory($dir); //creates directory
|
||||||
|
}
|
||||||
|
$path = Storage::disk('fewo_infos')->getAdapter()->getPathPrefix();
|
||||||
|
return $path.$dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isTravelInfo(){
|
||||||
|
if($this->invoice_number){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getTravelInfoFileName();
|
||||||
|
if(Storage::disk('fewo_infos')->exists( $dir.$filename )){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTravelInfoPathFile(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getTravelInfoFileName();
|
||||||
|
if(Storage::disk('fewo_infos')->exists( $dir.$filename )){
|
||||||
|
return Storage::disk('fewo_infos')->path($dir.$filename);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTravelInfoUrlFile(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getTravelInfoFileName();
|
||||||
|
if(Storage::disk('fewo_infos')->exists( $dir.$filename )){
|
||||||
|
return Storage::disk('fewo_infos')->url($dir.$filename);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTravelInfoLastModified(){
|
||||||
|
$dir = $this->getBookingDateYear()."/";
|
||||||
|
$filename = $this->getTravelInfoFileName();
|
||||||
|
if(Storage::disk('fewo_infos')->exists( $dir.$filename )){
|
||||||
|
return Carbon::createFromTimestamp(Storage::disk('fewo_infos')->lastModified($dir.$filename))->format("H:i d.m.Y");
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//get strings
|
||||||
public function getBookingUserAddress(){
|
public function getBookingUserAddress(){
|
||||||
if($this->travel_user){
|
if($this->travel_user){
|
||||||
$company = $this->travel_user->company ? $this->travel_user->company ."\n" : "";
|
$company = $this->travel_user->company ? $this->travel_user->company ."\n" : "";
|
||||||
|
|
@ -367,12 +485,39 @@ class TravelUserBookingFewo extends Model
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
public function getNameAddressLocation(){
|
public function getNameAddressLocation($sep = "\n"){
|
||||||
if($this->fewo_lodging){
|
if($this->fewo_lodging){
|
||||||
return $this->fewo_lodging->name."\n".$this->fewo_lodging->adress1." ".$this->fewo_lodging->adress2.", ".$this->fewo_lodging->zip_code." ".$this->fewo_lodging->city;
|
return $this->fewo_lodging->name.$sep.$this->fewo_lodging->adress1." ".$this->fewo_lodging->adress2.", ".$this->fewo_lodging->zip_code." ".$this->fewo_lodging->city;
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getUserSalutation(){
|
||||||
|
|
||||||
|
$salutation = __('Dear customer');
|
||||||
|
if($this->travel_user){
|
||||||
|
if($this->travel_user->salutation_id == 1){
|
||||||
|
$salutation = __('Dear Sir')." ".$this->travel_user->last_name;
|
||||||
|
}else{
|
||||||
|
$salutation = __('Dear Mrs')." ".$this->travel_user->last_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $salutation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getServiceMailSubject(){
|
||||||
|
if($this->fewo_lodging){
|
||||||
|
return "Neue Anmietung ".$this->fewo_lodging->name." mit Anreise ".$this->from_date;
|
||||||
|
}
|
||||||
|
return "Neue Anmietung Anreise ".$this->from_date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getServiceMailContent(){
|
||||||
|
return $this->adults." + ".$this->children." (Erwachsene + Kinder)\n".
|
||||||
|
$this->from_date." - ".$this->to_date." ".$this->travel_user->first_name." ".$this->travel_user->last_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,27 @@ class TravelUserBookingFewoRepository extends BaseRepository {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function createTravelInfoPDF($id, $travel_info_user_text){
|
||||||
|
|
||||||
|
$model = TravelUserBookingFewo::findOrFail($id);
|
||||||
|
|
||||||
|
$model->info_mail_text = $travel_info_user_text;
|
||||||
|
$model->save();
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'model' => $model,
|
||||||
|
'travel_info_user_text' => $travel_info_user_text,
|
||||||
|
];
|
||||||
|
$pdf = PDF::loadView('pdf.travel_info_fewo', $data);
|
||||||
|
$pdf->setPaper('A4', 'portrait');
|
||||||
|
|
||||||
|
$path =$model->getTravelInfoPath();
|
||||||
|
$filename = $model->getTravelInfoFileName();
|
||||||
|
$pdf->save($path.$filename);
|
||||||
|
|
||||||
|
return $path.$filename;
|
||||||
|
//return $pdf->stream('invoice.pdf');
|
||||||
|
}
|
||||||
|
|
||||||
public function createInvoicePDF($id){
|
public function createInvoicePDF($id){
|
||||||
|
|
||||||
|
|
@ -37,18 +58,12 @@ class TravelUserBookingFewoRepository extends BaseRepository {
|
||||||
$pdf = PDF::loadView('pdf.invoice_fewo', $data);
|
$pdf = PDF::loadView('pdf.invoice_fewo', $data);
|
||||||
$pdf->setPaper('A4', 'portrait');
|
$pdf->setPaper('A4', 'portrait');
|
||||||
|
|
||||||
$dir = "/".$model->getBookingDateYear()."/";
|
$path =$model->getInvoicePath();
|
||||||
if(!Storage::disk('invoices_fewo')->exists( $dir )){
|
$filename = $model->getInvoiceFileName();
|
||||||
Storage::disk('invoices_fewo')->makeDirectory($dir); //creates directory
|
$pdf->save($path.$filename);
|
||||||
}
|
|
||||||
$path = Storage::disk('invoices_fewo')->getAdapter()->getPathPrefix();
|
|
||||||
$filename = Util::sanitize($model->invoice_number).".pdf";
|
|
||||||
|
|
||||||
$pdf->save($path.$dir.$filename);
|
return $path.$filename;
|
||||||
|
//return $pdf->stream('invoice.pdf');
|
||||||
//return $path.$dir.$filename;
|
|
||||||
|
|
||||||
return $pdf->stream('invoice.pdf');
|
|
||||||
}
|
}
|
||||||
public function check($id,$data)
|
public function check($id,$data)
|
||||||
{
|
{
|
||||||
|
|
@ -77,13 +92,13 @@ class TravelUserBookingFewoRepository extends BaseRepository {
|
||||||
'travel_user_id' => 'required',
|
'travel_user_id' => 'required',
|
||||||
'fewo_lodging_id' => 'required',
|
'fewo_lodging_id' => 'required',
|
||||||
'booking_date' => 'required',
|
'booking_date' => 'required',
|
||||||
'invoice_number' => 'required',
|
'invoice_number' => 'required|unique:mysql_stern.travel_user_booking_fewos,invoice_number,'.$model->id,
|
||||||
'from_date'=>'required',
|
'from_date'=>'required',
|
||||||
'to_date'=>'required',
|
'to_date'=>'required',
|
||||||
'travel_booking_fewo_channel_id' => 'required',
|
'travel_booking_fewo_channel_id' => 'required',
|
||||||
'status' => 'required'
|
'status' => 'required'
|
||||||
);
|
);
|
||||||
|
// $rules['email'] = 'required|string|email|max:255|unique:.travel_users,email,'.$model->id;
|
||||||
$validator = Validator::make(Input::all(), $rules);
|
$validator = Validator::make(Input::all(), $rules);
|
||||||
if ($validator->fails()) {
|
if ($validator->fails()) {
|
||||||
return ['success' => false, 'error' => $validator];
|
return ['success' => false, 'error' => $validator];
|
||||||
|
|
|
||||||
|
|
@ -52,4 +52,19 @@ class Util
|
||||||
strtolower($clean) :
|
strtolower($clean) :
|
||||||
$clean;
|
$clean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function replacePlaceholders($search, $replace){
|
||||||
|
|
||||||
|
preg_match_all("/\{{(.+?)\}}/", $search, $matches);
|
||||||
|
if (isset($matches[1]) && count($matches[1]) > 0){
|
||||||
|
foreach ($matches[1] as $key => $value) {
|
||||||
|
$kvalue = trim($value);
|
||||||
|
if (array_key_exists($kvalue, $replace)){
|
||||||
|
$search = preg_replace("/\{\{$value\}\}/", $replace[$kvalue], $search);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $search;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -54,10 +54,16 @@ return [
|
||||||
'url' => env('APP_URL').'/storage',
|
'url' => env('APP_URL').'/storage',
|
||||||
'visibility' => 'public',
|
'visibility' => 'public',
|
||||||
],
|
],
|
||||||
'invoices_fewo' => [
|
'fewo_invoices' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('app/invoices/fewo'),
|
'root' => storage_path('app/fewo/invoices'),
|
||||||
'url' => env('APP_URL').'/storage/invoices/fewo',
|
'url' => env('APP_URL').'/storage/fewo/invoices',
|
||||||
|
'visibility' => 'public',
|
||||||
|
],
|
||||||
|
'fewo_infos' => [
|
||||||
|
'driver' => 'local',
|
||||||
|
'root' => storage_path('app/fewo/infos'),
|
||||||
|
'url' => env('APP_URL').'/storage/fewo/infos',
|
||||||
'visibility' => 'public',
|
'visibility' => 'public',
|
||||||
],
|
],
|
||||||
's3' => [
|
's3' => [
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'host' => env('MAIL_HOST', 'smtp.kagado.de'),
|
'host' => env('MAIL_HOST', 'mail.your-server.de'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -56,9 +56,12 @@ return [
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'from' => [
|
'from' => [
|
||||||
'address' => env('MAIL_FROM_ADDRESS', 'mail@kagado.de'),
|
'address' => env('MAIL_FROM_ADDRESS', 'info@mein.sterntours.de'),
|
||||||
'name' => env('MAIL_FROM_NAME', 'Mein Stern-Tours'),
|
'name' => env('MAIL_FROM_NAME', 'Mein Stern-Tours'),
|
||||||
],
|
],
|
||||||
|
'mail_bbc' => env('MAIL_BBC', 'info@sterntours.de'),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,10 @@ class CreateTravelUserBookingFewosTable extends Migration
|
||||||
$table->unsignedTinyInteger('status')->default(0);
|
$table->unsignedTinyInteger('status')->default(0);
|
||||||
$table->text('status_text')->nullable();
|
$table->text('status_text')->nullable();
|
||||||
|
|
||||||
|
$table->text('send_user_mail')->nullable();
|
||||||
|
$table->text('send_service_mail')->nullable();
|
||||||
|
$table->text('info_mail_text')->nullable();
|
||||||
|
$table->text('send_info_mail')->nullable();
|
||||||
|
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
$table->softDeletes();
|
$table->softDeletes();
|
||||||
|
|
|
||||||
|
|
@ -89,4 +89,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.card hr.hr-primary {
|
||||||
|
border-color: rgba(100, 136, 89, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
BIN
public/images/da2f996_wlogo_1.png
Normal file
BIN
public/images/da2f996_wlogo_1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
|
|
@ -16,11 +16,18 @@
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<h4 class="font-weight-bold py-3 mb-4">
|
|
||||||
User bearbeiten/anlegen
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('admin_user_store'), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('admin_user_store'), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
|
User @if($user->id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$user->id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('admin_users')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
|
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
|
||||||
|
|
||||||
@include('admin.user_form')
|
@include('admin.user_form')
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col">
|
||||||
|
<label for="name" class="form-label">{{ __('Slug') }}</label>
|
||||||
|
{{ Form::text('slug', $value->slug, array('class'=>'form-control', 'readonly')) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,18 @@
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<h4 class="font-weight-bold py-3 mb-1">
|
|
||||||
Feedback verwalten
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('cms_feedback_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('cms_feedback_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
|
Feedback @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('cms_feedback')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||||
|
|
||||||
<!-- draft -->
|
<!-- draft -->
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,19 @@
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<h4 class="font-weight-bold py-3 mb-1">
|
|
||||||
Sidebar Widget verwalten
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('cms_sidebar_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('cms_sidebar_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
|
Sidebar Widget @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('cms_sidebar')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,19 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<h4 class="font-weight-bold py-3 mb-1">
|
|
||||||
Reiseführer verwalten
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('cms_travel_magazine_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('cms_travel_magazine_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
|
Reiseführer @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('cms_travel_magazine')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||||
|
|
||||||
<!-- draft -->
|
<!-- draft -->
|
||||||
|
|
|
||||||
|
|
@ -102,8 +102,8 @@
|
||||||
@if(count($draft->draft_items))
|
@if(count($draft->draft_items))
|
||||||
@php($i = 1)
|
@php($i = 1)
|
||||||
<div class="text-left mt-3 mb-2">
|
<div class="text-left mt-3 mb-2">
|
||||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
|
<a href="{{route('drafts')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="far fa-plus"></i> Neue Leistung hinzufügen</button>
|
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="far fa-plus"></i> Neue Leistung hinzufügen</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -287,7 +287,6 @@
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="far fa-plus"></i> Neue Leistung hinzufügen</button>
|
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="far fa-plus"></i> Neue Leistung hinzufügen</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="text-left mt-3">
|
<div class="text-left mt-3">
|
||||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||||
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
|
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,6 @@
|
||||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center" valign="top">
|
<td align="center" valign="top">
|
||||||
|
|
||||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td style=" text-align:center;">
|
<td style=" text-align:center;">
|
||||||
|
|
@ -119,7 +118,7 @@
|
||||||
<tr class="">
|
<tr class="">
|
||||||
<td align="center" valign="top" style="font-size: 0px;" class="">
|
<td align="center" valign="top" style="font-size: 0px;" class="">
|
||||||
<picture class="">
|
<picture class="">
|
||||||
<img src="https://www.sterntours.de/images/da2f996_wlogo_1.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>
|
</picture>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
|
|
@ -133,7 +132,6 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
||||||
bgcolor="#ffffff">
|
bgcolor="#ffffff">
|
||||||
<tr>
|
<tr>
|
||||||
|
|
@ -181,7 +179,7 @@
|
||||||
</table>
|
</table>
|
||||||
</center>
|
</center>
|
||||||
</td>
|
</td>
|
||||||
<tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="color:#37302d;font-size: 14px;">
|
<td style="color:#37302d;font-size: 14px;">
|
||||||
<center>
|
<center>
|
||||||
|
|
@ -206,9 +204,7 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<table cellpadding="0" cellspacing="0" class="force-full-width"
|
||||||
|
|
||||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" class="force-full-width"
|
|
||||||
bgcolor="#f8f8f8" style="margin: 0 auto">
|
bgcolor="#f8f8f8" style="margin: 0 auto">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="color:#7B7B7E; font-size:14px;">
|
<td style="color:#7B7B7E; font-size:14px;">
|
||||||
|
|
|
||||||
181
resources/views/emails/content.blade.php
Normal file
181
resources/views/emails/content.blade.php
Normal file
|
|
@ -0,0 +1,181 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<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">
|
||||||
|
@import url(https://fonts.googleapis.com/css?family=Roboto);
|
||||||
|
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>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
@media screen {
|
||||||
|
/*Thanks Outlook 2013! http://goo.gl/XLxpyl*/
|
||||||
|
td, h1, h2, h3 {
|
||||||
|
font-family: 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif' !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style type="text/css" media="only screen and (max-width: 480px)">
|
||||||
|
/* Mobile styles */
|
||||||
|
@media only screen and (max-width: 480px) {
|
||||||
|
|
||||||
|
table[class="w320"] {
|
||||||
|
width: 320px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<!--[if mso]>
|
||||||
|
<style type="text/css">
|
||||||
|
body, table, td {
|
||||||
|
font-family: Helvetica, Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -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;">
|
||||||
|
{{ $content }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%">
|
||||||
|
<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">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<td style=" text-align:center;">
|
||||||
|
<center>
|
||||||
|
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="">
|
||||||
|
<tbody class="">
|
||||||
|
<tr class="">
|
||||||
|
<td align="center" valign="top" style="font-size: 0px;" class="">
|
||||||
|
<picture class="">
|
||||||
|
<img src="https://mein.sterntours.de/images/stern-tours-logo.png" alt="STERN TOURS" style="border:none" width="260">
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
||||||
|
bgcolor="#ffffff">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: left">
|
||||||
|
<br>
|
||||||
|
{!! nl2br($content) !!}
|
||||||
|
<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellpadding="0" cellspacing="0" class="force-full-width"
|
||||||
|
bgcolor="#f8f8f8" style="margin: 0 auto">
|
||||||
|
<tr>
|
||||||
|
<td style="color:#7B7B7E; font-size:14px;">
|
||||||
|
<br>
|
||||||
|
STERN TOURS GmbH | Emser Straße 3 | 10719 Berlin<br>
|
||||||
|
Tel: +49 (0) 30 700 94 100 | Fax: +49 (0) 30 700 94 1044 | stern@sterntours.de<br>
|
||||||
|
<br>
|
||||||
|
<a href="https://www.sterntours.de" style="color: #7B7B7E; text-decoration: underline;">www.sterntours.de</a>
|
||||||
|
<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#bbbbbb; font-size:12px;">
|
||||||
|
Geschäftsführer: Thomas Stern | Registergericht: Amtsgericht Charlottenburg | Registernummer: HRB 67111<br>
|
||||||
|
Steuernummer: 27/545/30703 | UST-Ident.-Nr.: DE192609253 | Finanzamt: Wilmersdorf<br>
|
||||||
|
<a href="{{route('data_protected')}}">Datenschutzerklärung</a> <br>
|
||||||
|
© 2018 All Rights Reserved <br>
|
||||||
|
<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
178
resources/views/emails/info.blade.php
Normal file
178
resources/views/emails/info.blade.php
Normal file
|
|
@ -0,0 +1,178 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<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">
|
||||||
|
@import url(https://fonts.googleapis.com/css?family=Roboto);
|
||||||
|
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>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
@media screen {
|
||||||
|
/*Thanks Outlook 2013! http://goo.gl/XLxpyl*/
|
||||||
|
td, h1, h2, h3 {
|
||||||
|
font-family: 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif' !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style type="text/css" media="only screen and (max-width: 480px)">
|
||||||
|
/* Mobile styles */
|
||||||
|
@media only screen and (max-width: 480px) {
|
||||||
|
|
||||||
|
table[class="w320"] {
|
||||||
|
width: 320px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<!--[if mso]>
|
||||||
|
<style type="text/css">
|
||||||
|
body, table, td {
|
||||||
|
font-family: Helvetica, Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -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%">
|
||||||
|
<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">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<td style=" text-align:center;">
|
||||||
|
<center>
|
||||||
|
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="">
|
||||||
|
<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">
|
||||||
|
</picture>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
||||||
|
bgcolor="#ffffff">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: left">
|
||||||
|
<p style="font-size: 14px;">{!! nl2br($copy1line) !!}</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellpadding="0" cellspacing="0" class="force-full-width"
|
||||||
|
bgcolor="#f8f8f8" style="margin: 0 auto">
|
||||||
|
<tr>
|
||||||
|
<td style="color:#7B7B7E; font-size:14px; text-align: center">
|
||||||
|
<br>
|
||||||
|
STERN TOURS GmbH | Emser Straße 3 | 10719 Berlin<br>
|
||||||
|
Tel: +49 (0) 30 700 94 100 | Fax: +49 (0) 30 700 94 1044 | stern@sterntours.de<br>
|
||||||
|
<br>
|
||||||
|
<a href="https://www.sterntours.de" style="color: #7B7B7E; text-decoration: underline;">www.sterntours.de</a>
|
||||||
|
<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#bbbbbb; font-size:12px; text-align: center">
|
||||||
|
Geschäftsführer: Thomas Stern | Registergericht: Amtsgericht Charlottenburg | Registernummer: HRB 67111<br>
|
||||||
|
Steuernummer: 27/545/30703 | UST-Ident.-Nr.: DE192609253 | Finanzamt: Wilmersdorf<br>
|
||||||
|
<a href="{{route('data_protected')}}">Datenschutzerklärung</a> <br>
|
||||||
|
© 2018 All Rights Reserved
|
||||||
|
<br><br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
268
resources/views/emails/invoice.blade.php
Normal file
268
resources/views/emails/invoice.blade.php
Normal file
|
|
@ -0,0 +1,268 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<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">
|
||||||
|
@import url(https://fonts.googleapis.com/css?family=Roboto);
|
||||||
|
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>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
@media screen {
|
||||||
|
/*Thanks Outlook 2013! http://goo.gl/XLxpyl*/
|
||||||
|
td, h1, h2, h3 {
|
||||||
|
font-family: 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif' !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style type="text/css" media="only screen and (max-width: 480px)">
|
||||||
|
/* Mobile styles */
|
||||||
|
@media only screen and (max-width: 480px) {
|
||||||
|
|
||||||
|
table[class="w320"] {
|
||||||
|
width: 320px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<!--[if mso]>
|
||||||
|
<style type="text/css">
|
||||||
|
body, table, td {
|
||||||
|
font-family: Helvetica, Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -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%">
|
||||||
|
<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">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<td style=" text-align:center;">
|
||||||
|
<center>
|
||||||
|
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="">
|
||||||
|
<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">
|
||||||
|
</picture>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
||||||
|
bgcolor="#ffffff">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: left">
|
||||||
|
<br>
|
||||||
|
<b><span class="headline"> {{ $salutation }} </span></b>
|
||||||
|
<br>
|
||||||
|
<p style="font-size: 14px;">{{ $copy1line }}</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5" cellpadding="3" cellspacing="0" width="90%">
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: right; vertical-align: top; width: 25%; " >
|
||||||
|
{{ __('Belegungszeitraum:') }}
|
||||||
|
</td>
|
||||||
|
<td style="color:#37302d; text-align: left; vertical-align: top;">
|
||||||
|
<strong>von {{$model->from_date}} bis {{$model->to_date}}</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: right; vertical-align: top; border-top:1px solid #e4e4e4;" >
|
||||||
|
{{ __('Ferienwohnung:') }}
|
||||||
|
</td>
|
||||||
|
<td style="color:#37302d; text-align: left; vertical-align: top; border-top:1px solid #E4E4E4;">
|
||||||
|
<strong>{!! nl2br($model->getNameAddressLocation()) !!}</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: right; vertical-align: top; border-top:1px solid #E4E4E4;" >
|
||||||
|
{{ __('Mietpreis:') }}
|
||||||
|
</td>
|
||||||
|
<td style="color:#37302d; text-align: left; vertical-align: top; border-top:1px solid #E4E4E4;">
|
||||||
|
<strong>{{ $model->price_travel }} €</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: right; vertical-align: top; border-top:1px solid #E4E4E4;" >
|
||||||
|
{{ __('Service-Gebühr:') }}
|
||||||
|
</td>
|
||||||
|
<td style="color:#37302d; text-align: left; vertical-align: top; border-top:1px solid #E4E4E4;">
|
||||||
|
<strong>{{ $model->price_service }} €</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: right; vertical-align: top; border-top:1px solid #E4E4E4;" >
|
||||||
|
{{ __('Kaution:') }}
|
||||||
|
</td>
|
||||||
|
<td style="color:#37302d; text-align: left; vertical-align: top; border-top:1px solid #E4E4E4;">
|
||||||
|
<strong>{{ $model->price_deposit }} €</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d; text-align: right; vertical-align: top; border-top:1px solid #E4E4E4;" >
|
||||||
|
{{ __('Gesamtpreis:') }}
|
||||||
|
</td>
|
||||||
|
<td style="color:#37302d; text-align: left; vertical-align: top; border-top:1px solid #E4E4E4;">
|
||||||
|
<strong>{{ $model->price_total }} €</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d;font-size: 14px;">
|
||||||
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||||
|
@if($notice && $notice != "")
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d;">
|
||||||
|
<p><b>Wichtige Hinweise:</b><br>
|
||||||
|
{!! nl2br($notice) !!}</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endif
|
||||||
|
<tr>
|
||||||
|
<td style="color:#37302d;">
|
||||||
|
<br>
|
||||||
|
<p>Mietbedingungen und Mietbestätigung / Rechnung finden Sie als PDF im Anhang.</p>
|
||||||
|
<p>Mit dieser Buchungsbestätigung ist der Mietvertrag für <strong>Sie und uns verbindlich.</strong></p>
|
||||||
|
<ul>
|
||||||
|
<li>eine sofort zahlungsfällige Anzahlung von 50% Mietpreis = <strong>{{ $model->getPriceTravelFirstPay() }} €</strong></li>
|
||||||
|
<li>sowie eine Restzahlung von <strong>{{ $model->getPriceTravelSecondPay() }} €</strong> bis spätestens 4 Wochen vor Belegungsbeginn inkl. der oben genannten Kaution.</li>
|
||||||
|
</ul>
|
||||||
|
<p>auf folgendes Bankkonto:<br>
|
||||||
|
<strong>STERN TOURS GmbH<br>
|
||||||
|
IBAN: DE83100208900018857111<br>
|
||||||
|
BIC: HYVEDEMM488</strong>
|
||||||
|
</p>
|
||||||
|
<p>Mit freundlichen Grüßen<br>
|
||||||
|
Ihr Team von STERN TOURS</p>
|
||||||
|
<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellpadding="0" cellspacing="0" class="force-full-width"
|
||||||
|
bgcolor="#f8f8f8" style="margin: 0 auto">
|
||||||
|
<tr>
|
||||||
|
<td style="color:#7B7B7E; font-size:14px; text-align: center">
|
||||||
|
<br>
|
||||||
|
STERN TOURS GmbH | Emser Straße 3 | 10719 Berlin<br>
|
||||||
|
Tel: +49 (0) 30 700 94 100 | Fax: +49 (0) 30 700 94 1044 | stern@sterntours.de<br>
|
||||||
|
<br>
|
||||||
|
<a href="https://www.sterntours.de" style="color: #7B7B7E; text-decoration: underline;">www.sterntours.de</a>
|
||||||
|
<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="color:#bbbbbb; font-size:12px; text-align: center">
|
||||||
|
Geschäftsführer: Thomas Stern | Registergericht: Amtsgericht Charlottenburg | Registernummer: HRB 67111<br>
|
||||||
|
Steuernummer: 27/545/30703 | UST-Ident.-Nr.: DE192609253 | Finanzamt: Wilmersdorf<br>
|
||||||
|
<a href="{{route('data_protected')}}">Datenschutzerklärung</a> <br>
|
||||||
|
© 2018 All Rights Reserved
|
||||||
|
<br><br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -167,8 +167,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div id="detail_box">
|
<div id="detail_box">
|
||||||
|
<p>{{$model->getUserSalutation()}},<br>
|
||||||
<p> Sehr geehrte Damen und Herren,<br>
|
|
||||||
<br>
|
<br>
|
||||||
herzlichen Dank für Ihre Online-Buchung vom {{$model->booking_date}} :</p>
|
herzlichen Dank für Ihre Online-Buchung vom {{$model->booking_date}} :</p>
|
||||||
<p>Auf Grundlage der Beschreibung der gebuchten Unterkunft und unserer im Rahmen des Onlinebuchungsprozesses vertraglich einbezogenen Mietbedingungen
|
<p>Auf Grundlage der Beschreibung der gebuchten Unterkunft und unserer im Rahmen des Onlinebuchungsprozesses vertraglich einbezogenen Mietbedingungen
|
||||||
|
|
@ -178,7 +177,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td class="left">{{ __('Belegungszeitraum:') }}</td>
|
<td class="left">{{ __('Belegungszeitraum:') }}</td>
|
||||||
<td class="right">
|
<td class="right">
|
||||||
<div class="font-weight-bold">{{$model->from_date}} von {{$model->to_date}}</div>
|
<div class="font-weight-bold">von {{$model->from_date}} bis {{$model->to_date}}</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
||||||
207
resources/views/pdf/travel_info_fewo.blade.php
Normal file
207
resources/views/pdf/travel_info_fewo.blade.php
Normal file
|
|
@ -0,0 +1,207 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
<title></title>
|
||||||
|
|
||||||
|
{!! Html::style('css/invoice_fewo_pdf.css') !!}
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
margin: 90mm 0 30mm 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-weight-bold {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
#logo_box {
|
||||||
|
position: absolute;
|
||||||
|
top:-80mm;
|
||||||
|
left: 25mm;
|
||||||
|
right: 25mm;
|
||||||
|
height: 25mm;
|
||||||
|
z-index: 1;
|
||||||
|
font-size: 10pt;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#logo_box img {
|
||||||
|
width: 65mm;
|
||||||
|
}
|
||||||
|
#address_box {
|
||||||
|
position: absolute;
|
||||||
|
top:-40mm;
|
||||||
|
left: 25mm;
|
||||||
|
width: 100mm;
|
||||||
|
height: 45mm;
|
||||||
|
z-index: 1;
|
||||||
|
font-size: 11pt;
|
||||||
|
|
||||||
|
}
|
||||||
|
#address_box #address_back{
|
||||||
|
font-size: 7pt;
|
||||||
|
text-decoration: underline;
|
||||||
|
margin-bottom: 2mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#date_box {
|
||||||
|
position: absolute;
|
||||||
|
top:-10mm;
|
||||||
|
right: 15mm;
|
||||||
|
width: 70mm;
|
||||||
|
height: 10mm;
|
||||||
|
z-index: 1;
|
||||||
|
font-size: 10pt;
|
||||||
|
line-height: 12pt;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#title_box {
|
||||||
|
position: absolute;
|
||||||
|
top:0mm;
|
||||||
|
left: 25mm;
|
||||||
|
width: 160mm;
|
||||||
|
height: 10mm;
|
||||||
|
z-index: 2;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
}
|
||||||
|
#title_box .title {
|
||||||
|
font-size: 16pt;
|
||||||
|
line-height: 12pt;
|
||||||
|
}
|
||||||
|
#title_box .subtitle {
|
||||||
|
font-size: 9pt;
|
||||||
|
line-height: 9pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
#detail_box {
|
||||||
|
position: absolute;
|
||||||
|
top:15mm;
|
||||||
|
left: 25mm;
|
||||||
|
right: 15mm;
|
||||||
|
z-index: 3;
|
||||||
|
font-size: 9pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#detail_box table {
|
||||||
|
width: 100%;
|
||||||
|
line-height: 9pt;
|
||||||
|
border-collapse: collapse;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#detail_box table td {
|
||||||
|
border: 0.5pt solid #8c8c8c;
|
||||||
|
padding: 1mm;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#detail_box table td.left {
|
||||||
|
text-align: right;
|
||||||
|
width: 50mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
#detail_box table td.right {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.singel-line-top {
|
||||||
|
border-top: 1pt solid #1a1a18;
|
||||||
|
}
|
||||||
|
.double-line {
|
||||||
|
border-bottom: 2.5pt double #1a1a18;
|
||||||
|
}
|
||||||
|
.dotted-line {
|
||||||
|
border-bottom: 0.8pt dotted #1a1a18;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer_box {
|
||||||
|
position: absolute;
|
||||||
|
bottom:-25mm;
|
||||||
|
left: 25mm;
|
||||||
|
right: 15mm;
|
||||||
|
height: 30mm;
|
||||||
|
z-index: 6;
|
||||||
|
font-size: 7pt;
|
||||||
|
line-height: 8pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer_box table {
|
||||||
|
margin-top: 2mm;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer_box table td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{{--
|
||||||
|
<div id="brand_paper_background">
|
||||||
|
<img src="{{ base_path()}}/storage/app/pdf/inno-plan-bg.png" height="100%" width="100%">
|
||||||
|
</div>
|
||||||
|
--}}
|
||||||
|
<div id="logo_box">
|
||||||
|
<img src="{{asset('images/stern-tours-logo.png')}}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="address_box">
|
||||||
|
<div id="address_back">STERN TOURS GmbH • Emser Str. 3 • 10719 Berlin</div>
|
||||||
|
{!! nl2br($model->getBookingUserAddress()) !!}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="date_box">
|
||||||
|
Berlin, den {!! date("d.m.Y") !!}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="title_box">
|
||||||
|
Anreiseinfo Nr. {{$model->invoice_number}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="detail_box">
|
||||||
|
<p>{!! nl2br($travel_info_user_text) !!}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer_box">
|
||||||
|
<strong>P.S.: Wir empfehlen dringend, den Abschluss einer Reiserücktrittskostenversicherung.</strong>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 20%">
|
||||||
|
<strong>STERN TOURS GmbH</strong><br>
|
||||||
|
Emser Str. 3<br>
|
||||||
|
10719 Berlin<br>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<strong>Fon:</strong> 030 | 88 0 313 0<br>
|
||||||
|
<strong>Fax:</strong> 030 | 88 0 313 44<br>
|
||||||
|
<strong>E-Mail:</strong> kontakt@sterntours.de<br>
|
||||||
|
<strong>Web:</strong> www.sterntours.de
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<strong>Bankverbindung:</strong><br>
|
||||||
|
STERN TOURS<br>
|
||||||
|
Hypo Vereinsbank<br>
|
||||||
|
IBAN: DE83100208900018857111<br>
|
||||||
|
BIC-/SWIFT-Code: HYVEDEMM488
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<strong>Öffnungszeiten:</strong><br>
|
||||||
|
Mo-Do: 09.00-18.00 Uhr<br>
|
||||||
|
FR: 09.00-16.00 Uhr<br><br>
|
||||||
|
UStId: DE192609253<br>
|
||||||
|
Registernr.: HRB 67111<br>
|
||||||
|
Amtsgericht Charlottenburg<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -2,11 +2,17 @@
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<h4 class="font-weight-bold py-3 mb-1">
|
|
||||||
Reiseland verwalten
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('admin_settings_travel_country_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('admin_settings_travel_country_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
|
Reiseland @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('admin_settings_travel_country')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,18 @@
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<h4 class="font-weight-bold py-3 mb-1">
|
|
||||||
Programm verwalten
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
|
Programm @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('travel_programs')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||||
|
|
||||||
<!-- draft -->
|
<!-- draft -->
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,17 @@
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<h4 class="font-weight-bold py-3 mb-1">
|
|
||||||
Kunden @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('travel_user_booking_fewo_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('travel_user_booking_fewo_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
|
Buchung FeWo @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('travel_user_booking_fewos')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
|
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||||
@include('travel.user.booking.form')
|
@include('travel.user.booking.form')
|
||||||
|
|
||||||
<div class="text-left mt-3">
|
<div class="text-left mt-3">
|
||||||
|
|
|
||||||
|
|
@ -123,9 +123,11 @@
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<label class="custom-control custom-checkbox">
|
<label class="custom-control custom-checkbox">
|
||||||
{!! Form::checkbox('is_calendar_stern_tours', 1, $travel_user_booking_fewo->is_calendar_stern_tours, ['class'=>'custom-control-input']) !!}
|
{!! Form::checkbox('is_calendar_stern_tours', 1, $travel_user_booking_fewo->is_calendar_stern_tours, ['class'=>'custom-control-input']) !!}
|
||||||
<span class="custom-control-label">{{__('STERN TOURS')}} <br>Reservierung:
|
<span class="custom-control-label">{{__('STERN TOURS')}} <br>Im Kalender:
|
||||||
@if($travel_user_booking_fewo->fewo_reservation && isset($travel_user_booking_fewo->fewo_reservation->from_date))
|
@if($travel_user_booking_fewo->fewo_reservation && isset($travel_user_booking_fewo->fewo_reservation->from_date))
|
||||||
{{ $travel_user_booking_fewo->fewo_reservation->from_date->format('d.m.Y') }} - {{ $travel_user_booking_fewo->fewo_reservation->to_date->format('d.m.Y') }}
|
{{ $travel_user_booking_fewo->fewo_reservation->from_date->format('d.m.Y') }} - {{ $travel_user_booking_fewo->fewo_reservation->to_date->format('d.m.Y') }}
|
||||||
|
@else
|
||||||
|
nicht eingetragen
|
||||||
@endif
|
@endif
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -148,7 +150,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<label class="form-label" for="status_text">{{ __('Notiz') }}</label>
|
<label class="form-label" for="status_text">{{ __('Notiz') }}</label>
|
||||||
{{ Form::textarea('status_text', $travel_user_booking_fewo->status_text, ['class' => 'form-control', 'rows'=>4]) }}
|
{{ Form::textarea('status_text', $travel_user_booking_fewo->status_text, ['class' => 'form-control autoExpand', 'rows'=>1]) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -157,7 +159,7 @@
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<div class="form-group col-sm-12">
|
<div class="form-group col-sm-12">
|
||||||
<label class="form-label" for="notice">{{ __('Bemerkung Kunde') }}</label>
|
<label class="form-label" for="notice">{{ __('Bemerkung Kunde') }}</label>
|
||||||
{{ Form::textarea('notice', $travel_user_booking_fewo->notice, ['class' => 'form-control', 'rows'=>4]) }}
|
{{ Form::textarea('notice', $travel_user_booking_fewo->notice, ['class' => 'form-control autoExpand', 'rows'=>1]) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -166,12 +168,139 @@
|
||||||
|
|
||||||
<div class="card mb-2">
|
<div class="card mb-2">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="text-right">
|
@if($travel_user_booking_fewo->isInvoice())
|
||||||
<button type="submit" name="action" value="createInvoice" class="btn btn-primary">{{ __('Mietbestätigung / Rechnung erstellen') }}</button>
|
<h4>Mietbestätigung / Rechnung
|
||||||
|
<div class="text-right float-right">
|
||||||
|
<button type="submit" name="action" value="createInvoice" class="btn btn-primary btn-sm" onclick="return confirm('{{__('Rechnung überschreiben?')}}');">{{ __('Mietbestätigung / Rechnung PDF erstellen') }}</button>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<a class="btn btn-secondary btn-sm" target="_blank" href="{{$travel_user_booking_fewo->getInvoiceUrlFile()}}/file"><i class="fa fa-file-pdf"></i> Mietbestätigung / Rechnung: {{$travel_user_booking_fewo->getInvoiceFileName()}}</a>
|
||||||
|
Erstellt: <strong>{{$travel_user_booking_fewo->getInvoiceLastModified()}}</strong>
|
||||||
|
@else
|
||||||
|
<h4>Mietbestätigung / Rechnung
|
||||||
|
<div class="text-right float-right">
|
||||||
|
<button type="submit" name="action" value="createInvoice" class="btn btn-primary btn-sm">{{ __('Mietbestätigung / Rechnung PDF erstellen') }}</button>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
@endif
|
||||||
|
@if($travel_user_booking_fewo->isInvoice())
|
||||||
|
@if($travel_user_booking_fewo->send_user_mail)
|
||||||
|
<table class="table table-striped border-bottom mt-4">
|
||||||
|
<tbody>
|
||||||
|
@foreach($travel_user_booking_fewo->send_user_mail as $send_user_mail)
|
||||||
|
<tr>
|
||||||
|
<td style="width: 25%"><strong>{!! key($send_user_mail) !!}</strong><br>E-Mail versendet.</td>
|
||||||
|
<td><span class="small">{!! nl2br(current($send_user_mail)) !!}</span></td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
@endif
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-sm-12">
|
||||||
|
<label class="form-label" for="send_mail_user_notice">{{ __('Wichtige Hinweise in E-Mail ') }}</label>
|
||||||
|
{{ Form::textarea('send_mail_user_notice', '', ['class' => 'form-control autoExpand', 'rows'=>1]) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="text-right mt-2">
|
||||||
|
<button type="submit" name="action" value="sendMailtoUser" class="btn btn-primary btn-sm" onclick="return confirm('{{__('Mail an Mieter versenden?')}}');">{{ __('E-Mail mit Mietbestätigung / Rechnung und Mietbedingungen an Kunden versenden') }}</button>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if($travel_user_booking_fewo->isInvoice())
|
||||||
|
|
||||||
|
<div class="card mb-2">
|
||||||
|
<div class="card-body">
|
||||||
|
@if($travel_user_booking_fewo->isTravelInfo())
|
||||||
|
<h4>Anreiseinfo
|
||||||
|
<div class="text-right float-right">
|
||||||
|
<button type="submit" name="action" value="createTravelInfo" class="btn btn-primary btn-sm" onclick="return confirm('{{__('Anreiseinfo überschreiben?')}}');">{{ __('Anreiseinfo speichern und PDF erstellen') }}</button>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<p><a class="btn btn-secondary btn-sm" target="_blank" href="{{$travel_user_booking_fewo->getTravelInfoUrlFile()}}/file"><i class="fa fa-file-pdf"></i> {{$travel_user_booking_fewo->getTravelInfoFileName()}}</a>
|
||||||
|
Erstellt: <strong>{{$travel_user_booking_fewo->getTravelInfoLastModified()}}</strong></p>
|
||||||
|
@else
|
||||||
|
<h4>Anreiseinfo
|
||||||
|
<div class="text-right float-right">
|
||||||
|
<button type="submit" name="action" value="createTravelInfo" class="btn btn-primary btn-sm">{{ __('Anreiseinfo speichern und PDF erstellen') }}</button>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
@endif
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-sm-12">
|
||||||
|
<button class="btn btn-default btn-sm " type="button" data-toggle="collapse" data-target="#collapseTravelInfo" aria-expanded="false" aria-controls="collapseTravelInfo">
|
||||||
|
{{ __('Inhalt für das PDF / Mail') }} <i class="fa fa-angle-down"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse mt-2" id="collapseTravelInfo">
|
||||||
|
{{ Form::textarea('info_mail_text', $travel_user_booking_fewo->info_mail_text, ['class' => 'form-control autoExpand', 'rows'=>1, 'id'=>'travel_info_user_text']) }}
|
||||||
|
<em>Grundtext in ADMIN CMS > <a href="{{route('cms_content')}}">Inhalte</a> > PDF Vorlage Anreiseinfo FeWo</em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
@if($travel_user_booking_fewo->isTravelInfo())
|
||||||
|
@if($travel_user_booking_fewo->send_info_mail)
|
||||||
|
<table class="table table-striped border-bottom">
|
||||||
|
<tbody>
|
||||||
|
@foreach($travel_user_booking_fewo->send_info_mail as $send_info_mail)
|
||||||
|
<tr>
|
||||||
|
<td style="width: 25%"><strong>{!! key($send_info_mail) !!}</strong><br>E-Mail versendet.</td>
|
||||||
|
<td><span class="small">{!! nl2br(current($send_info_mail)) !!}</span></td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="text-right mt-2">
|
||||||
|
<button type="submit" name="action" value="sendInfosMailtoUser" class="btn btn-primary btn-sm" onclick="return confirm('{{__('Mail an Mieter versenden?')}}');">{{ __('E-Mail mit Anreiseinfo an Kunden versenden') }}</button>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if($travel_user_booking_fewo->isInvoice())
|
||||||
|
<div class="card mb-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4>Dienstleister Mail</h4>
|
||||||
|
@if($travel_user_booking_fewo->send_service_mail)
|
||||||
|
<table class="table table-striped border-bottom">
|
||||||
|
<tbody>
|
||||||
|
@foreach($travel_user_booking_fewo->send_service_mail as $send_service_mail)
|
||||||
|
<tr>
|
||||||
|
<td style="width: 25%"><strong>{!! $send_service_mail['d'] !!}</strong><br>{{$send_service_mail['m']}}</td>
|
||||||
|
<td>{{$send_service_mail['s']}}<br>
|
||||||
|
<span class="small">{!! nl2br($send_service_mail['c']) !!}</span></td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
@endif
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6">
|
||||||
|
<label class="form-label" for="send_mail_service_subject">{{ __('Betreff E-Mail ') }}</label>
|
||||||
|
{{ Form::text('send_mail_service_subject', $travel_user_booking_fewo->getServiceMailSubject(), ['class' => 'form-control']) }}
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6">
|
||||||
|
<label class="form-label" for="send_mail_service_mail">{{ __('E-Mail Adresse Dienstleister') }}</label>
|
||||||
|
{{ Form::text('send_mail_service_mail', 'langosch.birgit@web.de', array('class'=>'form-control')) }}
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-12">
|
||||||
|
<label class="form-label" for="send_mail_service_content">{{ __('Inhalt E-Mail ') }}</label>
|
||||||
|
{{ Form::textarea('send_mail_service_content', $travel_user_booking_fewo->getServiceMailContent(), ['class' => 'form-control autoExpand', 'rows'=>1]) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="text-right mt-2">
|
||||||
|
<button type="submit" name="action" value="sendMailtoService" class="btn btn-primary btn-sm" onclick="return confirm('{{__('Mail an Dienstleister vor Ort versenden?')}}');">{{ __('E-Mail an Dienstleister vor Ort versenden') }}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function floatNumber(n) {
|
function floatNumber(n) {
|
||||||
|
|
@ -179,8 +308,29 @@
|
||||||
n = n.replace(/\./g, '').replace(',', '.');
|
n = n.replace(/\./g, '').replace(',', '.');
|
||||||
return parseFloat(n);
|
return parseFloat(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function formatNumber(obj) {
|
||||||
|
n = obj.val();
|
||||||
|
n = n.replace(/\./g, '').replace(',', '.');
|
||||||
|
if(isNaN(parseFloat(n))){
|
||||||
|
obj.val(0);
|
||||||
|
}
|
||||||
|
obj.val(parseFloat(n).toFixed(2).replace(".", ","));
|
||||||
|
}
|
||||||
|
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
|
|
||||||
|
$('#collapseTravelInfo').on('shown.bs.collapse', function () {
|
||||||
|
$('#travel_info_user_text').keyup();
|
||||||
|
});
|
||||||
$('input.input-auto-calc').on('change', function () {
|
$('input.input-auto-calc').on('change', function () {
|
||||||
|
|
||||||
|
formatNumber($("input[name='price_travel']"));
|
||||||
|
formatNumber($("input[name='price_service']"));
|
||||||
|
formatNumber($("input[name='price_deposit']"));
|
||||||
|
formatNumber($("input[name='price_balance']"));
|
||||||
|
|
||||||
price_travel = floatNumber($("input[name='price_travel']").val());
|
price_travel = floatNumber($("input[name='price_travel']").val());
|
||||||
price_service = floatNumber($("input[name='price_service']").val());
|
price_service = floatNumber($("input[name='price_service']").val());
|
||||||
price_deposit = floatNumber($("input[name='price_deposit']").val());
|
price_deposit = floatNumber($("input[name='price_deposit']").val());
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
<th>{{__('Eingetragen')}}</th>
|
<th>{{__('Eingetragen')}}</th>
|
||||||
<th>{{__('Status')}}</th>
|
<th>{{__('Status')}}</th>
|
||||||
<th>{{__('Datum')}}</th>
|
<th>{{__('Datum')}}</th>
|
||||||
|
<th>{{__('R.-Nr.')}}</th>
|
||||||
<th style="max-width: 60px;">{{__('delete')}}</th>
|
<th style="max-width: 60px;">{{__('delete')}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
@ -34,7 +35,6 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
|
|
||||||
$('#datatables-default').dataTable({
|
$('#datatables-default').dataTable({
|
||||||
"processing": true,
|
"processing": true,
|
||||||
"serverSide": true,
|
"serverSide": true,
|
||||||
|
|
@ -50,6 +50,7 @@
|
||||||
{ data: 'is_calendar', name: 'is_calendar', orderable: false },
|
{ data: 'is_calendar', name: 'is_calendar', orderable: false },
|
||||||
{ data: 'status_name', name: 'status_name' },
|
{ data: 'status_name', name: 'status_name' },
|
||||||
{ data: 'booking_date', name: 'booking_date' },
|
{ data: 'booking_date', name: 'booking_date' },
|
||||||
|
{ data: 'invoice_number', name: 'invoice_number' },
|
||||||
{ data: 'action_delete', orderable: false, searchable: false},
|
{ data: 'action_delete', orderable: false, searchable: false},
|
||||||
],
|
],
|
||||||
"order": [[ 1, "desc" ]],
|
"order": [[ 1, "desc" ]],
|
||||||
|
|
@ -58,10 +59,8 @@
|
||||||
"language": {
|
"language": {
|
||||||
"url": "/js/German.json"
|
"url": "/js/German.json"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
/*initComplete: function () {
|
initComplete: function () {
|
||||||
|
|
||||||
|
|
||||||
this.api().columns(2).every( function () {
|
this.api().columns(2).every( function () {
|
||||||
var column = this;
|
var column = this;
|
||||||
var title = $(column.header()).html();
|
var title = $(column.header()).html();
|
||||||
|
|
|
||||||
|
|
@ -16,11 +16,18 @@
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
{!! Form::open(['url' => route('travel_user_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
<h4 class="font-weight-bold py-3 mb-1">
|
<h4 class="font-weight-bold py-3 mb-1">
|
||||||
Kunden @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
Kunden @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||||
|
<a href="{{route('travel_user_booking_fewos')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||||
|
</div>
|
||||||
</h4>
|
</h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
|
|
||||||
{!! Form::open(['url' => route('travel_user_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
|
||||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||||
|
|
||||||
@include('travel.user.form')
|
@include('travel.user.form')
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,13 @@
|
||||||
|
|
||||||
{!! Form::open(['url' => route('user_edit'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
|
{!! Form::open(['url' => route('user_edit'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
|
||||||
|
|
||||||
|
|
||||||
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
|
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
|
||||||
@include('user.form')
|
@include('user.form')
|
||||||
|
|
||||||
<div class="text-left mt-3">
|
<div class="text-left mt-3">
|
||||||
<button type="submit" class="btn btn-secondary">{{ __('save changes') }}</button>
|
<button type="submit" class="btn btn-secondary">{{ __('save changes') }}</button>
|
||||||
<a href="{{route('home')}}" class="btn btn-default">{{ __('back') }}</a>
|
<a href="{{route('home')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{!! Form::close() !!}
|
{!! Form::close() !!}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -62,15 +62,44 @@ Route::get('/user/update_email_confirm/{token}', 'UserUpdateEmailController@acti
|
||||||
Route::group(['middleware' => ['auth']], function()
|
Route::group(['middleware' => ['auth']], function()
|
||||||
{
|
{
|
||||||
|
|
||||||
Route::get('storage/{type?}/{file?}', function($type = null, $file = null)
|
Route::get('storage/{type?}/{class?}/{year?}/{file?}/{do?}', function($type = null, $class = null, $year = null, $file = null, $do = null) {
|
||||||
{
|
|
||||||
if($type == 'xls'){
|
/*if ($type == 'xls') {
|
||||||
$path = storage_path("app/export/");
|
$path = storage_path("app/export/");
|
||||||
$filename = $file . '.xls';
|
$filename = $file . '.xls';
|
||||||
|
}*/
|
||||||
|
$path = "";
|
||||||
|
$filename = "";
|
||||||
|
$headers = [];
|
||||||
|
if ($class == 'invoices'){
|
||||||
|
if ($type == 'fewo') {
|
||||||
|
$headers = array('Content-Type: application/pdf',);
|
||||||
|
$dir = $year."/";
|
||||||
|
$filename = $file;
|
||||||
|
if(Storage::disk('fewo_invoices')->exists( $dir.$filename )){
|
||||||
|
$path = Storage::disk('fewo_invoices')->path($dir.$filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists($path.$filename)) {
|
if ($class == 'infos'){
|
||||||
return Response::download($path.$filename, $filename);
|
if ($type == 'fewo') {
|
||||||
|
$headers = array('Content-Type: application/pdf',);
|
||||||
|
$dir = $year."/";
|
||||||
|
$filename = $file;
|
||||||
|
if(Storage::disk('fewo_infos')->exists( $dir.$filename )){
|
||||||
|
$path = Storage::disk('fewo_infos')->path($dir.$filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file_exists($path)) {
|
||||||
|
if($do == "download"){
|
||||||
|
return Response::download($path, $filename, $headers);
|
||||||
|
}
|
||||||
|
if($do == "file"){
|
||||||
|
return Response::file($path, $headers);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})->name('storage');
|
})->name('storage');
|
||||||
|
|
||||||
|
|
@ -257,13 +286,12 @@ Route::group(['middleware' => ['superadmin']], function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
use App\Mail\MailResetPassword;
|
use App\Mail\MailResetPassword;
|
||||||
|
|
||||||
Route::get('/send_test_email', function(){
|
Route::get('/send_test_email', function(){
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Mail::to('kevin.adametz@me.com')->send(new MailResetPassword('asdasd', Auth::user()));
|
//Mail::to('kevin.adametz@me.com')->send(new MailResetPassword('asdasd', Auth::user()));
|
||||||
|
|
||||||
Mail::raw('Sending emails with Mailgun and Laravel is easy!', function($message) {
|
Mail::raw('Sending emails with Mailgun and Laravel is easy!', function($message) {
|
||||||
$message->to('kevin.adametz@me.com', 'Kevin Adametz');
|
$message->to('kevin.adametz@me.com', 'Kevin Adametz');
|
||||||
|
|
@ -277,8 +305,9 @@ Route::get('/send_test_email', function(){
|
||||||
}
|
}
|
||||||
|
|
||||||
$fail = Mail::failures();
|
$fail = Mail::failures();
|
||||||
|
dd($fail);
|
||||||
|
|
||||||
if(!empty($fail)) throw new \Exception('Could not send message to '.$fail[0]);
|
if(!empty($fail)) throw new \Exception('Could not send message to '.$fail[0]);
|
||||||
|
|
||||||
});
|
});
|
||||||
*/
|
|
||||||
|
|
|
||||||
BIN
storage/app/fewo/infos/2019/Anreiseinfo-123455.pdf
Normal file
BIN
storage/app/fewo/infos/2019/Anreiseinfo-123455.pdf
Normal file
Binary file not shown.
BIN
storage/app/fewo/invoices/2019/123455.pdf
Normal file
BIN
storage/app/fewo/invoices/2019/123455.pdf
Normal file
Binary file not shown.
BIN
storage/app/fewo/travel/infos/2019/Anreiseinfo-123455.pdf
Normal file
BIN
storage/app/fewo/travel/infos/2019/Anreiseinfo-123455.pdf
Normal file
Binary file not shown.
BIN
storage/app/invoices/fewo/2019/12345.pdf
Normal file
BIN
storage/app/invoices/fewo/2019/12345.pdf
Normal file
Binary file not shown.
BIN
storage/app/invoices/fewo/2019/123455.pdf
Normal file
BIN
storage/app/invoices/fewo/2019/123455.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
storage/app/invoices/fewo/2019/1243414.pdf
Normal file
BIN
storage/app/invoices/fewo/2019/1243414.pdf
Normal file
Binary file not shown.
BIN
storage/app/public/pdf/Stern-Tours-Mietbedingungen.pdf
Normal file
BIN
storage/app/public/pdf/Stern-Tours-Mietbedingungen.pdf
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue