Current File : /home/tradevaly/public_html/app/Http/Controllers/Admin/BusinessController.php |
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Item;
use App\Models\Category;
use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Illuminate\Support\Facades\Storage;
use Intervention\Image\Facades\Image;
use Illuminate\Support\Str;
use DataTables;
class BusinessController extends Controller
{
public function index(Request $request){
if ($request->ajax()) {
$data = Item::where('parent_id', 0)->get();
return Datatables::of($data)
->addIndexColumn()
->addColumn('action', function($row){
$actionBtn = '<a href="'.route('admin.btype.add',$row->id).'" class="text-success" title="Add Subcategory" style="color: #fff">
<i class="fa fa-plus"></i>
</a> <a href="'.route('admin.btype.edit',$row->id).'" class="text-info" title="Edit" style="color: #fff">
<i class="fas fa-pencil-alt"></i>
</a>
<a onclick="return confirm(\'Are you sure?\')" href="'.route('admin.btype.delete',$row->id).'" class="text-danger confirmDelete"><i class="mdi mdi-delete font-size-18"></i></a>';
return $actionBtn;
})
->addColumn('statuschange', function($row){
if($row->status == 0) { return '<span class="badge bg-danger">Inactive</span>'; } else { return '<span class="badge bg-success">Active</span>'; }
})
->addColumn('parent', function($row){
if($row->parent_id != 0) { return $row->parent->name; } else { return 'Main Category'; }
})
->addColumn('subcat', function($row){
if(Item::where('parent_id', $row->id)->count() > 0){ return '<a class="badge bg-warning" href="'.route('admin.btype.subcat', $row->id).'">View Subcategories</a>'; } else { return 'No Sub Category'; }
})
->rawColumns(['action', 'subcat', 'statuschange'])
->make(true);
}
return view('backend.pages.btype.index');
}
public function subcat(Request $request, $id){
$cat = Category::find($id);
if ($request->ajax()) {
$data = Category::where('parent_id', $id)->get();
return Datatables::of($data)
->addIndexColumn()
->addColumn('action', function($row){
$actionBtn = '<a href="'.route('admin.btype.add',$row->id).'" class="text-success" title="Add Subcategory" style="color: #fff">
<i class="fa fa-plus"></i>
</a> <a href="'.route('admin.btype.edit',$row->id).'" class="text-info" title="Edit" style="color: #fff">
<i class="fas fa-pencil-alt"></i>
</a>
<a onclick="return confirm(\'Are you sure?\')" href="'.route('admin.btype.delete',$row->id).'" class="text-danger confirmDelete"><i class="mdi mdi-delete font-size-18"></i></a>';
return $actionBtn;
})
->addColumn('pic', function($row){
$actionBtn = ' <img style="height: 30px; width:30px; border-radius:10%;" src="'.asset('storage/images/admin/category/'.$row->image.'').'" alt="">';
return $actionBtn;
})
->addColumn('parent', function($row){
if($row->parent_id != 0) { return $row->parent->name; } else { return 'Main Category'; }
})
->addColumn('subcat', function($row){
if(Item::where('parent_id', $row->id)->count() > 0){ return '<a class="btn btn-info" href="'.route('admin.category.subcat', $row->id).'">View Subcategories</a>'; } else { return 'No Sub Category'; }
})
->addColumn('statuschange', function($row){
if($row->status == 0) { return '<span class="badge bg-danger">Inactive</span>'; } else { return '<span class="badge bg-success">Active</span>'; }
})
->rawColumns(['action', 'statuschange', 'pic', 'subcat'])
->make(true);
}
return view('backend.pages.btype.subcat', compact('cat'));
}
public function updateCategoryStatus(Request $request){
if($request->ajax()){
$category = Item::find($request->category_id);
if($category->status==1){
$status=0;
}else{
$status=1;
}
$category->status = $status;
$category->save();
return response()->json(['status'=>$status, 'category_id'=>$request->category_id]);
}
}
public function add(Request $request, $id=0){
if($request->isMethod("post")){
$data= new Item;
$data->name=$request->name;
$data->parent_id=$id;
$data->status=1;
$data->save();
Toastr::success('Success!','Business Category uploaded!');
return redirect()->back();
}
$categories=Item::where('parent_id', 0)->get();
return view('backend.pages.btype.add')->with(compact('categories', 'id'));
}
public function delete($id){
$work=Item::find($id);
$work->delete();
Toastr::success('Success!','Category deleted!');
return redirect()->back();
}
public function edit(Request $request, $id){
$data=Item::find($id);
if($request->isMethod("post")){
$data->name=$request->name;
$data->status=1;
$data->save();
Toastr::success('Success!','Category Updated!');
return redirect()->back();
}
$categories= Item::where('parent_id', 0)->get();
return view('backend.pages.btype.edit')->with(compact('categories','data'));
}
}