131 lines
No EOL
4.7 KiB
PHP
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();
|
|
}
|
|
|
|
} |