Viewing file: DomainController.php (3.44 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Domain;
use Illuminate\Http\Request;
class DomainController extends Controller
{
public function index(){
return view('admin.domain.index');
}
public function getAll()
{
$contacts = Domain::select(['id','domain', 'status'])->with('customer')->get();
return datatables()->of($contacts)
->addColumn('action', function ($q) {
return '<button class="btn btn-sm btn-danger" data-message="Are you sure you want to delete this domain?"
data-action=' . route('admin.domain.delete', [$q->id]) . '
data-input={"_method":"delete"}
data-toggle="modal" data-target="#modal-confirm">Delete</button>';
})
->addColumn('customer', function (Domain $q) {
$customer=$q->customer->first();
$name=isset($customer)?$customer->fullname:'';
return $name;
})
->addColumn('status', function ($q) {
$btn='';
if($q->status=='pending') {
return '<button class="mr-1 btn btn-sm btn-info" data-message="Are you sure you want to approved this request?"
data-action=' . route('admin.domain.status') . '
data-input={"id":"' . $q->id . '","status":"approved"}
data-toggle="modal" data-target="#modal-confirm" >Approve</button>' .
'<button class="btn btn-sm btn-danger" data-message="Are you sure you want to reject this request ?"
data-action=' . route('admin.domain.status') . '
data-input={"id":"' . $q->id . '","status":"rejected"}
data-toggle="modal" data-target="#modal-confirm" >Reject</button>';
}else if($q->status=='rejected'){
return '<button class="mr-1 btn btn-sm btn-info" data-message="Are you sure you want to approved this request?"
data-action=' . route('admin.domain.status') . '
data-input={"id":"' . $q->id . '","status":"approved"}
data-toggle="modal" data-target="#modal-confirm" >Approve</button>';
}else{
return '<button class="mr-1 btn btn-sm btn-success disabled" disabled >Approve</button>';
}
})
->rawColumns(['action','status', 'customer'])
->toJson();
}
public function status(Request $request)
{
$request->validate([
'status' => 'required|in:approved,rejected'
]);
$domain = Domain::where('id', $request->id)->firstOrFail();
$domain->status = $request->status;
$domain->save();
return redirect()->route('admin.domain.request')->with('success', 'Domain status successfully changed');
}
public function delete($id){
$domain=Domain::where('id', $id)->firstOrFail();
$domain->delete();
return redirect()->route('admin.domain.request')->with('success', 'Domain successfully deleted');
}
}
|