staff members,senderid, documents,bug fixes, etc
This commit is contained in:
199
app/Http/Controllers/GeneralDocumentsController.php
Normal file
199
app/Http/Controllers/GeneralDocumentsController.php
Normal file
@@ -0,0 +1,199 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models;
|
||||
use Session;
|
||||
use App\Http\Requests;
|
||||
|
||||
class GeneralDocumentsController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
//$document_arr = new Models\GeneralDocument;
|
||||
$data = [
|
||||
'page_title' => 'General Documents',
|
||||
'current_user' => session('current_user')
|
||||
];
|
||||
return view('generaldocuments.index', $data);
|
||||
}
|
||||
public function listcategory($category){
|
||||
//$document_arr = new Models\GeneralDocument;
|
||||
//dd($category);
|
||||
$data = [
|
||||
'page_title' => ucfirst($category) . ' Documents',
|
||||
'current_user' => session('current_user'),
|
||||
'category' => $category
|
||||
];
|
||||
return view('generaldocuments.list-index', $data);
|
||||
}
|
||||
|
||||
public function getDocumentsJson(Request $request)
|
||||
{
|
||||
#$this->log_query();
|
||||
$document_arr = \DB::table('general_documents')
|
||||
->join('auth_users', 'auth_users.id', '=', 'general_documents.uploaded_by')
|
||||
->select('general_documents.id', 'general_documents.name', 'general_documents.filename', 'auth_users.name AS UploadedBy', 'general_documents.created_at')
|
||||
->orderBy('general_documents.name', 'ASC')
|
||||
->paginate(15);
|
||||
|
||||
if($request->has('keyword')){
|
||||
$keyword = $request->keyword;
|
||||
$document_arr = \DB::table('general_documents')
|
||||
->join('auth_users', 'auth_users.id', '=', 'general_documents.uploaded_by')
|
||||
->select('general_documents.id', 'general_documents.name', 'general_documents.filename', 'auth_users.name AS UploadedBy', 'general_documents.created_at')
|
||||
->orderBy('general_documents.name', 'ASC')
|
||||
->whereRaw("general_documents.name LIKE '%$keyword%' OR general_documents.description LIKE '%$keyword%' OR general_documents.filename LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%'")
|
||||
->paginate(15);
|
||||
}
|
||||
return response()->json($document_arr);
|
||||
}
|
||||
public function getDocumentsCategoryJson(Request $request)
|
||||
{
|
||||
$this->log_query();
|
||||
$category = $request->category;
|
||||
$document_arr = \DB::table('general_documents')
|
||||
->join('auth_users', 'auth_users.id', '=', 'general_documents.uploaded_by')
|
||||
->select('general_documents.id', 'general_documents.name', 'general_documents.filename', 'auth_users.name AS UploadedBy', 'general_documents.created_at')
|
||||
->where('general_documents.category', $category)
|
||||
->orderBy('general_documents.name', 'ASC')
|
||||
->paginate(15);
|
||||
|
||||
if($request->has('keyword')){
|
||||
$keyword = $request->keyword;
|
||||
$document_arr = \DB::table('general_documents')
|
||||
->join('auth_users', 'auth_users.id', '=', 'general_documents.uploaded_by')
|
||||
->select('general_documents.id', 'general_documents.name', 'general_documents.filename', 'auth_users.name AS UploadedBy', 'general_documents.created_at')
|
||||
->orderBy('general_documents.name', 'ASC')
|
||||
->where('general_documents.category', $category)
|
||||
->whereRaw("general_documents.name LIKE '%$keyword%' OR general_documents.description LIKE '%$keyword%' OR general_documents.filename LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%'")
|
||||
->paginate(15);
|
||||
}
|
||||
return response()->json($document_arr);
|
||||
}
|
||||
public function create()
|
||||
{
|
||||
//$auth_users = Models\SystemUser::pluck('name', 'id');
|
||||
$data = [
|
||||
'page_title' => 'Upload Document',
|
||||
//'auth_users' => $auth_users
|
||||
];
|
||||
return view('generaldocuments.create', $data);
|
||||
}
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Requests\GeneralDocumentsRequest $request)
|
||||
{
|
||||
|
||||
if ($request->has('document_one') && $request->has('document_one_name')) {
|
||||
if ($request->file('document_one')->isValid()) {
|
||||
$filename = "erp_" . time() . str_random(6) . "." . $request->document_one->extension();
|
||||
$request->document_one->storeAs('general_files', $filename, 'public');
|
||||
$document_arr['filename'] = $filename;
|
||||
|
||||
$document_arr['file_extension'] = $request->document_one->extension();
|
||||
$document_arr['file_reff'] = time() . uniqid();
|
||||
$document_arr['name'] = $request->document_one_name;
|
||||
$document_arr['uploaded_by'] = session('current_user.id');
|
||||
$result = Models\GeneralDocument::create($document_arr);
|
||||
}
|
||||
}
|
||||
if ($request->has('document_two') && $request->has('document_two_name')) {
|
||||
if ($request->file('document_two')->isValid()) {
|
||||
$filename = "erp_" . time() . str_random(6) . "." . $request->document_two->extension();
|
||||
$request->document_two->storeAs('general_files', $filename, 'public');
|
||||
$document_arr['filename'] = $filename;
|
||||
|
||||
$document_arr['file_extension'] = $request->document_two->extension();
|
||||
$document_arr['file_reff'] = time() . uniqid();
|
||||
$document_arr['name'] = $request->document_two_name;
|
||||
$document_arr['uploaded_by'] = session('current_user.id');
|
||||
$result = Models\GeneralDocument::create($document_arr);
|
||||
}
|
||||
}
|
||||
if ($request->has('document_three') && $request->has('document_three_name')) {
|
||||
if ($request->file('document_three')->isValid()) {
|
||||
$filename = "erp_" . time() . str_random(6) . "." . $request->document_three->extension();
|
||||
$request->document_three->storeAs('general_files', $filename, 'public');
|
||||
$document_arr['filename'] = $filename;
|
||||
|
||||
$document_arr['file_extension'] = $request->document_three->extension();
|
||||
$document_arr['file_reff'] = time() . uniqid();
|
||||
$document_arr['name'] = $request->document_three_name;
|
||||
$document_arr['uploaded_by'] = session('current_user.id');
|
||||
$result = Models\GeneralDocument::create($document_arr);
|
||||
}
|
||||
}
|
||||
Session::flash('success_message', 'Document(s) successfully uploaded');
|
||||
return redirect(url('generaldocuments'));
|
||||
}
|
||||
public function storeBak(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'file' => 'required|mimes:csv,txt,xlx,xls,pdf|max:2048'
|
||||
]);
|
||||
|
||||
$fileName = time().'.'.$request->file->extension();
|
||||
|
||||
$request->file->move(public_path('uploads'), $fileName);
|
||||
|
||||
return back()
|
||||
->with('success','You have successfully uploaded the file.');
|
||||
}
|
||||
public function edit($id){
|
||||
$document = Models\GeneralDocument::findOrFail($id);
|
||||
$data = [
|
||||
'page_title' => 'Update Document',
|
||||
'document' => $document
|
||||
];
|
||||
return view('generaldocuments.edit', $data);
|
||||
}
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$document = Models\GeneralDocument::findOrFail($id);
|
||||
if ($request->has('document_one')) {
|
||||
if ($request->file('document_one')->isValid()) {
|
||||
$filename = "erp_" . time() . str_random(6) . "." . $request->document_one->extension();
|
||||
$request->document_one->storeAs('general_files', $filename, 'public');
|
||||
$document->filename = $filename;
|
||||
$document->file_extension = $request->document_one->extension();
|
||||
$document->file_reff = time() . uniqid();
|
||||
}
|
||||
}
|
||||
$document->uploaded_by = session('current_user.id');
|
||||
$document->name = $request->name;
|
||||
$document->save();
|
||||
Session::flash('success_message', 'Document successfully Updated');
|
||||
return redirect(url('generaldocuments'));
|
||||
}
|
||||
public function getDocument($id)
|
||||
{
|
||||
$general_file = Models\GeneralDocument::find($id);
|
||||
if (!$general_file) {
|
||||
return redirect(url('generaldocuments'));
|
||||
}
|
||||
//PDF file is stored under project/public/download/info.pdf
|
||||
$file = public_path('documents/general_files/') . $general_file->filename;
|
||||
|
||||
$headers = []; //['Content-Type: application/pdf'];
|
||||
$filename = $general_file->name; // . "_" . $general_file->file_reff;
|
||||
$filename = $this->cleanStr($filename);
|
||||
$filename = $filename . "_Click_ERP_FILE" . "." . $general_file->file_extension;
|
||||
return \Response::download($file, $filename, $headers);
|
||||
}
|
||||
public function cleanStr($string){
|
||||
// Replaces all spaces with hyphens.
|
||||
$string = str_replace(' ', '-', $string);
|
||||
|
||||
// Removes special chars.
|
||||
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);
|
||||
// Replaces multiple hyphens with single one.
|
||||
$string = preg_replace('/-+/', '_', $string);
|
||||
|
||||
return $string;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user