File: /var/www/html/fieldsblaze-heroku/app/Http/Controllers/ExpenseController.php
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Expense;
use App\Models\ExpenseType;
use App\Models\User;
use App\Library\UserLib;
use Illuminate\Support\Facades\Storage;
use DB;
class ExpenseController extends Controller
{
protected $userLib;
public function __construct(UserLib $userLib)
{
$this->userLib = $userLib;
}
public function allExpense()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$AllExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->orderBy('tbl_expense.id', 'desc')
->get();
$ApprovedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
$RejectedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '2')
->orderBy('tbl_expense.id', 'desc')
->get();
$TrashExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '1')
->where('tbl_expense.Status', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
return view('admin.all-expense', ['AllExpense' => $AllExpense, 'ApprovedExpense' => $ApprovedExpense, 'RejectedExpense' => $RejectedExpense, 'TrashExpense' => $TrashExpense]);
}
public function trashExpense()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$AllExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->orderBy('tbl_expense.id', 'desc')
->get();
$ApprovedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
$RejectedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '2')
->orderBy('tbl_expense.id', 'desc')
->get();
$TrashExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '1')
->where('tbl_expense.Status', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
return view('admin.trash-expense', ['AllExpense' => $AllExpense, 'ApprovedExpense' => $ApprovedExpense, 'RejectedExpense' => $RejectedExpense, 'TrashExpense' => $TrashExpense]);
}
public function approvedExpense()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$AllExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->orderBy('tbl_expense.id', 'desc')
->get();
$ApprovedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
$RejectedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '2')
->orderBy('tbl_expense.id', 'desc')
->get();
$TrashExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '1')
->where('tbl_expense.Status', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
return view('admin.approved-expense', ['AllExpense' => $AllExpense, 'ApprovedExpense' => $ApprovedExpense, 'RejectedExpense' => $RejectedExpense, 'TrashExpense' => $TrashExpense]);
}
public function rejectedExpense()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$AllExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->orderBy('tbl_expense.id', 'desc')
->get();
$ApprovedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
$RejectedExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '0')
->where('tbl_expense.ExpenseStatus', '=', '2')
->orderBy('tbl_expense.id', 'desc')
->get();
$TrashExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
->where('tbl_expense.IsDeleted', '=', '1')
->where('tbl_expense.Status', '=', '1')
->orderBy('tbl_expense.id', 'desc')
->get();
return view('admin.rejected-expense', ['AllExpense' => $AllExpense, 'ApprovedExpense' => $ApprovedExpense, 'RejectedExpense' => $RejectedExpense, 'TrashExpense' => $TrashExpense]);
}
public function viewExpense($ExpenseId)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$ViewExpense = Expense::select('tbl_expense.*', 'tbl_user.FirstName as FirstName', 'tbl_user.LastName as LastName', 'tbl_expense_type.ExpenseTypeName as ExpenseType', 'tbl_expense_type_travel.TravelName as TravelName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->where('ExpenseId', '=', $ExpenseId)
->leftJoin('tbl_user', 'tbl_expense.UserId', '=', 'tbl_user.UserId')
->leftJoin('tbl_admin', 'tbl_expense.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_expense_type', 'tbl_expense.ExpenseTypeId', '=', 'tbl_expense_type.ExpenseTypeId')
->leftJoin('tbl_expense_type_travel', 'tbl_expense.ExpenseTypeTravelId', '=', 'tbl_expense_type_travel.ExpenseTypeTravelId')
//->where('tbl_expense.IsDeleted', '=', '0')
->orderBy('tbl_expense.id', 'desc')
->get()->first();
return view('admin.view-expense', ['Expense' => $ViewExpense]);
}
### Store New Expense
public function storeExpense(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$input = $request->all();
$data = $input;
##ExpenseFile1
// $path1 = '';
// $addExpenseFile1 = $request->file('addExpenseFile1');
// $imageName1 = $this->userLib->useridGenrator();
// $path1 = '';
// if ($request->hasFile('addExpenseFile1')) {
// $file1 = $request->file('addExpenseFile1');
// $extension = $file1->getClientOriginalExtension();
// $newFileName1 = $imageName1 . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/expense',
// $file1,
// $newFileName1
// );
// $path1 = Storage::url('expense/' . $newFileName1);
// }
// $data['ExpenseFile1'] = $path1;
$imageName1 = $this->userLib->useridGenrator();
if ($request->hasFile('addExpenseFile1'))
{
$path1 = '';
$file1 = $request->file('addExpenseFile1');
$extension = $file1->getClientOriginalExtension();
$newFileName1 = $imageName1 . '-' . time() . '.' . $extension;
Storage::putFileAs(
'public/expense/',
$file1,
$newFileName1
);
$destinationPath = 'expense/';
$isUploaded = $file1->move($destinationPath,$newFileName1);
$uploadedFileURL1 = '';
if($isUploaded)
{
$path1 = 'expense/' . $newFileName1;
$ThumbnailUrl = $path1;
//File Upload Service as s3
$sourceFileURL = env('APP_URL').'/'.$path1;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
CURLOPT_HTTPHEADER => array(
'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
),
));
$response = curl_exec($curl);
curl_close($curl);
$uploadedFile = json_decode($response,true);
$uploadedFileURL1 = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
}
$data['ExpenseFile1'] = $uploadedFileURL1;
}
##ExpenseFile2
// $path2 = '';
// $addExpenseFile2 = $request->file('addExpenseFile2');
// $imageName2 = $this->userLib->useridGenrator();
// $path2 = '';
// if ($request->hasFile('addExpenseFile2')) {
// $file2 = $request->file('addExpenseFile2');
// $extension = $file2->getClientOriginalExtension();
// $newFileName2 = $imageName2 . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/expense',
// $file2,
// $newFileName2
// );
// $path2 = Storage::url('expense/' . $newFileName2);
// }
// $data['ExpenseFile2'] = $path2;
$imageName2 = $this->userLib->useridGenrator();
if ($request->hasFile('addExpenseFile2'))
{
$path2 = '';
$file2 = $request->file('addExpenseFile2');
$extension = $file2->getClientOriginalExtension();
$newFileName2 = $imageName2 . '-' . time() . '.' . $extension;
Storage::putFileAs(
'public/expense',
$file2,
$newFileName2
);
$destinationPath = 'expense';
$isUploaded = $file2->move($destinationPath,$newFileName2);
$uploadedFileURL2='';
if($isUploaded)
{
$path2 = 'expense/' . $newFileName2;
$ThumbnailUrl = $path2;
//File Upload Service
$sourceFileURL = env('APP_URL').'/'.$path2;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
CURLOPT_HTTPHEADER => array(
'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
),
));
$response = curl_exec($curl);
curl_close($curl);
$uploadedFile = json_decode($response,true);
$uploadedFileURL2 = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
}
$data['ExpenseFile2'] = $uploadedFileURL2;
}
// $ExpenseNo = '';
// $UserId = $input['UserId'];
// if ($UserId) {
// $GetUser = User::where('UserId', '=', $UserId)->get()->first();
// $UserName = $GetUser->FirstName;
// $UserCode = strtoupper($UserName);
// $ExpenseNo = 'EXP-' . $UserCode . '-' . time();
// }
$ExpenseTypeId = $input['ExpenseTypeId'];
$ExpenseName = ExpenseType::select('tbl_expense_type.*')
->where('ExpenseTypeId', '=', $ExpenseTypeId)
->get()->first();
$TypeName = $ExpenseName->ExpenseTypeName;
$data['TypeOfExpense'] = $TypeName;
$SubmittedDate = '';
if ($input['Date']) {
$SubmittedDate = str_replace('/', '-', $input['Date']);
}
$Date = date('d-m-Y', strtotime($SubmittedDate));
$g_expenseId = $this->userLib->useridGenrator();
$data['ExpenseId'] = $g_expenseId;
$ExpenseNo = "EXP-" . time() . '-' . rand();
$data['ExpenseNo'] = $ExpenseNo;
$data['IsDeleted'] = 0;
$data['Status'] = 1;
$data['Created_by'] = session('UserId');
$data['Created_at'] = date('Y-m-d H:i:s', time());
$data['Updated_by'] = session('UserId');
$data['Updated_at'] = date('Y-m-d H:i:s', time());
$data['Date'] = $Date;
unset($data['_token']);
unset($data['addExpenseFile1']);
unset($data['addExpenseFile2']);
$insert_expense = Expense::insert($data);
if($insert_expense){
$ExpenseId = $g_expenseId;
$UserId = $request->input('UserId');
$ExpenseDate = $Date;
$ExpenseType_Id = $request->input('ExpenseTypeId');
$ExpenseTypeTravelId = '';
if($ExpenseType_Id = "4t641xvsBZqkwOo4Wm3AoSnlYCycWKE3l4k83"){
$ExpenseTypeTravelId = $request->input('ExpenseTypeTravelId');
}
$AmountOption = $request->input('AmountOption');
$TravelKm = "";
$colName = "";
if($request->input('TravelKm')){
$TravelKm = $request->input('TravelKm');
if($TravelKm)
{
$colName = ",TravelKm__c";
$TravelKm = ", '".$TravelKm."'";
}
}
$ExpenseAmount = $request->input('ExpenseAmount');
$ExpenseStatus = $request->input('ExpenseStatus');
$Description = '';
if($request->input('Description')){
$Description = $request->input('Description');
}
$IsDeleted = 0;
$Status = 1;
DB::connection('pgsql')->insert("insert into salesforce.Expense__c (Expense_Id__c,UserId__c,Date__c,ExpenseNo__c,Expense_Type_Id__c,Name,Expense_Type_Travel_Id__c,Amount_Option__c,Expense_Amount__c,IsDeleted,Status__c,Description__c,Expense_Status__c $colName) values ('$ExpenseId','$UserId','$ExpenseDate','$ExpenseNo','$ExpenseType_Id','$ExpenseNo','$ExpenseTypeTravelId','$AmountOption','$ExpenseAmount','$IsDeleted','$Status','$Description','$ExpenseStatus' $TravelKm)");
}
return response()->json('status_success');
}
### Update Record
public function updateExpense(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$exp_id = $request->input('id');
$data['UserId'] = $request->input('UserName');
$data['ExpenseTypeId'] = $request->input('ExpenseType');
$data['ExpenseTypeTravelId'] = $request->input('ExpenseVehicleType');
$data['AmountOption'] = $request->input('editOption');
if ($request->input('ExpenseKilometer')) {
$data['TravelKm'] = $request->input('ExpenseKilometer');
} else {
$data['TravelKm'] = '0.00';
}
$data['ExpenseAmount'] = $request->input('ExpenseAmount');
$data['Description'] = $request->input('Description');
$ExpenseTypeId = $request->input('ExpenseType');
$ExpenseName = ExpenseType::select('tbl_expense_type.*')
->where('ExpenseTypeId', '=', $ExpenseTypeId)
->get()->first();
$TypeName = $ExpenseName->ExpenseTypeName;
$data['TypeOfExpense'] = $TypeName;
if ($request->input('ExpenseStatus')) {
$data['ExpenseStatus'] = '1';
} else {
$data['ExpenseStatus'] = '0';
}
##ExpenseUpdateFile1
// if ($request->hasFile('ExpenseFile1')) {
// $file1 = $request->file('ExpenseFile1');
// $extension = $file1->getClientOriginalExtension();
// $imageName1 = $this->userLib->useridGenrator();
// $newFileName1 = $imageName1 . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/expense',
// $file1,
// $newFileName1
// );
// $path1 = Storage::url('expense/' . $newFileName1);
// $data['ExpenseFile1'] = $path1;
// }
$imageName1 = $this->userLib->useridGenrator();
if ($request->hasFile('ExpenseFile1'))
{
$path1 = '';
$file1 = $request->file('ExpenseFile1');
$extension = $file1->getClientOriginalExtension();
$newFileName1 = $imageName1 . '-' . time() . '.' . $extension;
Storage::putFileAs(
'public/expense/',
$file1,
$newFileName1
);
$destinationPath = 'expense/';
$isUploaded = $file1->move($destinationPath,$newFileName1);
$uploadedFileURL1 = '';
if($isUploaded)
{
$path1 = 'expense/' . $newFileName1;
$ThumbnailUrl = $path1;
//File Upload Service as s3
$sourceFileURL = env('APP_URL').'/'.$path1;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
CURLOPT_HTTPHEADER => array(
'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
),
));
$response = curl_exec($curl);
curl_close($curl);
$uploadedFile = json_decode($response,true);
$uploadedFileURL1 = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
}
$data['ExpenseFile1'] = $uploadedFileURL1;
}
##ExpenseUpdateFile2
// if ($request->hasFile('ExpenseFile2')) {
// $file2 = $request->file('ExpenseFile2');
// $extension = $file2->getClientOriginalExtension();
// $imageName2 = $this->userLib->useridGenrator();
// $newFileName2 = $imageName2 . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/expense',
// $file2,
// $newFileName2
// );
// $path2 = Storage::url('expense/' . $newFileName2);
// $data['ExpenseFile2'] = $path2;
// }
$imageName2 = $this->userLib->useridGenrator();
if ($request->hasFile('ExpenseFile2'))
{
$path2 = '';
$file2 = $request->file('ExpenseFile2');
$extension = $file2->getClientOriginalExtension();
$newFileName2 = $imageName2 . '-' . time() . '.' . $extension;
Storage::putFileAs(
'public/expense',
$file2,
$newFileName2
);
$destinationPath = 'expense';
$isUploaded = $file2->move($destinationPath,$newFileName2);
$uploadedFileURL2='';
if($isUploaded)
{
$path2 = 'expense/' . $newFileName2;
$ThumbnailUrl = $path2;
//File Upload Service
$sourceFileURL = env('APP_URL').'/'.$path2;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
CURLOPT_HTTPHEADER => array(
'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
),
));
$response = curl_exec($curl);
curl_close($curl);
$uploadedFile = json_decode($response,true);
$uploadedFileURL2 = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
}
$data['ExpenseFile2'] = $uploadedFileURL2;
}
$SubmittedDate = '';
if ($request->input('ExpenseDate')) {
$SubmittedDate = str_replace('/', '-', $request->input('ExpenseDate'));
}
$Date = date('d-m-Y', strtotime($SubmittedDate));
$data['Updated_by'] = session('UserId');
$data['Updated_at'] = date('Y-m-d H:i:s', time());
$data['Date'] = $Date;
$exp_update = Expense::where('ExpenseId', $exp_id)->update($data);
$UserId = $request->input('UserName');
$ExpenseDate = $Date;
$ExpenseType_Id = $request->input('ExpenseType');
if($request->input('ExpenseVehicleType')){
$ExpenseTypeTravelId = $request->input('ExpenseVehicleType');
}
else{
$ExpenseTypeTravelId = '';
}
$AmountOption = $request->input('editOption');
if ($request->input('ExpenseKilometer')) {
$TravelKm = $request->input('ExpenseKilometer');
}
else{
$TravelKm = '0.00';
}
$ExpenseAmount = $request->input('ExpenseAmount');
if($request->input('Description')){
$Description = $request->input('Description');
}
else{
$Description ='';
}
$ExpenseName = $TypeName;
$UpdatedBy = session('UserId');
$UpdatedAt = date('Y-m-d H:i:s', time());
DB::connection('pgsql')->update("update salesforce.Expense__c set UserId__c='$UserId',Date__c='$ExpenseDate',Expense_Type_Id__c='$ExpenseType_Id',ExpenseTypeTravelName__c='$ExpenseName',Expense_Type_Travel_Id__c='$ExpenseTypeTravelId',Amount_Option__c='$AmountOption',TravelKm__c='$TravelKm',Expense_Amount__c='$ExpenseAmount',Description__c='$Description',Updated_By__c='$UpdatedBy',Updated_At__c='$UpdatedAt' where Expense_Id__c='$exp_id'");
if ($exp_update) {
echo '1';
} else {
echo '0';
}
return redirect()->back()->with('status_success');
}
#### Delete Expense
public function deleteExpense($id)
{
$CreatedDate = date('Y-m-d H:i:s', time());
$data = array();
$data['Updated_at'] = $CreatedDate;
$data['Updated_by'] = session('UserId');
$data['IsDeleted'] = '1';
$expense_delete = Expense::where('ExpenseId', $id)->update($data);
$UpdatedBy = session('UserId');
$UpdatedAt = date('Y-m-d H:i:s', time());
DB::connection('pgsql')->update("update salesforce.Expense__c set IsDeleted='1',Status__c='0',Updated_By__c='$UpdatedBy',Updated_At__c='$UpdatedAt' where Expense_Id__c = '$id'");
if ($expense_delete) {
echo '1';
} else {
echo '0';
}
}
#### Delete Permanent
public function destroyExpense($id)
{
$destroyData = Expense::where('ExpenseId', $id);
$destroyData->delete();
}
#### Restore Expense
public function restoreExpense($id)
{
$CreatedDate = date('Y-m-d H:i:s', time());
$data = array();
$data['Updated_at'] = $CreatedDate;
$data['Updated_by'] = session('UserId');
$data['IsDeleted'] = '0';
$expense_restore = Expense::where('ExpenseId', $id)->update($data);
$UpdatedBy = session('UserId');
$UpdatedAt = date('Y-m-d H:i:s', time());
DB::connection('pgsql')->update("update salesforce.Expense__c set IsDeleted='0',Status__c='1',Updated_By__c='$UpdatedBy',Updated_At__c='$UpdatedAt' where Expense_Id__c = '$id'");
if ($expense_restore) {
echo '1';
} else {
echo '0';
}
}
#### Delete Selected Record
public function deleteSelectedExpense(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$id = $request->input('SelectedExpense');
if ($id) {
foreach ($id as $ExpenseId) {
$checkData = Expense::find($ExpenseId);
if ($checkData->IsDeleted == '0') {
$CreatedDate = date(
'Y-m-d H:i:s',
time()
);
$data = array();
$data['Updated_at'] = $CreatedDate;
$data['IsDeleted'] = '1';
$selected_entry = Expense::where('id', $ExpenseId)->update($data);
if ($selected_entry) {
echo '1';
} else {
echo '0';
}
} else {
$selected_entry = Expense::find($ExpenseId);
$selected_entry->delete();
}
}
}
return redirect()->back()->with('status_success');
}
#### Approve Expense
public function approveExpense(Request $request)
{
$UpdatedDate = date('Y-m-d H:i:s', time());
//$Comment = $request->input('ApproveComment');
$id = $request->input('ExpId');
$Comment = $request->input('ApproveComment');
$data = array();
$data['Updated_at'] = $UpdatedDate;
$UserId = session('UserId');
$data['Updated_by'] = $UserId;
$data['ExpenseStatus'] = '1';
$data['ExpenseComment'] = $Comment;
//unset($data['_token']);
$expense_approve = Expense::where('ExpenseId', $id)->update($data);
if ($expense_approve) {
$UpdatedBy = session('UserId');
$UpdatedAt = date('Y-m-d H:i:s', time());
DB::connection('pgsql')->update("update salesforce.Expense__c set Approved_By__c='$UserId',Approved__c='1',Expense_Comment__c='$Comment',Updated_By__c='$UpdatedBy',Updated_At__c='$UpdatedAt' where Expense_Id__c='$id'");
return response()->json('status_success');
} else {
echo 'failed';
}
}
#### Reject Expense
public function rejectExpense(Request $request)
{
$UpdatedDate = date('Y-m-d H:i:s', time());
$id = $request->input('ExpId');
$Comment = $request->input('RejectComment');
$data = array();
$data['Updated_at'] = $UpdatedDate;
$UserId = session('UserId');
$data['Updated_by'] = $UserId;
$data['ExpenseStatus'] = '2';
$data['ExpenseComment'] = $Comment;
//unset($data['_token']);
$expense_reject = Expense::where('ExpenseId', $id)->update($data);
if ($expense_reject) {
DB::connection('pgsql')->update("update salesforce.Expense__c set Approved_By__c='$UserId',Approved__c='2',Expense_Comment__c='$Comment' where Expense_Id__c='$id'");
return response()->json('status_success');
} else {
echo 'failed';
}
}
### Edit Records
public function editExpense($id)
{
$Expense = Expense::select('tbl_expense.*')
->where('ExpenseId', '=', $id)
->get()->first();
return response()->json([
'status' => 200,
'Expense' => $Expense,
]);
}
}