fix refresh working tab

This commit is contained in:
aynsix
2020-05-19 17:45:16 +03:00
parent 8e7537e0ae
commit 77311ed7f6
3 changed files with 64 additions and 25 deletions

View File

@@ -4,6 +4,7 @@ namespace Alchemy\Phrasea\WorkerManager\Controller;
use Alchemy\Phrasea\Application as PhraseaApplication; use Alchemy\Phrasea\Application as PhraseaApplication;
use Alchemy\Phrasea\Controller\Controller; use Alchemy\Phrasea\Controller\Controller;
use Alchemy\Phrasea\Model\Entities\WorkerRunningJob;
use Alchemy\Phrasea\Model\Repositories\WorkerRunningJobRepository; use Alchemy\Phrasea\Model\Repositories\WorkerRunningJobRepository;
use Alchemy\Phrasea\SearchEngine\Elastic\ElasticsearchOptions; use Alchemy\Phrasea\SearchEngine\Elastic\ElasticsearchOptions;
use Alchemy\Phrasea\WorkerManager\Event\PopulateIndexEvent; use Alchemy\Phrasea\WorkerManager\Event\PopulateIndexEvent;
@@ -25,8 +26,12 @@ class AdminConfigurationController extends Controller
/** @var AMQPConnection $serverConnection */ /** @var AMQPConnection $serverConnection */
$serverConnection = $this->app['alchemy_worker.amqp.connection']; $serverConnection = $this->app['alchemy_worker.amqp.connection'];
/** @var WorkerRunningJobRepository $repoWorker */
$repoWorker = $app['repo.worker-running-job'];
return $this->render('admin/worker-manager/index.html.twig', [ return $this->render('admin/worker-manager/index.html.twig', [
'isConnected' => ($serverConnection->getChannel() != null) ? true : false 'isConnected' => ($serverConnection->getChannel() != null) ? true : false,
'workerRunningJob' => $repoWorker->findAll(),
]); ]);
} }
@@ -69,10 +74,20 @@ class AdminConfigurationController extends Controller
/** @var WorkerRunningJobRepository $repoWorker */ /** @var WorkerRunningJobRepository $repoWorker */
$repoWorker = $app['repo.worker-running-job']; $repoWorker = $app['repo.worker-running-job'];
$workerRunningJob = [];
$reload = ($request->query->get('reload')) == 1 ? true : false ; $reload = ($request->query->get('reload')) == 1 ? true : false ;
if ($request->query->get('running') == 1 && $request->query->get('finished') == 1) {
$workerRunningJob = $repoWorker->findAll();
} elseif ($request->query->get('running') == 1) {
$workerRunningJob = $repoWorker->findBy(['status' => WorkerRunningJob::RUNNING]);
} elseif ($request->query->get('finished') == 1) {
$workerRunningJob = $repoWorker->findBy(['status' => WorkerRunningJob::FINISHED]);
}
return $this->render('admin/worker-manager/worker_info.html.twig', [ return $this->render('admin/worker-manager/worker_info.html.twig', [
'workerRunningJob' => $repoWorker->findAll(), 'workerRunningJob' => $workerRunningJob,
'reload' => $reload 'reload' => $reload
]); ]);
} }

View File

@@ -10,7 +10,7 @@
{{ "Configuration" | trans }} {{ "Configuration" | trans }}
</a> </a>
</li> </li>
<li class="worker-info" role="presentation"> <li class="worker-info active" role="presentation">
<a href="#worker-info" aria-controls="worker-info" role="tab" data-toggle="tab" data-url="/admin/worker-manager/info"> <a href="#worker-info" aria-controls="worker-info" role="tab" data-toggle="tab" data-url="/admin/worker-manager/info">
{{ "Working info" | trans }} {{ "Working info" | trans }}
</a> </a>
@@ -25,7 +25,7 @@
{{ "Pull Assets" | trans }} {{ "Pull Assets" | trans }}
</a> </a>
</li> </li>
<li class="worker-subview active" role="presentation"> <li class="worker-subview" role="presentation">
<a href="#worker-subview" aria-controls="worker-subview" role="tab" data-toggle="tab" data-url="/admin/worker-manager/subview"> <a href="#worker-subview" aria-controls="worker-subview" role="tab" data-toggle="tab" data-url="/admin/worker-manager/subview">
{{ "Subview" | trans }} {{ "Subview" | trans }}
</a> </a>
@@ -41,10 +41,12 @@
<!-- Tab panes --> <!-- Tab panes -->
<div class="tab-content"> <div class="tab-content">
<div role="tabpanel" class="tab-pane fade" id="worker-configuration"></div> <div role="tabpanel" class="tab-pane fade" id="worker-configuration"></div>
<div role="tabpanel" class="tab-pane fade" id="worker-info"></div> <div role="tabpanel" class="tab-pane fade in active" id="worker-info">
{% include "admin/worker-manager/worker_info.html.twig" %}
</div>
<div role="tabpanel" class="tab-pane fade" id="worker-searchengine"></div> <div role="tabpanel" class="tab-pane fade" id="worker-searchengine"></div>
<div role="tabpanel" class="tab-pane fade" id="worker-pull-assets"></div> <div role="tabpanel" class="tab-pane fade" id="worker-pull-assets"></div>
<div role="tabpanel" class="tab-pane fade in active" id="worker-subview"></div> <div role="tabpanel" class="tab-pane fade" id="worker-subview"></div>
<div role="tabpanel" class="tab-pane fade" id="worker-metadata"></div> <div role="tabpanel" class="tab-pane fade" id="worker-metadata"></div>
</div> </div>
</div> </div>
@@ -84,8 +86,6 @@
</script> </script>
{% else %} {% else %}
<h1 class="alert alert-danger"> <h1 class="alert alert-danger">
Error! Check rabbit config to use worker. Error! can't load rabbit config. Check rabbit config to use worker.
</h1> </h1>
{% endif %} {% endif %}

View File

@@ -5,23 +5,36 @@
<form action="{{ path("worker_admin_truncate") }}" method="POST"> <form action="{{ path("worker_admin_truncate") }}" method="POST">
<p class="alert alert-danger"> <p class="alert alert-danger">
<strong>Warning!</strong> <strong>Warning!</strong>
It's truncate all work table content ! {{ "It's delete all work information !" |trans }}
</p> </p>
<button class="btn btn-primary"> <button class="btn btn-primary">
{{ 'Truncate table' }} {{ 'Erase all information' |trans }}
</button> </button>
</form> </form>
<form action="{{ path("worker_admin_delete_finished") }}" method="POST"> <form action="{{ path("worker_admin_delete_finished") }}" method="POST">
<p class="alert alert-danger"> <p class="alert alert-danger">
<strong>Warning!</strong> <strong>Warning!</strong>
It's delete all finished works ! {{ "It's delete all finished works !"|trans }}
</p> </p>
<button class="btn btn-primary"> <button class="btn btn-primary">
{{ 'Delete finished' }} {{ 'Erase all finished' | trans }}
</button> </button>
</form> </form>
<button id="refresh-list" class="btn btn-success">
{{ 'Refresh list' |trans }}
</button>
<div class="controls">
<label class="checkbox inline">
<input class="running-work" type="checkbox" value="1" checked> {{ 'Display running work' | trans }}
</label>
<label class="checkbox inline">
<input class="finished-work" type="checkbox" value="1" checked> {{ 'Display finished work' | trans }}
</label>
</div>
<table class="admintable"> <table class="admintable">
<thead> <thead>
<tr> <tr>
@@ -53,19 +66,30 @@
{% if not reload %} {% if not reload %}
</tbody> </tbody>
</table> </table>
<script>
setInterval(function () { <script type="text/javascript">
if ($('.worker-info').hasClass('active')) { $("#refresh-list").on('click', function () {
$.ajax({ console.log("ato");
type: "GET", var running = 1;
url: "/admin/worker-manager/info?reload=1", var finished = 1;
success: function (data) { if (!$(".running-work").is(":checked"))
$(".work-list").empty().html(data); {
} running = 0;
}); }
if (!$(".finished-work").is(":checked"))
{
finished = 0;
}
$.ajax({
type: "GET",
url: "/admin/worker-manager/info?reload=1&running="+running+"&finished="+finished,
success: function (data) {
$(".work-list").empty().html(data);
} }
}, 5000 });
); });
</script> </script>
{% endif %} {% endif %}