This commit is contained in:
Kevin Adametz 2024-08-05 12:05:24 +02:00
parent 04d677d37a
commit bfa3bb1df4
1191 changed files with 637397 additions and 10619 deletions

View file

@ -8,6 +8,7 @@ use Validator;
use App\Services\SysLog;
use App\Models\UserAccount;
use App\Models\UserHistory;
use App\Services\HTMLHelper;
use App\Services\UserService;
use App\Mail\MailAccountActive;
use App\Mail\MailCustomMessage;
@ -33,13 +34,42 @@ class LeadController extends Controller
*/
public function index()
{
$filter_sponsor = User::join('user_accounts', 'account_id', '=', 'user_accounts.id')->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->where('users.deleted_at', '=', null)->where('users.admin', "<", 4)->get();
$this->setFilterVars();
$data = [
'values' => User::where('admin', '=', 0)->where('confirmation_code_remider', '!=', 2)->get(),
'filter_months' => HTMLHelper::getTransMonths(),
'filter_years' => HTMLHelper::getYearRange(),
'filter_sponsor' => $filter_sponsor,
];
return view('admin.lead.index', $data);
}
private function setFilterVars(){
/*if(!session('leads_filter_month')){
session(['leads_filter_month' => intval(date('m'))]);
}
if(!session('leads_filter_year')){
session(['leads_filter_year' => intval(date('Y'))]);
}*/
session(['leads_filter_sponsor_id' => Request::get('leads_filter_sponsor_id')]);
/* if(Request::get('leads_filter_month')){
session(['leads_filter_month' => Request::get('leads_filter_month')]);
}
if(Request::get('leads_filter_year')){
session(['leads_filter_year' => Request::get('leads_filter_year')]);
}*/
}
/**
* @param $id
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
@ -122,6 +152,18 @@ class LeadController extends Controller
$data = Request::all();
$show = Request::get('show');
if(isset($data['action']) && $data['action'] == "reverse_charge_validate" && isset($data['user_id'])){
$user = User::findOrFail($data['user_id']);
return $this->userRepo->reverse_charge_validate($data, $user, route('admin_lead_edit', [$user->id]));
}
if(isset($data['action']) && $data['action'] == "reverse_charge_delete" && isset($data['user_id'])){
$user = User::findOrFail($data['user_id']);
return $this->userRepo->reverse_charge_delete($data, $user, route('admin_lead_edit', [$user->id]));
}
/*
if(isset($data['reverse_charge_validate']) && isset($data['user_id'])){
$user = User::findOrFail($data['user_id']);
$user->wizard = 1;
@ -136,7 +178,7 @@ class LeadController extends Controller
$user->save();
$userRepo = new UserRepository($user);
return $userRepo->reverse_charge_delete($data, $user);
}
}*/
if ($data['user_id'] === "new" || $data['user_id'] == 0) {
$rules = array(
@ -234,7 +276,7 @@ class LeadController extends Controller
//10 == start wizard form create Lead
$user->wizard = 10;
$user->save();
Mail::to($user->email)->send(new MailVerifyContact($confirmation_code, $user));
Mail::to($user->email)->locale($user->getLocale())->send(new MailVerifyContact($confirmation_code, $user));
\Session()->flash('alert-save', true);
return redirect(route('admin_leads'));
@ -242,10 +284,6 @@ class LeadController extends Controller
\Session()->flash('alert-save', true);
return redirect(route('admin_lead_edit', [$user->id])."?show=".$show);
}
//user released when register is complete
public function released($action, $id){
@ -260,7 +298,7 @@ class LeadController extends Controller
if(!$user->account->m_first_name){
$validator->errors()->add('m_first_name', __('Berater hat keinen Vornamen.'));
}
if(!$user->account->m_first_name){
if(!$user->account->m_last_name){
$validator->errors()->add('m_last_name', __('Berater hat keinen Nachnamen.'));
}
if(!$user->account->m_account){
@ -288,7 +326,7 @@ class LeadController extends Controller
$user->save();
//mail with code to user?
Mail::to($user->email)->send(new MailAccountActive($user));
Mail::to($user->email)->locale($user->getLocale())->send(new MailAccountActive($user));
UserHistory::create(['user_id' => $user->id, 'action'=>'released_completed', 'status'=>0]);
\Session()->flash('alert-success', "Berater freigeschaltet!");
}
@ -312,7 +350,7 @@ class LeadController extends Controller
'confirmation_code' => $confirmation_code,
];
try {
Mail::to($user->email)->send(new MailCustomMessage($user, $data, \Auth::user(), true));
Mail::to($user->email)->locale($user->getLocale())->send(new MailCustomMessage($user, $data, \Auth::user(), true));
}
catch(\Exception $e){
dump($e->getMessage());
@ -338,7 +376,7 @@ class LeadController extends Controller
$user->save();
try {
Mail::to($user->email)->send(new MailVerifyAccount($confirmation_code, $user));
Mail::to($user->email)->locale($user->getLocale())->send(new MailVerifyAccount($confirmation_code, $user));
}
catch(\Exception $e){
dump($e->getMessage());
@ -357,19 +395,36 @@ class LeadController extends Controller
if($relation === 'upload'){
$user = User::findOrFail($user_id);
$file = $user->files()->findOrFail($file_id);
if($file->identifier === 'business_license'){
$user->account->setNotice('business_license', '');
}
//remove file
\Storage::disk('user')->delete($file->dir.$file->filename);
$file->delete();
\Session()->flash('alert-success', "Datei gelöscht");
\Session()->flash('alert-success', __('msg.file_deleted'));
}
return back();
}
private function initSearch()
{
$this->setFilterVars();
//$query = UserSalesVolume::with('user', 'user.account')->with('shopping_order')->select('user_sales_volumes.*')
$query = User::with('account')->select('users.*')->where('users.deleted_at', '=', null)->where('users.admin', "<", 5);
if(Request::get('leads_filter_sponsor_id')){
$query->where('users.m_sponsor', '=', Request::get('leads_filter_sponsor_id'));
}
return $query;
}
public function getLeads()
{
$query = User::with('account')->select('users.*')->where('users.deleted_at', '=', null)->where('users.admin', "<", 4);
$query = $this->initSearch();
return \DataTables::eloquent($query)
->addColumn('first_name', function (User $user) {
@ -379,10 +434,14 @@ class LeadController extends Controller
return $user->account ? $user->account->last_name : '';
})
->addColumn('user_level', function (User $user) {
return $user->user_level ? $user->user_level->name : '';
return $user->user_level ? '<span class="badge badge-outline-success">'.$user->user_level->name.'</span>' : '';
})
->addColumn('user_sponsor', function (User $user) {
return $user->user_sponsor ?
'<span class="badge badge-outline-warning-dark">'.$user->user_sponsor->account->first_name." ".$user->user_sponsor->account->last_name.'</span>' : "-";
})
->addColumn('id', function (User $user) {
return '<a href="' . route('admin_lead_edit', [$user->id]) . '" class="btn icon-btn btn-sm btn-primary"><span class="far fa-edit"></span></a>';
return '<a href="' . route('admin_lead_edit', [$user->id]) . '" class="btn icon-btn btn-sm btn-primary"><span class="fa fa-edit"></span></a>';
})
->addColumn('confirmed', function (User $user) {
return $user->confirmed ? '<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>' : '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
@ -393,6 +452,36 @@ class LeadController extends Controller
->addColumn('agreement', function (User $user) {
return $user->agreement ? ' <span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>' : '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
})
->addColumn('useractive', function (User $user) {
$date = $user->getActiveDateFormat();
$link = '<a href="#" data-toggle="modal" data-target="#modals-active" data-id="'.$user->id.'" data-email="'.$user->email.'" data-active="'.$user->active.'" data-active_date="'.$date.'">';
return $user->active ? $link.'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> '.$date.'</span></a>' : $link.'<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
})
->addColumn('payaccount', function (User $user) {
$date = $user->getPaymentAccountDateFormat();
$link = '<a href="#" data-toggle="modal" data-target="#modals-account" data-id="'.$user->id.'" data-email="'.$user->email.'" data-payment_account="'.$date.'">';
if($user->payment_account){
if($user->isActiveAccount()){
return $link.'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> '.$date.'</span></a>';
}
return $link.'<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i> '.$date.'</span></a>';
}
return $link.'<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
})
->addColumn('payshop', function (User $user) {
$date = $user->getPaymentShopDateFormat();
$link = '<a href="#" data-toggle="modal" data-target="#modals-shop" data-id="'.$user->id.'" data-email="'.$user->email.'" data-payment_shop="'.$date.'">';
if($user->payment_shop){
if($user->isActiveShop()){
return $link.'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> '.$date.'</span></a>';
}
return $link.'<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i> '.$date.'</span></a>';
}
return $link.'<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
})
->addColumn('payment_account', function (User $user) {
return $user->payment_account ? ' <span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>' : '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
})
@ -402,11 +491,12 @@ class LeadController extends Controller
->addColumn('payment_shop', function (User $user) {
return $user->payment_shop ? ' <span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>' : '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
})
->addColumn('payment_shop_date', function (User $user) {
return $user->payment_shop ? $user->getPaymentShopDateFormat(false) : "-";
})
->addColumn('shop_domain', function (User $user) {
return $user->shop ? ' <span class="small">'.$user->shop->getSubdomain(false).'</span>' : '';
return $user->shop ? ' <span class="small"><a href="'.$user->shop->getSubdomain(false).'" target="_blank">'.$user->shop->getSubdomain(false).'</a></span>' : '';
})
->addColumn('turnover', function (User $user) {
@ -421,7 +511,7 @@ class LeadController extends Controller
->orderColumn('agreement', 'agreement $1')
->orderColumn('payment_account', 'payment_account $1')
->orderColumn('payment_shop', 'payment_shop $1')
->rawColumns(['id', 'confirmed', 'active', 'agreement', 'payment_account', 'payment_shop', 'shop_domain'])
->rawColumns(['id', 'user_level', 'user_sponsor', 'confirmed', 'useractive', 'payaccount', 'payshop', 'agreement', 'active', 'payment_account', 'payment_shop', 'shop_domain'])
->make(true);
}
}