<?php
namespace App\Controller\Backend;
use App\Controller\Base\BaseController;
use App\Entity\TPublikasi;
use App\Repository\FeedbackRepository;
use App\Repository\TInfografikRepository;
use App\Repository\TLogRepository;
use App\Repository\TPermohonanRepository;
use App\Repository\TPublikasiRepository;
use Symfony\Component\Routing\Annotation\Route;
use Kematjaya\Breadcrumb\Lib\Builder as BreacrumbBuilder;
use Sonata\SeoBundle\Seo\SeoPageInterface;
class DashboardController extends BaseController{
/**
* @Route("/dashboard",name="dashboard")
*/
public function index(SeoPageInterface $seoPage, BreacrumbBuilder $builder, TPublikasiRepository $tPublikasiRepo, TInfografikRepository $tInfografikRepo, TLogRepository $tLogRepo, TPermohonanRepository $tPermohonanRepository, FeedbackRepository $feedbackRepository)
{
$seoPage->addTitlePrefix("Dashboard");
$user = $this->getUser()->getRoles();
$log = $tLogRepo->findBy([], ['reff_id' => 'desc'], 5);
$conn = $this->getDoctrine()->getConnection();
$sql = "select b.div_nama, a.reff_id from t_log a join t_div b on CAST(a.reff_name AS integer) = b.id order by a.reff_id desc limit 5";
$stmt = $conn->query($sql);
// $stmt->execute();
$log = $stmt->fetchAllAssociative();
// dump($log);exit;
// $publikasi = $tPublikasiRepo->findBy(['status' => '3'], ['view' => 'desc'], 10);
$publikasi = $this->getQueryBuilder(TPublikasi::class)
->andWhere('this.status = 3')
->andWhere('this.view IS NOT NULL')
->orderBy('this.view', 'desc')
->setMaxResults(10)
->getQuery()
->getResult();
$total_publikasi = $tPublikasiRepo->findBy(['status' => '3']);
$total_infografik = $tInfografikRepo->findAll();
$total_permohonan = $tPermohonanRepository->findAll();
$total_feedback = $feedbackRepository->findAll();
$alert_revisi = count($tPublikasiRepo->findBy(['status' => '2']));
$alert_verif = count($tPublikasiRepo->findBy(['status' => '1']));
$builder->add('Dashboard ', "dashboard", array(), " <i class='fa fa-home'></i>");
return $this->render('backend/dashboard/index.html.twig', [
'user' => $user,
'list_publikasi' => $publikasi,
'total_publikasi' => count($total_publikasi),
'total_infografik' => count($total_infografik),
'total_permohonan' => count($total_permohonan),
'total_feedback' => count($total_feedback),
'alert_revisi' => $alert_revisi,
'alert_verif' => $alert_verif,
'log' => $log,
]);
}
}