23-01-2026

This commit is contained in:
Kevin Adametz 2026-01-23 17:35:23 +01:00
parent a939cd51ef
commit a8b395e20d
248 changed files with 29342 additions and 4805 deletions

View file

@ -26,7 +26,6 @@ class LeadController extends Controller
{
$this->middleware('admin');
$this->userRepo = $userRepo;
}
/**
@ -49,7 +48,8 @@ class LeadController extends Controller
}
private function setFilterVars(){
private function setFilterVars()
{
/*if(!session('leads_filter_month')){
session(['leads_filter_month' => intval(date('m'))]);
@ -57,10 +57,10 @@ class LeadController extends Controller
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')){
/* if(Request::get('leads_filter_month')){
session(['leads_filter_month' => Request::get('leads_filter_month')]);
}
if(Request::get('leads_filter_year')){
@ -76,16 +76,16 @@ class LeadController extends Controller
*/
public function edit($id)
{
if($id === "new"){
if ($id === "new") {
$user = new User();
$user->account = new UserAccount();
$user->account->same_as_billing = 1;
$user->account->country_id = 1;
$user->account->shipping_country_id = 1;
$user->id = "new";
}else{
} else {
$user = User::withTrashed()->findOrFail($id);
if(!$user->account){
if (!$user->account) {
$user->account = new UserAccount();
}
}
@ -108,27 +108,27 @@ class LeadController extends Controller
$m_data_load = false;
$m_data_error = false;
$data = Request::all();
if(!isset($data['edit_m_data_key']) || $data['edit_m_data_key'] !== config('mivita.edit_data_pass')){
if (!isset($data['edit_m_data_key']) || $data['edit_m_data_key'] !== config('mivita.edit_data_pass')) {
$m_data_error = "Das Passwort ist falsch.";
}else{
} else {
$m_data_load = true;
}
if($id === "new"){
if ($id === "new") {
$user = new User();
$user->account = new UserAccount();
$user->account->same_as_billing = 1;
$user->account->country_id = 1;
$user->account->shipping_country_id = 1;
$user->id = "new";
}else{
} else {
$user = User::withTrashed()->findOrFail($id);
if(!$user->account){
if (!$user->account) {
$user->account = new UserAccount();
}
}
$next_account_id = UserAccount::withTrashed()->max('m_account') +1;
if($user->account->m_account === null){
$next_account_id = UserAccount::withTrashed()->max('m_account') + 1;
if ($user->account->m_account === null) {
$user->account->m_account = $next_account_id;
}
@ -152,16 +152,16 @@ class LeadController extends Controller
$data = Request::all();
$show = Request::get('show');
if(isset($data['action']) && $data['action'] == "reverse_charge_validate" && isset($data['user_id'])){
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'])){
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'])){
@ -183,18 +183,18 @@ class LeadController extends Controller
if ($data['user_id'] === "new" || $data['user_id'] == 0) {
$rules = array(
'salutation' => 'required',
'first_name'=>'required',
'last_name'=>'required',
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|string|email|max:255|unique:users',
'email-confirm' => 'required|same:email',
);
}else{
} else {
$rules = array(
'salutation' => 'required',
'first_name'=>'required',
'last_name'=>'required',
'address'=>'required',
'zipcode'=>'required',
'first_name' => 'required',
'last_name' => 'required',
'address' => 'required',
'zipcode' => 'required',
'city' => 'required',
'email' => 'required|string|email|max:255|exists:users,email',
'email-confirm' => 'required|same:email',
@ -202,12 +202,12 @@ class LeadController extends Controller
'bank_iban' => 'required',
'bank_bic' => 'required',
);
if(!Request::get('same_as_billing')){
if (!Request::get('same_as_billing')) {
$rules = array_merge($rules, [
'shipping_firstname'=>'required',
'shipping_lastname'=>'required',
'shipping_address'=>'required',
'shipping_zipcode'=>'required',
'shipping_firstname' => 'required',
'shipping_lastname' => 'required',
'shipping_address' => 'required',
'shipping_zipcode' => 'required',
'shipping_city' => 'required',
'shipping_salutation' => 'required'
@ -215,9 +215,9 @@ class LeadController extends Controller
}
}
if(isset($data['m_account']) && $data['m_account']){
if (isset($data['m_account']) && $data['m_account']) {
$user = User::findOrFail($data['user_id']);
$rules['m_account'] = 'unique:user_accounts,m_account,'.$user->account->id.',id';
$rules['m_account'] = 'unique:user_accounts,m_account,' . $user->account->id . ',id';
}
$validator = Validator::make(Request::all(), $rules);
@ -225,86 +225,86 @@ class LeadController extends Controller
if ($data['user_id'] === "new" || $data['user_id'] == 0) {
$user_id = "new";
}else{
} else {
$user = User::findOrFail($data['user_id']);
$user_id = $user->id;
}
return redirect(route('admin_lead_edit', [$user_id])."?show=".$show)->withErrors($validator)->withRequest(Request::all());
return redirect(route('admin_lead_edit', [$user_id]) . "?show=" . $show)->withErrors($validator)->withRequest(Request::all());
}
if ($data['user_id'] === "new" || $data['user_id'] == 0) {
$user = new User();
$user->id = "new";
if ($data['user_id'] === "new" || $data['user_id'] == 0) {
$user = new User();
$user->id = "new";
$user->account = new UserAccount();
} else {
$user = User::findOrFail($data['user_id']);
if (!$user->account) {
$user->account = new UserAccount();
}else {
$user = User::findOrFail($data['user_id']);
if(!$user->account){
$user->account = new UserAccount();
}
}
}
$this->userRepo->update($data);
$this->userRepo->update($data);
if(isset($data['m_data_edit']) && $data['m_data_edit'] === "TSOK"){
//syslog
if(isset($data['m_sponsor'])){
if($user->m_sponsor != $data['m_sponsor']){
$from_user = isset($user->user_sponsor->email) ? $user->user_sponsor->email : "empty";
$t_user = User::find($data['m_sponsor']);
$to_user = isset($t_user->email) ? $t_user->email : "empty";
if (isset($data['m_data_edit']) && $data['m_data_edit'] === "TSOK") {
//syslog
if (isset($data['m_sponsor'])) {
if ($user->m_sponsor != $data['m_sponsor']) {
$from_user = isset($user->user_sponsor->email) ? $user->user_sponsor->email : "empty";
$t_user = User::find($data['m_sponsor']);
$to_user = isset($t_user->email) ? $t_user->email : "empty";
SysLog::action('save-m_sponsor', 'lead_edit_sponsor', 3)
SysLog::action('save-m_sponsor', 'lead_edit_sponsor', 3)
->setUserId(\Auth::user()->id)
->setModel($user->id, User::class)
->setMessage('Set user new sponsor from: '.$from_user." | to: ".$to_user)
->setMessage('Set user new sponsor from: ' . $from_user . " | to: " . $to_user)
->save();
}
}
$user = $this->userRepo->getModel();
$user->m_level = isset($data['m_level']) ? $data['m_level'] : NULL;
$user->m_sponsor = isset($data['m_sponsor']) ? $data['m_sponsor'] : NULL;
$user->save();
}
if(isset($data['contact_verify'])){
$user = $this->userRepo->getModel();
$user->m_level = isset($data['m_level']) ? $data['m_level'] : NULL;
$user->m_sponsor = isset($data['m_sponsor']) ? $data['m_sponsor'] : NULL;
$user->save();
}
$user = $this->userRepo->getModel();
if (isset($data['contact_verify'])) {
$confirmation_code = UserService::createConfirmationCode();
$user = $this->userRepo->getModel();
$user->lang = $user->getLandByCountry();
$user->confirmation_code = $confirmation_code;
//10 == start wizard form create Lead
$user->wizard = 10;
$user->save();
Mail::to($user->email)->locale($user->getLocale())->send(new MailVerifyContact($confirmation_code, $user));
$confirmation_code = UserService::createConfirmationCode();
\Session()->flash('alert-save', true);
return redirect(route('admin_leads'));
}
$user->lang = $user->getLandByCountry();
$user->confirmation_code = $confirmation_code;
//10 == start wizard form create Lead
$user->wizard = 10;
$user->save();
Mail::to($user->email)->locale($user->getLocale())->send(new MailVerifyContact($confirmation_code, $user));
\Session()->flash('alert-save', true);
return redirect(route('admin_lead_edit', [$user->id])."?show=".$show);
return redirect(route('admin_leads'));
}
\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){
public function released($action, $id)
{
$user = User::findOrFail($id);
if($action === 'completed'){
if ($action === 'completed') {
$validator = Validator::make(Request::all(), []);
if(!$user->m_sponsor){
if (!$user->m_sponsor) {
$validator->errors()->add('m_sponsor', __('Berater hat keinen Sponsor.'));
}
if(!$user->account->m_first_name){
if (!$user->account->m_first_name) {
$validator->errors()->add('m_first_name', __('Berater hat keinen Vornamen.'));
}
if(!$user->account->m_last_name){
if (!$user->account->m_last_name) {
$validator->errors()->add('m_last_name', __('Berater hat keinen Nachnamen.'));
}
if(!$user->account->m_account){
if (!$user->account->m_account) {
$validator->errors()->add('m_account', __('Berater hat keine Account ID'));
}
if ($validator->errors()->count()) {
@ -314,7 +314,7 @@ class LeadController extends Controller
//create PDF
$pdf = new ContractPDFRepository($user);
$pdf->_set('disk', 'user');
$pdf->_set('dir', '/'.$user->id.'/documents/');
$pdf->_set('dir', '/' . $user->id . '/documents/');
$pdf->_set('user_id', $user->id);
$pdf->_set('identifier', 'contract');
$pdf->createContractPDF();
@ -330,11 +330,11 @@ class LeadController extends Controller
//mail with code to user?
Mail::to($user->email)->locale($user->getLocale())->send(new MailAccountActive($user));
UserHistory::create(['user_id' => $user->id, 'action'=>'released_completed', 'status'=>0]);
UserHistory::create(['user_id' => $user->id, 'action' => 'released_completed', 'status' => 0]);
\Session()->flash('alert-success', "Berater freigeschaltet!");
}
if($action === 'incomplete'){
if ($action === 'incomplete') {
//reset release
@ -354,21 +354,20 @@ class LeadController extends Controller
];
try {
Mail::to($user->email)->locale($user->getLocale())->send(new MailCustomMessage($user, $data, \Auth::user(), true));
}
catch(\Exception $e){
} catch (\Exception $e) {
dump($e->getMessage());
dd("error");
}
UserHistory::create(['user_id' => $user->id, 'action'=>'released_incomplete', 'status'=>0]);
UserHistory::create(['user_id' => $user->id, 'action' => 'released_incomplete', 'status' => 0]);
\Session()->flash('alert-success', "E-Mail an Berater gesendet.");
}
return redirect(route('admin_lead_edit', [$user->id]));
}
//send new verfified mail to user
public function newMailVerified($id){
public function newMailVerified($id)
{
$user = User::findOrFail($id);
@ -380,29 +379,28 @@ class LeadController extends Controller
try {
Mail::to($user->email)->locale($user->getLocale())->send(new MailVerifyAccount($confirmation_code, $user));
}
catch(\Exception $e){
} catch (\Exception $e) {
dump($e->getMessage());
dd("error");
}
UserHistory::create(['user_id' => $user->id, 'action'=>'new_mail_verified', 'status'=>0]);
UserHistory::create(['user_id' => $user->id, 'action' => 'new_mail_verified', 'status' => 0]);
\Session()->flash('alert-success', "E-Mail erneut gesendet");
return redirect(route('admin_lead_edit', [$user->id]));
}
public function deleteFile($user_id, $file_id, $relation){
public function deleteFile($user_id, $file_id, $relation)
{
if($relation === 'upload'){
if ($relation === 'upload') {
$user = User::findOrFail($user_id);
$file = $user->files()->findOrFail($file_id);
if($file->identifier === 'business_license'){
if ($file->identifier === 'business_license') {
$user->account->setNotice('business_license', '');
}
//remove file
\Storage::disk('user')->delete($file->dir.$file->filename);
\Storage::disk('user')->delete($file->dir . $file->filename);
$file->delete();
\Session()->flash('alert-success', __('msg.file_deleted'));
}
@ -416,7 +414,7 @@ class LeadController extends Controller
//$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')){
if (Request::get('leads_filter_sponsor_id')) {
$query->where('users.m_sponsor', '=', Request::get('leads_filter_sponsor_id'));
}
return $query;
@ -437,11 +435,11 @@ class LeadController extends Controller
return $user->account ? $user->account->last_name : '';
})
->addColumn('user_level', function (User $user) {
return $user->user_level ? '<span class="badge badge-outline-success">'.$user->user_level->name.'</span>' : '';
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>' : "-";
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="fa fa-edit"></span></a>';
@ -458,30 +456,30 @@ class LeadController extends Controller
->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>';
$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>';
$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-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>';
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>';
$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-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>';
return $link . '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
})
@ -494,13 +492,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"><a href="'.$user->shop->getSubdomain(false).'" target="_blank">'.$user->shop->getSubdomain(false).'</a></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) {
return "-";
@ -517,4 +514,4 @@ class LeadController extends Controller
->rawColumns(['id', 'user_level', 'user_sponsor', 'confirmed', 'useractive', 'payaccount', 'payshop', 'agreement', 'active', 'payment_account', 'payment_shop', 'shop_domain'])
->make(true);
}
}
}