mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-10 11:33:17 +00:00
PHRAS-3750 select time filter (#4160)
This commit is contained in:
@@ -379,7 +379,7 @@ class WorkerRunningJobRepository extends EntityRepository
|
|||||||
return count($qb->getQuery()->getResult());
|
return count($qb->getQuery()->getResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function findByFilter(array $status, $jobType, $databoxId, $recordId, $dateTimeFilter = null, $start = 0, $limit = WorkerRunningJob::MAX_RESULT)
|
public function findByFilter(array $status, $jobType, $databoxId, $recordId, $fieldTimeFilter, $dateTimeFilter = null, $start = 0, $limit = WorkerRunningJob::MAX_RESULT)
|
||||||
{
|
{
|
||||||
$rsm = new ResultSetMappingBuilder($this->_em);
|
$rsm = new ResultSetMappingBuilder($this->_em);
|
||||||
$rsm->addScalarResult('info', 'info');
|
$rsm->addScalarResult('info', 'info');
|
||||||
@@ -421,8 +421,8 @@ class WorkerRunningJobRepository extends EntityRepository
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($dateTimeFilter instanceof DateTime) {
|
if ($dateTimeFilter instanceof DateTime) {
|
||||||
// on published because the row is only created whe the job is started
|
// published or created column
|
||||||
$sql .= " AND w.published >= :dateTimeFilter";
|
$sql .= " AND w." . $fieldTimeFilter . " >= :dateTimeFilter";
|
||||||
$params['dateTimeFilter'] = $dateTimeFilter->format('Y-m-d H:i:s');
|
$params['dateTimeFilter'] = $dateTimeFilter->format('Y-m-d H:i:s');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -110,6 +110,7 @@ class AdminConfigurationController extends Controller
|
|||||||
$databoxId = empty($request->query->get('databoxId')) ? null : $request->query->get('databoxId');
|
$databoxId = empty($request->query->get('databoxId')) ? null : $request->query->get('databoxId');
|
||||||
$recordId = empty($request->query->get('recordId')) ? null : $request->query->get('recordId');
|
$recordId = empty($request->query->get('recordId')) ? null : $request->query->get('recordId');
|
||||||
$timeFilter = empty($request->query->get('timeFilter')) ? null : $request->query->get('timeFilter');
|
$timeFilter = empty($request->query->get('timeFilter')) ? null : $request->query->get('timeFilter');
|
||||||
|
$fieldTimeFilter = $request->query->get('fieldTimeFilter');
|
||||||
|
|
||||||
$dateTimeFilter = null;
|
$dateTimeFilter = null;
|
||||||
if ($timeFilter != null) {
|
if ($timeFilter != null) {
|
||||||
@@ -136,7 +137,7 @@ class AdminConfigurationController extends Controller
|
|||||||
|
|
||||||
$helpers = new PhraseanetExtension($this->app);
|
$helpers = new PhraseanetExtension($this->app);
|
||||||
|
|
||||||
$workerRunningJob = $repoWorker->findByFilter($filterStatus, $jobType, $databoxId, $recordId, $dateTimeFilter);
|
$workerRunningJob = $repoWorker->findByFilter($filterStatus, $jobType, $databoxId, $recordId, $fieldTimeFilter, $dateTimeFilter);
|
||||||
$workerRunningJobTotalCount = $repoWorker->getJobCount($filterStatus, $jobType, $databoxId, $recordId);
|
$workerRunningJobTotalCount = $repoWorker->getJobCount($filterStatus, $jobType, $databoxId, $recordId);
|
||||||
$workerRunningJobTotalCount = number_format($workerRunningJobTotalCount, 0, '.', ' ');
|
$workerRunningJobTotalCount = number_format($workerRunningJobTotalCount, 0, '.', ' ');
|
||||||
$totalDuration = array_sum(array_column($workerRunningJob, 'duration'));
|
$totalDuration = array_sum(array_column($workerRunningJob, 'duration'));
|
||||||
|
@@ -53,7 +53,10 @@
|
|||||||
<input type="number" id="record-filter" placeholder="recordId" style="margin-bottom: 0px;margin-left: 30px;">
|
<input type="number" id="record-filter" placeholder="recordId" style="margin-bottom: 0px;margin-left: 30px;">
|
||||||
|
|
||||||
<div class="pull-right" style="display:inline-block;">
|
<div class="pull-right" style="display:inline-block;">
|
||||||
<span>{{ 'job::tab time filter since' | trans }}</span>
|
<select id="field-time-filter" style="margin-left: 30px;max-width:150px;">
|
||||||
|
<option value="created">{{ 'started since' | trans }}</option>
|
||||||
|
<option value="published">{{ 'created since' | trans }}</option>
|
||||||
|
</select>
|
||||||
<span class="time-filter">
|
<span class="time-filter">
|
||||||
<a data-value="PT1H">{{ '1h' | trans }}</a>-
|
<a data-value="PT1H">{{ '1h' | trans }}</a>-
|
||||||
<a data-value="PT3H">{{ '3h' | trans }}</a>-
|
<a data-value="PT3H">{{ '3h' | trans }}</a>-
|
||||||
@@ -161,6 +164,7 @@
|
|||||||
var databoxId = $("#databox-filter").val();
|
var databoxId = $("#databox-filter").val();
|
||||||
var recordId = $("#record-filter").val();
|
var recordId = $("#record-filter").val();
|
||||||
var timeFilter = $(".time-filter a.active").attr("data-value");
|
var timeFilter = $(".time-filter a.active").attr("data-value");
|
||||||
|
var fieldTimeFilter = $("#field-time-filter").val();
|
||||||
|
|
||||||
if (!$(".running-work").is(":checked"))
|
if (!$(".running-work").is(":checked"))
|
||||||
{
|
{
|
||||||
@@ -186,7 +190,11 @@
|
|||||||
jobType: jobType,
|
jobType: jobType,
|
||||||
databoxId : databoxId,
|
databoxId : databoxId,
|
||||||
recordId : recordId,
|
recordId : recordId,
|
||||||
timeFilter: timeFilter
|
timeFilter: timeFilter,
|
||||||
|
fieldTimeFilter: fieldTimeFilter
|
||||||
|
},
|
||||||
|
beforeSend: function () {
|
||||||
|
$(".work-list").empty().html('<img src="/assets/common/images/icons/main-loader.gif" alt="loading"/>');
|
||||||
},
|
},
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
$(".work-list").empty().html(data.content);
|
$(".work-list").empty().html(data.content);
|
||||||
@@ -217,6 +225,10 @@
|
|||||||
refreshJobList();
|
refreshJobList();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#field-time-filter").on('change', function () {
|
||||||
|
refreshJobList();
|
||||||
|
});
|
||||||
|
|
||||||
$(".time-filter a").on('click', function () {
|
$(".time-filter a").on('click', function () {
|
||||||
$(".time-filter a").removeClass('active');
|
$(".time-filter a").removeClass('active');
|
||||||
$(this).addClass('active');
|
$(this).addClass('active');
|
||||||
|
Reference in New Issue
Block a user