/home/techb158/dev.balacoffee.com/app/Http/Controllers
NameSizeModeActions
Auth/-0755rm
hrm/-0755rm
AdjustmentController.php319350644editdlrm
AuthController.php17610644editdlrm
BaseController.php31830644editdlrm
BrandsController.php58040644editdlrm
CategorieController.php36250644editdlrm
CategoryExpenseController.php54490644editdlrm
ClientController.php84670644editdlrm
Controller.php3740644editdlrm
CurrencyController.php40350644editdlrm
ExpensesController.php126700644editdlrm
HomeController.php4950644editdlrm
PasswordResetController.php38950644editdlrm
PaymentPurchaseReturnsController.php146500644editdlrm
PaymentPurchasesController.php141380644editdlrm
PaymentSaleReturnsController.php143030644editdlrm
PaymentSalesController.php217990644editdlrm
PermissionsController.php65310644editdlrm
PosController.php166510644editdlrm
ProductsController.php485200644editdlrm
ProvidersController.php72790644editdlrm
PurchasesController.php472790644editdlrm
PurchasesReturnController.php483660644editdlrm
QuotationsController.php314620644editdlrm
ReportController.php1493230644editdlrm
SalesController.php644200644editdlrm
SalesReturnController.php470940644editdlrm
SettingsController.php123540644editdlrm
SetupController.php87700644editdlrm
ShipmentController.php76330644editdlrm
TestDbController.php31560644editdlrm
TransferController.php545740644editdlrm
UnitsController.php61620644editdlrm
UpdateController.php20640644editdlrm
UserController.php131670644editdlrm
WarehouseController.php64270644editdlrm
Edit: /home/techb158/dev.balacoffee.com/app/Http/Controllers/ProvidersController.php (7279B)
authorizeForUser($request->user('api'), 'view', Provider::class); // How many items do you want to display. $perPage = $request->limit; $pageStart = \Request::get('page', 1); // Start displaying items from this number; $offSet = ($pageStart * $perPage) - $perPage; $order = $request->SortField; $dir = $request->SortType; $helpers = new helpers(); // Filter fields With Params to retrieve $columns = array(0 => 'name', 1 => 'code', 2 => 'phone', 3 => 'email'); $param = array(0 => 'like', 1 => 'like', 2 => 'like', 3 => 'like'); $data = array(); $providers = Provider::where('deleted_at', '=', null); //Multiple Filter $Filtred = $helpers->filter($providers, $columns, $param, $request) // Search With Multiple Param ->where(function ($query) use ($request) { return $query->when($request->filled('search'), function ($query) use ($request) { return $query->where('name', 'LIKE', "%{$request->search}%") ->orWhere('code', 'LIKE', "%{$request->search}%") ->orWhere('phone', 'LIKE', "%{$request->search}%") ->orWhere('email', 'LIKE', "%{$request->search}%"); }); }); $totalRows = $Filtred->count(); if($perPage == "-1"){ $perPage = $totalRows; } $providers = $Filtred->offset($offSet) ->limit($perPage) ->orderBy($order, $dir) ->get(); return response()->json([ 'providers' => $providers, 'totalRows' => $totalRows, ]); } //----------- Store new Supplier -------\\ public function store(Request $request) { $this->authorizeForUser($request->user('api'), 'create', Provider::class); request()->validate([ 'name' => 'required', 'email' => 'required', ]); Provider::create([ 'name' => $request['name'], 'code' => $this->getNumberOrder(), 'adresse' => $request['adresse'], 'phone' => $request['phone'], 'email' => $request['email'], 'country' => $request['country'], 'city' => $request['city'], ]); return response()->json(['success' => true]); } //------------ function show -----------\\ public function show($id){ // } //----------- Update Supplier-------\\ public function update(Request $request, $id) { $this->authorizeForUser($request->user('api'), 'update', Provider::class); request()->validate([ 'name' => 'required', 'email' => 'required', ]); Provider::whereId($id)->update([ 'name' => $request['name'], 'adresse' => $request['adresse'], 'phone' => $request['phone'], 'email' => $request['email'], 'country' => $request['country'], 'city' => $request['city'], ]); return response()->json(['success' => true]); } //----------- Remdeleteove Provider-------\\ public function destroy(Request $request, $id) { $this->authorizeForUser($request->user('api'), 'delete', Provider::class); Provider::whereId($id)->update([ 'deleted_at' => Carbon::now(), ]); return response()->json(['success' => true]); } //-------------- Delete by selection ---------------\\ public function delete_by_selection(Request $request) { $this->authorizeForUser($request->user('api'), 'delete', Provider::class); $selectedIds = $request->selectedIds; foreach ($selectedIds as $Provider_id) { Provider::whereId($Provider_id)->update([ 'deleted_at' => Carbon::now(), ]); } return response()->json(['success' => true]); } //----------- Export Excel ALL Suppliers-------\\ public function exportExcel(Request $request) { $this->authorizeForUser($request->user('api'), 'view', Provider::class); return Excel::download(new ProvidersExport, 'Providers.xlsx'); } //----------- get Number Order Of Suppliers-------\\ public function getNumberOrder() { $last = DB::table('providers')->latest('id')->first(); if ($last) { $code = $last->code + 1; } else { $code = 1; } return $code; } // import providers public function import_providers(Request $request) { $file_upload = $request->file('providers'); $ext = pathinfo($file_upload->getClientOriginalName(), PATHINFO_EXTENSION); if ($ext != 'csv') { return response()->json([ 'msg' => 'must be in csv format', 'status' => false, ]); } else { $data = array(); $rowcount = 0; if (($handle = fopen($file_upload, "r")) !== false) { $max_line_length = defined('MAX_LINE_LENGTH') ? MAX_LINE_LENGTH : 10000; $header = fgetcsv($handle, $max_line_length); $header_colcount = count($header); while (($row = fgetcsv($handle, $max_line_length)) !== false) { $row_colcount = count($row); if ($row_colcount == $header_colcount) { $entry = array_combine($header, $row); $data[] = $entry; } else { return null; } $rowcount++; } fclose($handle); } else { return null; } //-- Create New Provider foreach ($data as $key => $value) { Provider::create([ 'name' => $value['name'] == '' ? null : $value['name'], 'code' => $this->getNumberOrder(), 'adresse' => $value['adresse'] == '' ? null : $value['adresse'], 'phone' => $value['phone'] == '' ? null : $value['phone'], 'email' => $value['email'] == '' ? null : $value['email'], 'country' => $value['country'] == '' ? null : $value['country'], 'city' => $value['city'] == '' ? null : $value['city'], ]); } return response()->json([ 'status' => true, ], 200); } } }