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
|
||||
|
||||
|
||||
|
||||
#DB_CONNECTION=mysql
|
||||
#DB_HOST=localhost
|
||||
#DB_PORT=3306
|
||||
|
|
@ -46,14 +48,16 @@ REDIS_HOST=127.0.0.1
|
|||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
#info@@mein.sterntours.de
|
||||
#B7f8Ojt98v6tMz8W
|
||||
|
||||
MAIL_BBC=info@adametz.media
|
||||
#MAIL_BBC=info@sterntours.de
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_HOST=w00df904.kasserver.com
|
||||
MAIL_HOST=mail.your-server.de
|
||||
MAIL_PORT=587
|
||||
MAIL_USERNAME=m0479305
|
||||
MAIL_PASSWORD=m4CowydxoC4dY2DB
|
||||
MAIL_ENCRYPTION=null
|
||||
MAIL_USERNAME=info@mein.sterntours.de
|
||||
MAIL_PASSWORD=B7f8Ojt98v6tMz8W
|
||||
MAIL_ENCRYPTION=TLS
|
||||
|
||||
|
||||
PUSHER_APP_ID=
|
||||
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;
|
||||
|
||||
|
||||
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\FewoSeason;
|
||||
use App\Models\TravelUserBookingFewo;
|
||||
use App\Repositories\TravelUserBookingFewoRepository;
|
||||
use Carbon\Carbon;
|
||||
use App\Services\Util;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Input;
|
||||
|
||||
class TravelUserBookingFewoController extends Controller
|
||||
|
|
@ -35,6 +38,9 @@ class TravelUserBookingFewoController extends Controller
|
|||
{
|
||||
$max_adults = 10;
|
||||
$max_children = 10;
|
||||
|
||||
$replace_info_text = [];
|
||||
|
||||
if($id == "new") {
|
||||
$travel_user_booking_fewo = new TravelUserBookingFewo();
|
||||
$id = 'new';
|
||||
|
|
@ -43,13 +49,21 @@ 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_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;
|
||||
$replace_info_text['fewo_user_anrede'] = $travel_user_booking_fewo->getUserSalutation();
|
||||
$replace_info_text['fewo_adresse'] = $travel_user_booking_fewo->getNameAddressLocation(", ");
|
||||
}
|
||||
$data = [
|
||||
'travel_user_booking_fewo' => $travel_user_booking_fewo,
|
||||
'max_adults' => $max_adults,
|
||||
'max_children' => $max_children,
|
||||
'id' => $id,
|
||||
];
|
||||
|
||||
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 = [
|
||||
'travel_user_booking_fewo' => $travel_user_booking_fewo,
|
||||
'max_adults' => $max_adults,
|
||||
'max_children' => $max_children,
|
||||
'id' => $id,
|
||||
];
|
||||
return view('travel.user.booking.detail', $data);
|
||||
}
|
||||
|
||||
|
|
@ -59,27 +73,92 @@ class TravelUserBookingFewoController extends Controller
|
|||
if($data['action'] == 'saveAll'){
|
||||
return $this->userBookingFewoRepo->update($id, $data);
|
||||
}
|
||||
|
||||
if($data['action'] == 'createInvoice'){
|
||||
if(!TravelUserBookingFewo::find($id)){
|
||||
\Session()->flash('alert-error', __('Buchung nicht gefunden.'));
|
||||
return back()->withInput(Input::all());
|
||||
}
|
||||
|
||||
return $this->userBookingFewoRepo->createInvoicePDF($id, $data);
|
||||
$ret = $this->userBookingFewoRepo->check($id, $data);
|
||||
if($ret['success'] == false){
|
||||
return back()->withInput(Input::all())->withErrors($ret['error']);
|
||||
}
|
||||
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']]));
|
||||
|
||||
}
|
||||
}
|
||||
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){
|
||||
$model = TravelUserBookingFewo::findOrFail($id);
|
||||
$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),
|
||||
'salutation' => $salutation,
|
||||
'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.'),
|
||||
'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 Illuminate\Database\Eloquent\Model;
|
||||
use Util;
|
||||
|
||||
use Storage;
|
||||
use App\Services\Util;
|
||||
/**
|
||||
* Class TravelUserBookingFewo
|
||||
*
|
||||
|
|
@ -90,7 +90,10 @@ class TravelUserBookingFewo extends Model
|
|||
'is_calendar_fewo_direct' => 'bool',
|
||||
'is_calendar_hrs' => 'bool',
|
||||
'is_calendar_stern_tours' => 'bool',
|
||||
'status' => 'int'
|
||||
'status' => 'int',
|
||||
'send_user_mail' => 'array',
|
||||
'send_service_mail' => 'array',
|
||||
'send_info_mail' => 'array',
|
||||
];
|
||||
|
||||
protected $dates = [
|
||||
|
|
@ -326,10 +329,6 @@ class TravelUserBookingFewo extends Model
|
|||
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(){
|
||||
if($this->attributes['price_total'] == 0){
|
||||
return 0;
|
||||
|
|
@ -358,6 +357,125 @@ class TravelUserBookingFewo extends Model
|
|||
$first_pay = $this->attributes['price_travel']/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(){
|
||||
if($this->travel_user){
|
||||
$company = $this->travel_user->company ? $this->travel_user->company ."\n" : "";
|
||||
|
|
@ -367,12 +485,39 @@ class TravelUserBookingFewo extends Model
|
|||
}
|
||||
return "";
|
||||
}
|
||||
public function getNameAddressLocation(){
|
||||
public function getNameAddressLocation($sep = "\n"){
|
||||
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 "";
|
||||
}
|
||||
|
||||
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){
|
||||
|
||||
|
|
@ -37,18 +58,12 @@ class TravelUserBookingFewoRepository extends BaseRepository {
|
|||
$pdf = PDF::loadView('pdf.invoice_fewo', $data);
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
|
||||
$dir = "/".$model->getBookingDateYear()."/";
|
||||
if(!Storage::disk('invoices_fewo')->exists( $dir )){
|
||||
Storage::disk('invoices_fewo')->makeDirectory($dir); //creates directory
|
||||
}
|
||||
$path = Storage::disk('invoices_fewo')->getAdapter()->getPathPrefix();
|
||||
$filename = Util::sanitize($model->invoice_number).".pdf";
|
||||
$path =$model->getInvoicePath();
|
||||
$filename = $model->getInvoiceFileName();
|
||||
$pdf->save($path.$filename);
|
||||
|
||||
$pdf->save($path.$dir.$filename);
|
||||
|
||||
//return $path.$dir.$filename;
|
||||
|
||||
return $pdf->stream('invoice.pdf');
|
||||
return $path.$filename;
|
||||
//return $pdf->stream('invoice.pdf');
|
||||
}
|
||||
public function check($id,$data)
|
||||
{
|
||||
|
|
@ -77,13 +92,13 @@ class TravelUserBookingFewoRepository extends BaseRepository {
|
|||
'travel_user_id' => 'required',
|
||||
'fewo_lodging_id' => 'required',
|
||||
'booking_date' => 'required',
|
||||
'invoice_number' => 'required',
|
||||
'invoice_number' => 'required|unique:mysql_stern.travel_user_booking_fewos,invoice_number,'.$model->id,
|
||||
'from_date'=>'required',
|
||||
'to_date'=>'required',
|
||||
'travel_booking_fewo_channel_id' => 'required',
|
||||
'status' => 'required'
|
||||
);
|
||||
|
||||
// $rules['email'] = 'required|string|email|max:255|unique:.travel_users,email,'.$model->id;
|
||||
$validator = Validator::make(Input::all(), $rules);
|
||||
if ($validator->fails()) {
|
||||
return ['success' => false, 'error' => $validator];
|
||||
|
|
|
|||
|
|
@ -52,4 +52,19 @@ class Util
|
|||
strtolower($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',
|
||||
'visibility' => 'public',
|
||||
],
|
||||
'invoices_fewo' => [
|
||||
'fewo_invoices' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/invoices/fewo'),
|
||||
'url' => env('APP_URL').'/storage/invoices/fewo',
|
||||
'root' => storage_path('app/fewo/invoices'),
|
||||
'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',
|
||||
],
|
||||
'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' => [
|
||||
'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'),
|
||||
],
|
||||
'mail_bbc' => env('MAIL_BBC', 'info@sterntours.de'),
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -51,7 +51,10 @@ class CreateTravelUserBookingFewosTable extends Migration
|
|||
$table->unsignedTinyInteger('status')->default(0);
|
||||
$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->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>
|
||||
@endif
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-4">
|
||||
User bearbeiten/anlegen
|
||||
</h4>
|
||||
|
||||
{!! 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">
|
||||
|
||||
@include('admin.user_form')
|
||||
|
|
|
|||
|
|
@ -56,6 +56,13 @@
|
|||
</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 class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
|
||||
|
|
|
|||
|
|
@ -2,11 +2,18 @@
|
|||
|
||||
@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']) !!}
|
||||
|
||||
<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}}">
|
||||
|
||||
<!-- draft -->
|
||||
|
|
|
|||
|
|
@ -2,11 +2,19 @@
|
|||
|
||||
@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']) !!}
|
||||
|
||||
<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}}">
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,11 +19,19 @@
|
|||
</div>
|
||||
</div>
|
||||
@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']) !!}
|
||||
|
||||
<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}}">
|
||||
|
||||
<!-- draft -->
|
||||
|
|
|
|||
|
|
@ -102,8 +102,8 @@
|
|||
@if(count($draft->draft_items))
|
||||
@php($i = 1)
|
||||
<div class="text-left mt-3 mb-2">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<a href="{{route('drafts')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
<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>
|
||||
</div>
|
||||
|
|
@ -287,7 +287,6 @@
|
|||
<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>
|
||||
</div>
|
||||
|
||||
<div class="text-left mt-3">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
<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">
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style=" text-align:center;">
|
||||
|
|
@ -119,7 +118,7 @@
|
|||
<tr class="">
|
||||
<td align="center" valign="top" style="font-size: 0px;" 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>
|
||||
|
||||
</td>
|
||||
|
|
@ -133,7 +132,6 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
||||
bgcolor="#ffffff">
|
||||
<tr>
|
||||
|
|
@ -181,7 +179,7 @@
|
|||
</table>
|
||||
</center>
|
||||
</td>
|
||||
<tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="color:#37302d;font-size: 14px;">
|
||||
<center>
|
||||
|
|
@ -206,9 +204,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" class="force-full-width"
|
||||
<table cellpadding="0" cellspacing="0" class="force-full-width"
|
||||
bgcolor="#f8f8f8" style="margin: 0 auto">
|
||||
<tr>
|
||||
<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">
|
||||
|
||||
<p> Sehr geehrte Damen und Herren,<br>
|
||||
<p>{{$model->getUserSalutation()}},<br>
|
||||
<br>
|
||||
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
|
||||
|
|
@ -178,7 +177,7 @@
|
|||
<tr>
|
||||
<td class="left">{{ __('Belegungszeitraum:') }}</td>
|
||||
<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>
|
||||
</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')
|
||||
|
||||
<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']) !!}
|
||||
|
||||
<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}}">
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,18 @@
|
|||
|
||||
@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']) !!}
|
||||
|
||||
<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}}">
|
||||
|
||||
<!-- draft -->
|
||||
|
|
|
|||
|
|
@ -16,13 +16,17 @@
|
|||
</div>
|
||||
@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']) !!}
|
||||
<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')
|
||||
|
||||
<div class="text-left mt-3">
|
||||
|
|
|
|||
|
|
@ -123,10 +123,12 @@
|
|||
<div class="form-group col-sm-4">
|
||||
<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']) !!}
|
||||
<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))
|
||||
{{ $travel_user_booking_fewo->fewo_reservation->from_date->format('d.m.Y') }} - {{ $travel_user_booking_fewo->fewo_reservation->to_date->format('d.m.Y') }}
|
||||
@endif
|
||||
@else
|
||||
nicht eingetragen
|
||||
@endif
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
|
@ -148,7 +150,7 @@
|
|||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<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>
|
||||
<hr>
|
||||
|
|
@ -157,7 +159,7 @@
|
|||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<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>
|
||||
|
|
@ -166,21 +168,169 @@
|
|||
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<div class="text-right">
|
||||
<button type="submit" name="action" value="createInvoice" class="btn btn-primary">{{ __('Mietbestätigung / Rechnung erstellen') }}</button>
|
||||
</div>
|
||||
|
||||
@if($travel_user_booking_fewo->isInvoice())
|
||||
<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>
|
||||
|
||||
@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>
|
||||
@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>
|
||||
function floatNumber(n) {
|
||||
'use strict';
|
||||
n = n.replace(/\./g, '').replace(',', '.');
|
||||
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() {
|
||||
|
||||
$('#collapseTravelInfo').on('shown.bs.collapse', function () {
|
||||
$('#travel_info_user_text').keyup();
|
||||
});
|
||||
$('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_service = floatNumber($("input[name='price_service']").val());
|
||||
price_deposit = floatNumber($("input[name='price_deposit']").val());
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
<th>{{__('Eingetragen')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th>{{__('Datum')}}</th>
|
||||
<th>{{__('R.-Nr.')}}</th>
|
||||
<th style="max-width: 60px;">{{__('delete')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -34,7 +35,6 @@
|
|||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
||||
$('#datatables-default').dataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
|
@ -50,6 +50,7 @@
|
|||
{ data: 'is_calendar', name: 'is_calendar', orderable: false },
|
||||
{ data: 'status_name', name: 'status_name' },
|
||||
{ data: 'booking_date', name: 'booking_date' },
|
||||
{ data: 'invoice_number', name: 'invoice_number' },
|
||||
{ data: 'action_delete', orderable: false, searchable: false},
|
||||
],
|
||||
"order": [[ 1, "desc" ]],
|
||||
|
|
@ -58,10 +59,8 @@
|
|||
"language": {
|
||||
"url": "/js/German.json"
|
||||
},
|
||||
|
||||
/*initComplete: function () {
|
||||
|
||||
|
||||
/*
|
||||
initComplete: function () {
|
||||
this.api().columns(2).every( function () {
|
||||
var column = this;
|
||||
var title = $(column.header()).html();
|
||||
|
|
|
|||
|
|
@ -16,11 +16,18 @@
|
|||
</div>
|
||||
@endif
|
||||
|
||||
{!! Form::open(['url' => route('travel_user_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
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>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
|
||||
{!! Form::open(['url' => route('travel_user_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||
|
||||
@include('travel.user.form')
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
{!! 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">
|
||||
@include('user.form')
|
||||
|
||||
<div class="text-left mt-3">
|
||||
<button type="submit" class="btn btn-secondary">{{ __('save changes') }}</button>
|
||||
<a href="{{route('home')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,15 +62,44 @@ Route::get('/user/update_email_confirm/{token}', 'UserUpdateEmailController@acti
|
|||
Route::group(['middleware' => ['auth']], function()
|
||||
{
|
||||
|
||||
Route::get('storage/{type?}/{file?}', function($type = null, $file = null)
|
||||
{
|
||||
if($type == 'xls'){
|
||||
Route::get('storage/{type?}/{class?}/{year?}/{file?}/{do?}', function($type = null, $class = null, $year = null, $file = null, $do = null) {
|
||||
|
||||
/*if ($type == 'xls') {
|
||||
$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)) {
|
||||
return Response::download($path.$filename, $filename);
|
||||
if ($class == 'infos'){
|
||||
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');
|
||||
|
||||
|
|
@ -257,18 +286,17 @@ Route::group(['middleware' => ['superadmin']], function() {
|
|||
});
|
||||
|
||||
|
||||
/*
|
||||
|
||||
use App\Mail\MailResetPassword;
|
||||
|
||||
Route::get('/send_test_email', function(){
|
||||
|
||||
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) {
|
||||
$message->to('kevin.adametz@me.com', 'Kevin Adametz');
|
||||
$message->subject('testing Networktrips');
|
||||
});
|
||||
Mail::raw('Sending emails with Mailgun and Laravel is easy!', function($message) {
|
||||
$message->to('kevin.adametz@me.com', 'Kevin Adametz');
|
||||
$message->subject('testing Networktrips');
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
|
@ -277,8 +305,9 @@ Route::get('/send_test_email', function(){
|
|||
}
|
||||
|
||||
$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