last changes since 6-2023
This commit is contained in:
parent
561c5875a7
commit
c1c613a4b9
53 changed files with 1351 additions and 93 deletions
|
|
@ -287,7 +287,9 @@ class ReportController extends Controller
|
|||
$new = false;
|
||||
}
|
||||
}else{
|
||||
$total_price += $export->booking->isCanceled() ? $export->booking->getPriceCanceledRaw() : $export->booking->getPriceRaw();
|
||||
|
||||
//$total_price += $export->booking->isCanceled() ? $export->booking->getPriceCanceledRaw() : $export->booking->getPriceRaw();
|
||||
$total_price += $export->isCanceled() ? $export->getPriceCanceledRaw() : $export->getPriceRaw();
|
||||
$columns[] = array(
|
||||
'BuchungsID' => $export->id,
|
||||
'Status' => $export->lead->status->name,
|
||||
|
|
|
|||
|
|
@ -62,6 +62,9 @@ class CMSContentController extends Controller
|
|||
//store in cms old Datebase
|
||||
\App\Models\Sym\CmsContent::create($data);
|
||||
}else{
|
||||
if($data['identifier'] === 'fewo-email-file'){
|
||||
$data['integer'] = isset($data['default_travel_info']) ? 1 : 0;
|
||||
}
|
||||
$model = CMSContent::find($data['id']);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
|
|
|
|||
|
|
@ -232,6 +232,24 @@ class LeadController extends Controller
|
|||
->addColumn('request_date', function (Lead $lead) {
|
||||
return Carbon::parse($lead->request_date)->format(\Util::formatDateDB());
|
||||
})
|
||||
->addColumn('travel_country', function (Lead $lead) {
|
||||
$out = "";
|
||||
if($lead->bookings->count()){
|
||||
$out = '<span class="badge badge-success">';
|
||||
foreach ($lead->bookings as $booking){
|
||||
if($booking->travel_country_id && $booking->travel_country) {
|
||||
$out .= $booking->travel_country->destco;
|
||||
}
|
||||
}
|
||||
$out .= '</span>';
|
||||
return $out;
|
||||
}
|
||||
if($lead->travel_country){
|
||||
return '<span class="badge badge-secondary">'.$lead->travel_country->destco.'</span>';
|
||||
}
|
||||
return "-";
|
||||
})
|
||||
|
||||
->addColumn('status', function (Lead $lead) {
|
||||
return $lead->getStatusBadge();
|
||||
})
|
||||
|
|
@ -292,7 +310,7 @@ class LeadController extends Controller
|
|||
$query->where('customer_id', 'LIKE', '%'.$keyword.'%');
|
||||
}
|
||||
})
|
||||
->rawColumns(['action_edit', 'customer_id', 'sf_guard_user_id', 'id', 'status', 'last_lead_email', 'lead_notice', 'action_delete'])
|
||||
->rawColumns(['action_edit', 'customer_id', 'sf_guard_user_id', 'id', 'status', 'last_lead_email', 'travel_country', 'lead_notice', 'action_delete'])
|
||||
->make(true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ class EmailsController extends Controller
|
|||
|
||||
protected $identifier_booking_file;
|
||||
protected $identifier_fewo_file;
|
||||
protected $identifier_lead_file;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
|
|
|||
154
app/Http/Controllers/TravelContentController.php
Normal file
154
app/Http/Controllers/TravelContentController.php
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Request;
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Page;
|
||||
|
||||
class TravelContentController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware(['admin', '2fa']);
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'travelProgramOverviews' => Page::whereTemplate('travelProgramOverview')->get(),
|
||||
'step' => $step
|
||||
];
|
||||
return view('travel.content.index', $data);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function detail($id)
|
||||
{
|
||||
if($id === "new") {
|
||||
$id = 'new';
|
||||
|
||||
}else{
|
||||
$page = Page::findOrFail($id);
|
||||
$id = $page->id;
|
||||
}
|
||||
$data = [
|
||||
'model' => $page,
|
||||
'id' => $id,
|
||||
];
|
||||
return view('travel.content.detail', $data);
|
||||
}
|
||||
|
||||
public function store($id)
|
||||
{
|
||||
$data = Request::all();
|
||||
if($id === "new") {
|
||||
//$draft = new Draft();
|
||||
}else{
|
||||
$page = Page::findOrFail($id);
|
||||
}
|
||||
|
||||
if(Page::whereSlug($data['slug'])->where('id', '!=', $page->id)->count() > 0){
|
||||
$data['slug'] = "";
|
||||
}
|
||||
|
||||
$page->title = $data['title'];
|
||||
$page->title_short = $data['title_short'];
|
||||
$page->pagetitle = $data['pagetitle'];
|
||||
$page->slug = $data['slug'];
|
||||
$page->description = $data['description'];
|
||||
$page->content_new = $data['content_new'];
|
||||
$page->status = $data['status'];
|
||||
$page->show_in_navi = $data['show_in_navi'];
|
||||
$page->save();
|
||||
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('travel_content_detail', [$page->id]));
|
||||
}
|
||||
|
||||
public function subDetail($id)
|
||||
{
|
||||
if($id === "new") {
|
||||
$id = 'new';
|
||||
|
||||
}else{
|
||||
$page = Page::findOrFail($id);
|
||||
$id = $page->id;
|
||||
}
|
||||
$data = [
|
||||
'model' => $page,
|
||||
'id' => $id,
|
||||
];
|
||||
return view('travel.content.sub_detail', $data);
|
||||
}
|
||||
|
||||
public function subStore($id)
|
||||
{
|
||||
$data = Request::all();
|
||||
if($id === "new") {
|
||||
//$draft = new Draft();
|
||||
}else{
|
||||
$page = Page::findOrFail($id);
|
||||
}
|
||||
|
||||
if(Page::whereSlug($data['slug'])->where('id', '!=', $page->id)->count() > 0){
|
||||
$data['slug'] = "";
|
||||
}
|
||||
$page->title = $data['title'];
|
||||
$page->pagetitle = $data['pagetitle'];
|
||||
$page->slug = $data['slug'];
|
||||
$page->description = $data['description'];
|
||||
$page->status = $data['status'];
|
||||
$page->show_in_navi = $data['show_in_navi'];
|
||||
$page->order = $data['order'];
|
||||
|
||||
$page->travel_program = $data['travel_program'] > 0 ? $data['travel_program'] : null;
|
||||
|
||||
$page->save();
|
||||
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('travel_content_sub_detail', [$page->id]));
|
||||
}
|
||||
|
||||
|
||||
public function load(){
|
||||
$data = Request::all();
|
||||
$ret = "";
|
||||
if(Request::ajax()) {
|
||||
if($data['action'] === "modal-copy-page") {
|
||||
if($data['id'] > 0){
|
||||
$value = Page::findOrFail($data['id']);
|
||||
$ret = view('travel.content.modal_copy', compact('value'))->render();
|
||||
}
|
||||
}
|
||||
}
|
||||
return response()->json(['response' => $data, 'html'=>$ret]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
|
||||
if($data['action'] === 'page-copy'){
|
||||
if($data['page_copy_id'] > 0){
|
||||
$model = Page::findOrFail($data['page_copy_id']);
|
||||
$newModel = $model->replicate();
|
||||
$newModel->date = null;
|
||||
//slug unique
|
||||
// $newModel->slug
|
||||
$newModel->created_at = now();
|
||||
$newModel->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('travel_content_detail', [$data['id']]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -3,21 +3,23 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Mail\MailSendFeWoInvoice;
|
||||
use App\Mail\MailSendFeWoService;
|
||||
use App\Mail\MailSendFeWoInfo;
|
||||
use Request;
|
||||
use App\Services\Util;
|
||||
use App\Models\CMSContent;
|
||||
use App\Models\FewoLodging;
|
||||
use App\Mail\MailSendFeWoInfo;
|
||||
use App\Models\FewoReservation;
|
||||
use App\Models\TravelBookingFewoChannel;
|
||||
use App\Models\TravelUserBookingFewo;
|
||||
use App\Models\TravelUserBookingFewoNotice;
|
||||
use App\Models\TravelUserBookingFile;
|
||||
use App\Repositories\BookingFewoFileRepository;
|
||||
use App\Repositories\TravelUserBookingFewoRepository;
|
||||
use App\Services\Util;
|
||||
use App\Models\CustomerFewoFile;
|
||||
use App\Mail\MailSendFeWoInvoice;
|
||||
use App\Mail\MailSendFeWoService;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Request;
|
||||
use App\Models\TravelUserBookingFewo;
|
||||
use App\Models\TravelUserBookingFile;
|
||||
use App\Models\TravelBookingFewoChannel;
|
||||
use App\Models\TravelUserBookingFewoNotice;
|
||||
use App\Repositories\BookingFewoFileRepository;
|
||||
use App\Repositories\CustomerFewoFileRepository;
|
||||
use App\Repositories\TravelUserBookingFewoRepository;
|
||||
|
||||
class TravelUserBookingFewoController extends Controller
|
||||
{
|
||||
|
|
@ -147,8 +149,12 @@ class TravelUserBookingFewoController extends Controller
|
|||
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_files = [];
|
||||
if(isset($data['info_mail_files'])){
|
||||
$mail_files = $this->setMailInfoFiles($data['info_mail_files'], $travel_user_booking_fewo);
|
||||
}
|
||||
$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));
|
||||
Mail::to($travel_user_booking_fewo->travel_user->email)->bcc($mail_bbc)->send(new MailSendFeWoInfo($travel_user_booking_fewo, $mail_files));
|
||||
$send_info_mail = $travel_user_booking_fewo->send_info_mail;
|
||||
$send_info_mail[] = [date('H:i d.m.Y') => $travel_user_booking_fewo->travel_user->email];
|
||||
$travel_user_booking_fewo->send_info_mail = $send_info_mail;
|
||||
|
|
@ -195,6 +201,51 @@ class TravelUserBookingFewoController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
private function setMailInfoFiles($info_mail_files, $travel_user_booking_fewo)
|
||||
{
|
||||
$files = [];
|
||||
$ret = [];
|
||||
//read files
|
||||
foreach($info_mail_files as $mail_file){
|
||||
if($mail_file === 'fewo_instruction_pdf'){
|
||||
$files[] = [
|
||||
'target' => route('customer_file_show', ['fewo_instruction_pdf', $travel_user_booking_fewo->fewo_lodging->id, 'stream']),
|
||||
'name' => \App\Services\BookingFewo::getFeWoInstructionPDFName($travel_user_booking_fewo->fewo_lodging)
|
||||
];
|
||||
}else{
|
||||
if($file = \App\Models\CMSContent::getModelBySlug($mail_file)){
|
||||
$files[] = [
|
||||
'target' => $file->getURL(),
|
||||
'name' => $file->name
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
//store files
|
||||
foreach($files as $file){
|
||||
$arrContextOptions=array(
|
||||
"ssl"=>array(
|
||||
"verify_peer"=>false,
|
||||
"verify_peer_name"=>false,
|
||||
),
|
||||
);
|
||||
$contents = file_get_contents($file['target'], false, stream_context_create($arrContextOptions));
|
||||
$mine = Util::getMimeFromHeader($http_response_header);
|
||||
$extension = Util::getExtensionFromMime($mine);
|
||||
$fileRepo = new CustomerFewoFileRepository(new CustomerFewoFile());
|
||||
$fileRepo->_set('disk', 'travel_user');
|
||||
$fileRepo->_set('dir', '/attachment/'.date('Y/m').'/');
|
||||
$fileRepo->_set('travel_user_id', $travel_user_booking_fewo->travel_user_id);
|
||||
$fileRepo->_set('customer_fewo_mail_id', NULL);
|
||||
$fileRepo->_set('identifier', 'fewo_info_mail_user');
|
||||
$fileRepo->_set('originalName', $file['name']);
|
||||
$fileRepo->_set('mine', $mine);
|
||||
$fileRepo->_set('extension', $extension);
|
||||
$ret[] = $fileRepo->storeReturnFile($contents);
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
public function getAjaxRequests(){
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue