Load logs
[MAILPOET-3135]
This commit is contained in:
@@ -3,17 +3,29 @@
|
|||||||
namespace MailPoet\AdminPages\Pages;
|
namespace MailPoet\AdminPages\Pages;
|
||||||
|
|
||||||
use MailPoet\AdminPages\PageRenderer;
|
use MailPoet\AdminPages\PageRenderer;
|
||||||
|
use MailPoet\Logging\LogRepository;
|
||||||
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
|
|
||||||
class Logs {
|
class Logs {
|
||||||
/** @var PageRenderer */
|
/** @var PageRenderer */
|
||||||
private $pageRenderer;
|
private $pageRenderer;
|
||||||
|
|
||||||
public function __construct(PageRenderer $pageRenderer) {
|
/** @var LogRepository */
|
||||||
|
private $logRepository;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
LogRepository $logRepository,
|
||||||
|
PageRenderer $pageRenderer
|
||||||
|
) {
|
||||||
$this->pageRenderer = $pageRenderer;
|
$this->pageRenderer = $pageRenderer;
|
||||||
|
$this->logRepository = $logRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function render() {
|
public function render() {
|
||||||
|
$dateFrom = (new Carbon())->subDays(7);
|
||||||
|
$dateTo = new Carbon();
|
||||||
|
$logs = $this->logRepository->getLogs($dateFrom, $dateTo);
|
||||||
|
|
||||||
$this->pageRenderer->displayPage('logs.html', []);
|
$this->pageRenderer->displayPage('logs.html', []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -213,6 +213,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
|||||||
$container->autowire(\MailPoet\Listing\PageLimit::class)->setPublic(true);
|
$container->autowire(\MailPoet\Listing\PageLimit::class)->setPublic(true);
|
||||||
// Logging
|
// Logging
|
||||||
$container->autowire(\MailPoet\Logging\LoggerFactory::class);
|
$container->autowire(\MailPoet\Logging\LoggerFactory::class);
|
||||||
|
$container->autowire(\MailPoet\Logging\LogRepository::class);
|
||||||
// Notices
|
// Notices
|
||||||
$container->autowire(\MailPoet\Util\Notices\PermanentNotices::class);
|
$container->autowire(\MailPoet\Util\Notices\PermanentNotices::class);
|
||||||
//Referrals
|
//Referrals
|
||||||
|
@@ -8,7 +8,7 @@ use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity()
|
* @ORM\Entity()
|
||||||
* @ORM\Table(name="logs")
|
* @ORM\Table(name="log")
|
||||||
*/
|
*/
|
||||||
class LogEntity {
|
class LogEntity {
|
||||||
use AutoincrementedIdTrait;
|
use AutoincrementedIdTrait;
|
||||||
@@ -21,7 +21,7 @@ class LogEntity {
|
|||||||
private $name;
|
private $name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="int", nullable=true)
|
* @ORM\Column(type="integer", nullable=true)
|
||||||
* @var int|null
|
* @var int|null
|
||||||
*/
|
*/
|
||||||
private $level;
|
private $level;
|
||||||
|
@@ -12,4 +12,27 @@ class LogRepository extends Repository {
|
|||||||
protected function getEntityClassName() {
|
protected function getEntityClassName() {
|
||||||
return LogEntity::class;
|
return LogEntity::class;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param \DateTimeInterface|null $dateFrom
|
||||||
|
* @param \DateTimeInterface|null $dateTo
|
||||||
|
* @return LogEntity[]
|
||||||
|
*/
|
||||||
|
public function getLogs(\DateTimeInterface $dateFrom = null, \DateTimeInterface $dateTo = null): array {
|
||||||
|
$query = $this->doctrineRepository->createQueryBuilder('l')
|
||||||
|
->select('l');
|
||||||
|
|
||||||
|
if ($dateFrom instanceof \DateTimeInterface) {
|
||||||
|
$query
|
||||||
|
->where('l.createdAt > :dateFrom')
|
||||||
|
->setParameter('dateFrom', $dateFrom->format('Y-m-d H:i:s'));
|
||||||
|
}
|
||||||
|
if ($dateTo instanceof \DateTimeInterface) {
|
||||||
|
$query
|
||||||
|
->andWhere('l.createdAt < :dateTo')
|
||||||
|
->setParameter('dateTo', $dateTo->format('Y-m-d H:i:s'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $query->getQuery()->getResult();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user