|
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/namascar_app/panel.namascar.app/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use Image;
use App\Models\User;
use App\Models\Package;
use App\Models\Currency;
use Illuminate\Http\Request;
use App\Models\DispatcherUser;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
class PackageController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index(Request $request)
{
if ($request->has('search') && $request->search != '' && $request->selected_search == 'start_location') {
$search = $request->input('search');
$packages = DB::table('packages')
->where('packages.start_location', 'LIKE', '%' . $search . '%')
->orderBy('id', 'desc')
->paginate(20);
} else if ($request->has('search') && $request->search != '' && $request->selected_search == 'end_location') {
$search = $request->input('search');
$packages = DB::table('packages')
->where('packages.end_location', 'LIKE', '%' . $search . '%')
->orderBy('id', 'desc')
->paginate(20);
} else {
$packages = Package::orderBy('sort', 'desc')->paginate(20);
}
return view("package.index")->with("packages", $packages);
}
public function createPackage()
{
return view("package.create");
}
public function storePackage(Request $request)
{
$validator = Validator::make($request->all(), $rules = [
'start_location' => 'required',
'end_location' => 'required',
'sort' => 'required|unique:packages,sort'
], $messages = [
'start_location.required' => 'Start Location is required!',
'end_location.required' => 'End Location is required!',
'sort.required' => 'Sort Order is required!'
]);
if ($validator->fails()) {
return redirect('package/create')->withErrors($validator)->with(['message' => $messages])->withInput();
}
$package = new Package;
$package->start_location = $request->input('start_location');
$package->end_location = $request->input('end_location');
$package->start_lat_long = $request->input('start_lat_long');
$package->end_lat_long = $request->input('end_lat_long');
$package->sort = $request->input('sort');
$package->status = $request->has('status') ? 'yes' : 'no';
$package->created_at = date('Y-m-d H:i:s');
$package->updated_at = date('Y-m-d H:i:s');
$package->save();
return redirect('package');
}
public function editPackage($id)
{
$package = Package::where('id', $id)->first();
return view("package.edit")->with("package", $package);
}
public function updatePackage(Request $request, $id)
{
$validator = Validator::make($request->all(), $rules = [
'start_location' => 'required',
'end_location' => 'required',
'sort' => 'required'
], $messages = [
'start_location.required' => 'Start Location is required!',
'end_location.required' => 'End Location is required!',
'sort.required' => 'Sort Order is required!'
]);
if ($validator->fails()) {
return redirect('package/edit/' . $id)->withErrors($validator)->with(['message' => $messages])->withInput();
}
$data = array();
$data['start_location'] = $request->input('start_location');
$data['end_location'] = $request->input('end_location');
$data['start_lat_long'] = $request->input('start_lat_long');
$data['end_lat_long'] = $request->input('end_lat_long');
$data['sort'] = $request->input('sort');
$data['status'] = $request->has('status') ? 'yes' : 'no';
$data['created_at'] = date('Y-m-d H:i:s');
$data['updated_at'] = date('Y-m-d H:i:s');
Package::where('id', $id)->update($data);
return redirect('package');
}
public function packageShow($id)
{
$package = Package::where('id', $id)->first();
return view("package.show")->with("package", $package);
}
public function deletePackage($id)
{
$package = Package::find($id);
$package->delete();
return redirect()->back();
}
public function toggalSwitch(Request $request)
{
$ischeck = $request->input('ischeck');
$id = $request->input('id');
$user = Package::find($id);
if ($ischeck == "true") {
$user->status = 'yes';
} else {
$user->status = 'no';
}
$user->save();
}
}