mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-10 19:43:16 +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());
|
||||
}
|
||||
|
||||
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->addScalarResult('info', 'info');
|
||||
@@ -421,8 +421,8 @@ class WorkerRunningJobRepository extends EntityRepository
|
||||
}
|
||||
|
||||
if ($dateTimeFilter instanceof DateTime) {
|
||||
// on published because the row is only created whe the job is started
|
||||
$sql .= " AND w.published >= :dateTimeFilter";
|
||||
// published or created column
|
||||
$sql .= " AND w." . $fieldTimeFilter . " >= :dateTimeFilter";
|
||||
$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');
|
||||
$recordId = empty($request->query->get('recordId')) ? null : $request->query->get('recordId');
|
||||
$timeFilter = empty($request->query->get('timeFilter')) ? null : $request->query->get('timeFilter');
|
||||
$fieldTimeFilter = $request->query->get('fieldTimeFilter');
|
||||
|
||||
$dateTimeFilter = null;
|
||||
if ($timeFilter != null) {
|
||||
@@ -136,7 +137,7 @@ class AdminConfigurationController extends Controller
|
||||
|
||||
$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 = number_format($workerRunningJobTotalCount, 0, '.', ' ');
|
||||
$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;">
|
||||
|
||||
<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">
|
||||
<a data-value="PT1H">{{ '1h' | trans }}</a>-
|
||||
<a data-value="PT3H">{{ '3h' | trans }}</a>-
|
||||
@@ -161,6 +164,7 @@
|
||||
var databoxId = $("#databox-filter").val();
|
||||
var recordId = $("#record-filter").val();
|
||||
var timeFilter = $(".time-filter a.active").attr("data-value");
|
||||
var fieldTimeFilter = $("#field-time-filter").val();
|
||||
|
||||
if (!$(".running-work").is(":checked"))
|
||||
{
|
||||
@@ -186,7 +190,11 @@
|
||||
jobType: jobType,
|
||||
databoxId : databoxId,
|
||||
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) {
|
||||
$(".work-list").empty().html(data.content);
|
||||
@@ -217,6 +225,10 @@
|
||||
refreshJobList();
|
||||
});
|
||||
|
||||
$("#field-time-filter").on('change', function () {
|
||||
refreshJobList();
|
||||
});
|
||||
|
||||
$(".time-filter a").on('click', function () {
|
||||
$(".time-filter a").removeClass('active');
|
||||
$(this).addClass('active');
|
||||
|
Reference in New Issue
Block a user