64 lines
1.9 KiB
PHP
64 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\Session;
|
|
use Modules\CCMS\Models\Blog;
|
|
use Modules\CCMS\Models\Enquiry;
|
|
use Modules\CCMS\Models\Partner;
|
|
use Modules\CCMS\Models\Service;
|
|
use Modules\CCMS\Models\Team;
|
|
use Yajra\DataTables\Facades\DataTables;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
public function dashboard()
|
|
{
|
|
return view('dashboard', [
|
|
'usersCount' => User::count(),
|
|
'blogsCount' => Blog::where('status', 1)->count(),
|
|
'teamsCount' => Team::where('status', 1)->count(),
|
|
'servicesCount' => Service::where('status', 1)->count(),
|
|
'partnersCount' => Partner::where('status', 1)->count(),
|
|
]);
|
|
}
|
|
|
|
public function getEnquiries()
|
|
{
|
|
if (request()->ajax()) {
|
|
$model = Enquiry::query()->where('is_read', 0)->latest();
|
|
return DataTables::eloquent($model)
|
|
->addIndexColumn()
|
|
->editColumn('class', function (Enquiry $enquiry) {
|
|
return $enquiry->class ?? '-';
|
|
})
|
|
->editColumn('subject', function (Enquiry $enquiry) {
|
|
return $enquiry->subject ?? '-';
|
|
})
|
|
->editColumn('message', function (Enquiry $enquiry) {
|
|
return $enquiry->message ?? '-';
|
|
})
|
|
->addColumn('action', 'ccms::enquiry.datatable.action')
|
|
->rawColumns(['action'])
|
|
->toJson();
|
|
}
|
|
}
|
|
|
|
public function toggleDashboard()
|
|
{
|
|
$validated = request()->validate([
|
|
'sidebar' => 'required|in:sidebar,cpm-sidebar',
|
|
])['sidebar'];
|
|
|
|
auth()->user()->update(['active_sidebar' => $validated]);
|
|
|
|
flash()->success("Dashboard has been toggled!");
|
|
|
|
return response()->json([
|
|
'status' => true,
|
|
'message' => 'Dashboard has been toggled!',
|
|
], 200);
|
|
}
|
|
}
|