admin log
This commit is contained in:
@@ -830,6 +830,10 @@
|
||||
<default key="_controller">Thelia\Controller\Admin\AdminLogsController::defaultAction</default>
|
||||
</route>
|
||||
|
||||
<route id="admin.configuration.admin-logs.logger" path="/admin/configuration/adminLogs/logger">
|
||||
<default key="_controller">Thelia\Controller\Admin\AdminLogsController::loadLoggerAjaxAction</default>
|
||||
</route>
|
||||
|
||||
<!-- end admin logs display -->
|
||||
|
||||
<!-- feature and features value management -->
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
namespace Thelia\Controller\Admin;
|
||||
|
||||
use Thelia\Core\Security\AccessManager;
|
||||
use Thelia\Model\AdminLogQuery;
|
||||
|
||||
class AdminLogsController extends BaseAdminController
|
||||
{
|
||||
@@ -36,4 +37,34 @@ class AdminLogsController extends BaseAdminController
|
||||
// Render the edition template.
|
||||
return $this->render('admin-logs');
|
||||
}
|
||||
|
||||
public function loadLoggerAjaxAction()
|
||||
{
|
||||
$entries = array();
|
||||
foreach( AdminLogQuery::getEntries(
|
||||
$this->getRequest()->request->get('admins', array()),
|
||||
null,
|
||||
null,
|
||||
array_merge($this->getRequest()->request->get('resources', array()), $this->getRequest()->request->get('modules', array()))
|
||||
) as $entry) {
|
||||
|
||||
$entries[] = array(
|
||||
"head" => sprintf(
|
||||
"[%s][%s][%s:%s]",
|
||||
date('Y-m-d H:i:s', $entry->getCreatedAt()->getTimestamp()),
|
||||
$entry->getAdminLogin(),
|
||||
$entry->getResource(),
|
||||
$entry->getAction()
|
||||
),
|
||||
"data" => $entry->getMessage(),
|
||||
);
|
||||
}
|
||||
|
||||
return $this->render(
|
||||
'ajax/logger',
|
||||
array(
|
||||
'entries' => $entries,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Thelia\Model;
|
||||
|
||||
use Propel\Runtime\ActiveQuery\Criteria;
|
||||
use Thelia\Model\Base\AdminLogQuery as BaseAdminLogQuery;
|
||||
|
||||
|
||||
@@ -15,6 +16,41 @@ use Thelia\Model\Base\AdminLogQuery as BaseAdminLogQuery;
|
||||
* long as it does not already exist in the output directory.
|
||||
*
|
||||
*/
|
||||
class AdminLogQuery extends BaseAdminLogQuery {
|
||||
class AdminLogQuery extends BaseAdminLogQuery
|
||||
{
|
||||
/**
|
||||
* @param null $login
|
||||
* @param \DateTime $maxDateTime
|
||||
* @param \DateTime $minDateTime
|
||||
* @param null $resources
|
||||
* @param null $actions
|
||||
*
|
||||
* @return array|mixed|\Propel\Runtime\Collection\ObjectCollection
|
||||
*/
|
||||
public static function getEntries($login = null, \DateTime $maxDateTime = null, \DateTime $minDateTime = null, $resources = null, $actions = null)
|
||||
{
|
||||
$search = self::create();
|
||||
|
||||
if(null !== $minDateTime) {
|
||||
$search->filterByCreatedAt($minDateTime->getTimestamp(), Criteria::GREATER_EQUAL);
|
||||
}
|
||||
|
||||
if(null !== $maxDateTime) {
|
||||
$search->filterByCreatedAt($maxDateTime->getTimestamp(), Criteria::LESS_EQUAL);
|
||||
}
|
||||
|
||||
if(null !== $resources) {
|
||||
$search->filterByResource($resources);
|
||||
}
|
||||
|
||||
if(null !== $actions) {
|
||||
$search->filterByAction($actions);
|
||||
}
|
||||
|
||||
if(null !== $login) {
|
||||
$search->filterByAdminLogin($login);
|
||||
}
|
||||
|
||||
return $search->find();
|
||||
}
|
||||
} // AdminLogQuery
|
||||
|
||||
Reference in New Issue
Block a user