|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/erp.theinteractive.co.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Models\DucumentUpload;
use App\Models\Utility;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
class DucumentUploadController extends Controller
{
public function index()
{
if(\Auth::user()->can('manage document'))
{
if(\Auth::user()->type == 'company')
{
$documents = DucumentUpload::where('created_by', \Auth::user()->creatorId())->get();
}
else
{
$userRole = \Auth::user()->roles->first();
$documents = DucumentUpload::whereIn(
'role', [
$userRole->id,
0,
]
)->where('created_by', \Auth::user()->creatorId())->get();
}
return view('documentUpload.index', compact('documents'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function create()
{
if(\Auth::user()->can('create document'))
{
$roles = Role::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
$roles->prepend('All', '0');
return view('documentUpload.create', compact('roles'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function store(Request $request)
{
if(\Auth::user()->can('create document'))
{
$validator = \Validator::make(
$request->all(), [
'name' => 'required',
// 'document' => 'mimes:jpeg,png,jpg,svg,pdf,doc,zip|max:20480',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$document = new DucumentUpload();
$document->name = $request->name;
// $document->document = !empty($request->document) ? $fileNameToStore : '';
if(!empty($request->document))
{
$fileName = time() . "_" . $request->document->getClientOriginalName();
$document->document = $fileName;
$dir = 'uploads/documentUpload';
$path = Utility::upload_file($request,'document',$fileName,$dir,[]);
if($path['flag']==0){
return redirect()->back()->with('error', __($path['msg']));
}
// $request->document = $fileName;
// $document->save();
}
$document->role = $request->role;
$document->description = $request->description;
$document->created_by = \Auth::user()->creatorId();
$document->save();
return redirect()->route('document-upload.index')->with('success', __('Document successfully uploaded.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function show(DucumentUpload $ducumentUpload)
{
//
}
public function edit($id)
{
if(\Auth::user()->can('edit document'))
{
$roles = Role::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
$roles->prepend('All', '0');
$ducumentUpload = DucumentUpload::find($id);
return view('documentUpload.edit', compact('roles', 'ducumentUpload'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function update(Request $request, $id)
{
if(\Auth::user()->can('edit document'))
{
$validator = \Validator::make(
$request->all(), [
'name' => 'required',
// 'document' => 'mimes:jpeg,png,jpg,svg,pdf,doc,zip|max:20480',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$document = DucumentUpload::find($id);
$document->name = $request->name;
$document->role = $request->role;
$document->description = $request->description;
if(!empty($request->document))
{
$filenameWithExt = $request->file('document')->getClientOriginalName();
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
$extension = $request->file('document')->getClientOriginalExtension();
$fileNameToStore = $filename . '_' . time() . '.' . $extension;
$dir = 'uploads/documentUpload/';
$image_path = $dir . $fileNameToStore;
if (\File::exists($image_path)) {
\File::delete($image_path);
}
$url = '';
$path = \Utility::upload_file($request,'document',$fileNameToStore,$dir,[]);
if($path['flag'] == 1){
$url = $path['url'];
}else{
return redirect()->back()->with('error', __($path['msg']));
}
}
$document->save();
return redirect()->route('document-upload.index')->with('success', __('Document successfully uploaded.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function destroy($id)
{
if(\Auth::user()->can('delete document'))
{
$document = DucumentUpload::find($id);
if($document->created_by == \Auth::user()->creatorId())
{
$document->delete();
$dir = storage_path('uploads/documentUpload/');
// if(!empty($document->document))
// {
// unlink($dir . $document->document);
// }
return redirect()->route('document-upload.index')->with('success', __('Document successfully deleted.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
}