mivita/dev/app-bak/Http/Controllers/User/DocumentsController.php
2025-10-20 17:42:08 +02:00

131 lines
No EOL
4.7 KiB
PHP

<?php
namespace App\Http\Controllers\User;
use Auth;
use Request;
use App\User;
use Validator;
use App\Models\File;
use App\Mail\MailReleaseDocument;
use App\Http\Controllers\Controller;
use App\Repositories\FileRepository;
use Illuminate\Support\Facades\Mail;
class DocumentsController extends Controller
{
protected $fileRepo;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct(FileRepository $fileRepo)
{
$this->middleware('auth');
$this->fileRepo = $fileRepo;
}
public function index()
{
$user = User::find(Auth::user()->id);
$data = [
'user' => $user,
'business_license_choose' => $user->account->getNotice('business_license'),
];
return view('user.documents.index', $data);
}
public function store($action){
$data = Request::all();
$user = User::findOrFail(Auth::user()->id);
if ($action == 'verification') {
if(Request::get('submit') === 'do'){
if(File::whereUserId($user->id)->whereIdentifier('id_card')->count() == 0){
$validator = Validator::make(Request::all(), []);
$validator->errors()->add('field', __('msg.no_id_card_deposited_please_upload_first'));
$user->save();
return redirect(route('user_documents'))->withErrors($validator)->withInput(Request::all());
}
$user->save();
return redirect(route('user_documents'));
}
$this->fileRepo->_set('disk', 'user');
$this->fileRepo->_set('dir', '/'.$user->id.'/verification/');
$this->fileRepo->_set('user_id', $user->id);
$this->fileRepo->_set('identifier', 'id_card');
return $this->fileRepo->uploadFile(Request::all());
}
if ($action == 'business_license') {
if(Request::get('submit') === 'do'){
$data = Request::all();
if($data['business_license_choose'] === "now"){
if(File::whereUserId($user->id)->whereIdentifier('business_license')->count() == 0){
$validator = Validator::make(Request::all(), []);
$validator->errors()->add('field', __('msg.no_trade_licence_deposited_please_upload_first'));
$user->save();
return redirect(route('user_documents'))->withErrors($validator)->withInput(Request::all());
}
$user->account->setNotice('business_license_reason', '');
}
if($data['business_license_choose'] === "later"){
$user->account->setNotice('business_license_reason', '');
}
if($data['business_license_choose'] === "non"){
if(!$data['non_business_license_reason'] || $data['non_business_license_reason'] == ""){
$validator = Validator::make(Request::all(), []);
$validator->errors()->add('field', __('msg.please_enter_reason_why_you_not_need_trade_licence'));
$user->save();
return redirect(route('user_documents'))->withErrors($validator)->withInput(Request::all());
}else{
$user->account->setNotice('business_license_reason', $data['non_business_license_reason']);
}
}
$user->account->setNotice('business_license', $data['business_license_choose']);
$user->save();
if($user->isTestMode()){
$mail = config('app.info_test_mail');
}else{
$mail = config('app.info_mail');
}
Mail::to($mail)->locale($user->getLocale())->send(new MailReleaseDocument($user));
return redirect(route('user_documents'));
}
$this->fileRepo->_set('disk', 'user');
$this->fileRepo->_set('dir', '/'.$user->id.'/verification/');
$this->fileRepo->_set('user_id', $user->id);
$this->fileRepo->_set('identifier', 'business_license');
return $this->fileRepo->uploadFile(Request::all());
}
}
public function delete($id, $relation){
if($relation === 'upload'){
$user = User::findOrFail(Auth::user()->id);
$file = $user->files()->findOrFail($id);
//remove file
\Storage::disk('user')->delete($file->dir.$file->filename);
$file->delete();
\Session()->flash('alert-success', __('msg.file_deleted'));
}
return back();
}
}