mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +00:00
Use backbone to display taskmanager front end
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
{# include js templates #}
|
||||
{% include 'admin/fields/templates.html.twig' %}
|
||||
|
||||
<div id="admin-field-app" class="container-fluid">
|
||||
{# sbas_id is saved in the dom and used to fetch right models and collections #}
|
||||
<input type="hidden" name="current_sbas_id" value="{{ sbas_id }}">
|
||||
@@ -20,5 +17,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# include js templates #}
|
||||
{% include 'admin/fields/templates.html.twig' %}
|
||||
|
||||
{# bootstrap admin field backbone application #}
|
||||
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/requirejs/require.js,/scripts/apps/admin/fields/main.js' }) }}"></script>
|
||||
|
@@ -107,24 +107,27 @@
|
||||
}
|
||||
|
||||
function enableLink(link) {
|
||||
|
||||
$(link).bind('click',function(event){
|
||||
|
||||
var dest = link.attr('href');
|
||||
var method = link.attr("method");
|
||||
|
||||
if(dest && dest.indexOf('#') !== 0) {
|
||||
loadRightAjax(dest);
|
||||
loadRightAjax(dest, method || "GET");
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function loadRightAjax(url)
|
||||
function loadRightAjax(url, method)
|
||||
{
|
||||
$('#right-ajax').empty().addClass('loading').parent().show();
|
||||
$.get(url, function(data) {
|
||||
enableFormsCallback(data);
|
||||
|
||||
$.ajax({
|
||||
type: method,
|
||||
url: url,
|
||||
success: function(data) {
|
||||
enableFormsCallback(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
129
templates/web/admin/task-manager/index.html.twig
Normal file
129
templates/web/admin/task-manager/index.html.twig
Normal file
@@ -0,0 +1,129 @@
|
||||
<div class="page-header">
|
||||
<h1>{{ 'Task Scheduler' | trans }}
|
||||
<small style="font-size:16px;">
|
||||
{% set updateTime %}
|
||||
<span id="pingTime">{{ "now"|date(constant("DateTime::ISO8601")) }}</span>
|
||||
{% endset %}
|
||||
{% trans with {'%updateTime%' : updateTime} %}Last update on %updateTime%{% endtrans %}
|
||||
</small>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div id="task-manager-app">
|
||||
<table class="admintable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>ID</th>
|
||||
<th>PID</th>
|
||||
<th>!</th>
|
||||
<th>{{ "actual status" | trans | upper }}</th>
|
||||
<th>{{ "scheduled status" | trans | upper }}</th>
|
||||
<th>{{ "name" | trans | upper }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="scheduler-view">
|
||||
<tr>
|
||||
<td class="menu">
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_scheduler_start') }}">
|
||||
{{ 'Start' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_scheduler_stop') }}">
|
||||
{{ 'Stop' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('admin_tasks_scheduler_log') }}">
|
||||
{{ 'Logs' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td>{{ scheduler["process-id"] }}</td>
|
||||
<td></td>
|
||||
<td>{{ scheduler["actual"] }}</td>
|
||||
<td>{{ scheduler["configuration"] }}</td>
|
||||
<td>{{ scheduler["name"] }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody id="tasks-list-view">
|
||||
{% for task in tasks %}
|
||||
<tr>
|
||||
<td class="menu">
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a href="{{ path('admin_tasks_task_show', {"task" : task["id"] }) }}">
|
||||
{{ 'Edit' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_task_start', {"task" : task["id"] }) }}">
|
||||
{{ 'Start' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_task_stop', {"task" : task["id"] }) }}">
|
||||
{{ 'Stop' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_task_delete', {"task" : task["id"] }) }}">
|
||||
{{ 'Delete' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('admin_tasks_task_log', {"task" : task["id"] }) }}">
|
||||
{{ 'Logs' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td>{% if task["id"] != "taskmanager" %}{{ task["id"] }}{% endif %}</td>
|
||||
<td>{{ task["process-id"] }}</td>
|
||||
<td></td>
|
||||
<td>{{ task["actual"] }}</td>
|
||||
<td>{{ task["configuration"] }}</td>
|
||||
<td>{{ task["name"] }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<form id="form-create-task" method="post" name="form-create-task" action="{{ path('admin_tasks_task_create') }}">
|
||||
<select name="job-name">
|
||||
<option value="">
|
||||
{{ 'New task' | trans }}
|
||||
</option>
|
||||
{% for job in available_jobs %}
|
||||
<option value="{{ job.getJobId() }}">{{ job.getName() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("form[name='form-create-task'] select").bind("change", function() {
|
||||
$(this).closest('form').submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{# include js templates #}
|
||||
{% include 'admin/task-manager/templates.html.twig' %}
|
||||
|
||||
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/requirejs/require.js,/scripts/apps/admin/tasks-manager/main.js' }) }}"></script>
|
@@ -1,140 +0,0 @@
|
||||
<style type="text/css">
|
||||
#task-manager td,
|
||||
#task-manager th {
|
||||
text-align: center;
|
||||
}
|
||||
#task-manager td.menu {
|
||||
width:40px;
|
||||
}
|
||||
#task-manager td.id {
|
||||
width:40px;
|
||||
}
|
||||
#task-manager td.information {
|
||||
width:30px;
|
||||
}
|
||||
#task-manager td.status {
|
||||
width:80px;
|
||||
}
|
||||
#task-manager td.process-id {
|
||||
width:60px;
|
||||
}
|
||||
#task-manager td.taskname {
|
||||
text-align: left;
|
||||
width:auto;
|
||||
}
|
||||
#task-manager td.id {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="page-header">
|
||||
<h1>{{ 'admin::tasks: planificateur de taches' | trans }}
|
||||
<small style="font-size:16px;">
|
||||
{% set updateTime %}
|
||||
<span id="pingTime"></span>
|
||||
{% endset %}
|
||||
{% trans with {'%updateTime%' : updateTime} %}Last update on %updateTime%{% endtrans %}
|
||||
</small>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<table id="task-manager" class="admintable table table-striped" cellpadding="0" cellSpacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="menu"></th>
|
||||
<th class="id">ID</th>
|
||||
<th class="information">{{ 'Informations' | trans }}</th>
|
||||
<th class="status">{{ 'admin::tasks: statut de la tache' | trans }}</th>
|
||||
<th class="process-id">{{ 'admin::tasks: process_id de la tache' | trans }}</th>
|
||||
<th class="taskname">{{ 'admin::tasks: nom de la tache' | trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="task_manager_status" class="even">
|
||||
<td class="menu">
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a method="POST" href="{{ path ('admin_tasks_scheduler_start') }}">{{ 'Start' | trans }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path ('admin_tasks_scheduler_stop') }}">{{ 'Stop' | trans }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path ('admin_tasks_scheduler_log') }}">{{ 'Logs' | trans }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td class="id"></td>
|
||||
<td class="information"></td>
|
||||
<td class="status"></td>
|
||||
<td class="process-id"></td>
|
||||
<td class="taskname" style="font-weight:bold;">{{ 'admin::tasks: planificateur de taches' | trans }}</td>
|
||||
</tr>
|
||||
{% for task in tasks %}
|
||||
<tr id="task_{{ task.getId() }}" class="{% if loop.index is odd %}odd{% else %}even{% endif %}">
|
||||
<td class="menu">
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a href="{{ path('admin_tasks_task_show', { 'task' : task.getId() }) }}">
|
||||
{{ 'Edit' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_task_start', { 'task' : task.getId() }) }}">
|
||||
{{ 'Start' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_task_stop', { 'task' : task.getId() }) }}">
|
||||
{{ 'Stop' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="{{ path('admin_tasks_task_delete', { 'task' : task.getId() }) }}">
|
||||
{{ 'Delete' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('admin_tasks_task_log', { 'task' : task.getId() }) }}">
|
||||
{{ 'Logs' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td class="id">{{ task.getID() }}</td>
|
||||
<td class="information"></td>
|
||||
<td class="status">{{ task.getStatus() }}</td>
|
||||
<td class="process-id"></td>
|
||||
<td class="taskname">{{ task.getName() }} [{{ task.getName() }}]</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<form id="form-create-task" method="post" name="form-create-task" action="{{ path('admin_tasks_task_create') }}">
|
||||
<select name="job-name">
|
||||
<option value="">
|
||||
{{ 'admin::tasks: Nouvelle tache' | trans }}
|
||||
</option>
|
||||
{% for job in available_jobs %}
|
||||
<option value="{{ job.getJobId() }}">{{ job.getName() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("form[name='form-create-task'] select").bind("change", function() {
|
||||
$(this).closest('form').submit();
|
||||
});
|
||||
});
|
||||
</script>
|
75
templates/web/admin/task-manager/templates.html.twig
Normal file
75
templates/web/admin/task-manager/templates.html.twig
Normal file
@@ -0,0 +1,75 @@
|
||||
<script type="text/template" id="task_template">
|
||||
<td class="menu">
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a href="<%- task['urls']['show'] %>">
|
||||
{{ 'Edit' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="<%- task['urls']['start'] %>">
|
||||
{{ 'Start' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="<%- task['urls']['stop'] %>">
|
||||
{{ 'Stop' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="<%- task['urls']['delete'] %>">
|
||||
{{ 'Delete' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<%- task['urls']['log'] %>">
|
||||
{{ 'Logs' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td class="idTask"><%- task.id %></td>
|
||||
<td class="pidTask"><%- task['process-id'] %></td>
|
||||
<td></td>
|
||||
<td class="actualTask"><%- task.actual %></td>
|
||||
<td class="confTask"><%- task.configuration %></td>
|
||||
<td class="nameTask"><%- task.name %></td>
|
||||
</script>
|
||||
|
||||
<script type="text/template" id="scheduler_template">
|
||||
<td class="menu">
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a method="POST" href="<%- scheduler['urls']['start'] %>">
|
||||
{{ 'Start' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a method="POST" href="<%- scheduler['urls']['stop'] %>">
|
||||
{{ 'Stop' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<%- scheduler['urls']['log'] %>">
|
||||
{{ 'Logs' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td class="pidScheduler"><%- scheduler['process-id'] %></td>
|
||||
<td></td>
|
||||
<td class="actualScheduler"><%- scheduler.actual %></td>
|
||||
<td class="confScheduler"><%- scheduler.configuration %></td>
|
||||
<td class="nameScheduler"><%- scheduler.name %></td>
|
||||
</script>
|
Reference in New Issue
Block a user