mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 15:03:25 +00:00
PHRAS-978 - fix task management form
This commit is contained in:
@@ -264,7 +264,6 @@ class TaskManagerController extends Controller
|
||||
|
||||
return $this->app->json(['success' => true]);
|
||||
}
|
||||
|
||||
return $this->app->json([
|
||||
'success' => false,
|
||||
'message' => implode("\n", iterator_to_array($form->getErrors())),
|
||||
|
@@ -68,7 +68,7 @@
|
||||
<tr>
|
||||
<td class="menu">
|
||||
<div class="btn-group dropdown">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<a class="btn btn-mini dropdown-toggle disabled" data-toggle="dropdown" href="#">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
|
@@ -1,96 +1,121 @@
|
||||
<div id="taskBody">
|
||||
{% block css %}{% endblock %}
|
||||
<div>
|
||||
<form
|
||||
name="task-edit"
|
||||
method="POST"
|
||||
action="{{ path('admin_tasks_task_save', {'task' : task.getId()}) }}"
|
||||
class="form-horizontal no-ajax">
|
||||
{% if form.vars.errors|length > 0 %}
|
||||
{{ form_errors(form) }}
|
||||
{% endif %}
|
||||
<fieldset>
|
||||
<legend>{{ 'Task Edition' | trans }}</legend>
|
||||
<div class="control-group">
|
||||
|
||||
<label class="control-label">{{ form_label(form.name) }} {{ form_errors(form.name) }}</label>
|
||||
<div class="controls">
|
||||
{{ form_widget(form.name) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
|
||||
<div>
|
||||
{{ 'admin::tasks: Nombre de crashes :' | trans }} <span id="crash-counter">{{ task.getCrashed() }}</span>
|
||||
<button class="btn btn-success" id="taskResetCrashCounterButton">
|
||||
{{ 'admin::tasks: reinitialiser el compteur de crashes' | trans }}
|
||||
</button>
|
||||
<label class="control-label">{{ form_label(form.period) }} {{ form_errors(form.period) }}</label>
|
||||
<div class="controls">
|
||||
{{ form_widget(form.period) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
|
||||
<label class="control-label">{{ form_label(form.status) }} {{ form_errors(form.status) }}</label>
|
||||
<div class="controls">
|
||||
{{ form_widget(form.status) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ form_rest(form) }}
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<label class="control-label">{{ 'admin::tasks: Nombre de crashes :' | trans }}</label>
|
||||
<div class="controls">
|
||||
<input class="formElem input-mini" type="text" name="crash-counter" value="{{ task.getCrashed() }}" readonly>
|
||||
<button class="btn btn-success btn-mini" id="taskResetCrashCounterButton">
|
||||
{{ 'admin::tasks: reinitialiser el compteur de crashes' | trans }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="taskTabs">
|
||||
<ul>
|
||||
<li><a href="#taskXmlTab">{{ 'boutton::vue xml' | trans }}</a></li>
|
||||
<li><a href="#taskGuiTab">{{ 'boutton::vue graphique' | trans }}</a></li>
|
||||
</ul>
|
||||
|
||||
<div id="taskGuiTab" >
|
||||
<div id="taskGuiTab">
|
||||
<form id="graphicForm" name="graphicForm" class="form-horizontal" onsubmit="return(false);" method="post">
|
||||
{% block form %}{% endblock %}
|
||||
{% block form %}{% endblock %}
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="taskXmlTab">
|
||||
{% block xml_settings %}
|
||||
<form onsubmit="return(false);" name="fxml" method="post">
|
||||
<textarea nowrap id="txtareaxml" style="white-space:pre; width:100%; height:250px" name="txtareaxml" >{{task.getSettings()}}</textarea>
|
||||
<textarea nowrap id="txtareaxml" style="white-space:pre; width:100%; height:250px" name="txtareaxml">{{ task.getSettings() }}</textarea>
|
||||
</form>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<form
|
||||
name="task-edit"
|
||||
method="POST"
|
||||
action="{{ path('admin_tasks_task_save', {'task' : task.getId()}) }}"
|
||||
class="form-inline no-ajax"
|
||||
>
|
||||
{% if form.vars.errors|length > 0 %}
|
||||
{{ form_errors(form) }}
|
||||
{% endif %}
|
||||
|
||||
{{ form_rest(form) }}
|
||||
|
||||
<div class="form-actions">
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-trigger " id="taskSaveButton">
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary btn-trigger " id="taskSaveButton" form="task-edit">
|
||||
{{ "Save" | trans }}
|
||||
</button>
|
||||
<a href="{{ path('admin_tasks_list') }}">{{ 'Cancel' | trans }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% block javascript %}
|
||||
<script type="text/javascript">
|
||||
function taskFillGraphic(xml) { };
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
function taskFillGraphic(xml) {};
|
||||
</script>
|
||||
{% endblock %}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function () {
|
||||
$("#taskTabs").tabs({
|
||||
create: function(event, ui) {
|
||||
$("#taskTabs").tabs({ active: 1 });
|
||||
create: function (event, ui) {
|
||||
$("#taskTabs").tabs({active: 1});
|
||||
}
|
||||
,
|
||||
beforeActivate: function(event, ui) {
|
||||
switch($(ui.newPanel).attr("id"))
|
||||
{
|
||||
beforeActivate: function (event, ui) {
|
||||
switch ($(ui.newPanel).attr("id")) {
|
||||
case "taskGuiTab":
|
||||
|
||||
var validated = false;
|
||||
// click on gui tab : fill the gui from xml, then switch to the gui view
|
||||
$.ajax({
|
||||
"url" : "{{ path('admin_tasks_validate_xml') }}",
|
||||
"data" : $("#txtareaxml").val(),
|
||||
"processData" : false,
|
||||
"dataType" : "text",
|
||||
"type" : "POST",
|
||||
"async" : false,
|
||||
success : function(data) {
|
||||
"url": "{{ path('admin_tasks_validate_xml') }}",
|
||||
"data": $("#txtareaxml").val(),
|
||||
"processData": false,
|
||||
"dataType": "text",
|
||||
"type": "POST",
|
||||
"async": false,
|
||||
success: function (data) {
|
||||
var x = $("#txtareaxml").val();
|
||||
try {
|
||||
taskFillGraphic(x);
|
||||
validated = true;
|
||||
} catch(e) {
|
||||
} catch (e) {
|
||||
// todo add notification
|
||||
console.log(e);
|
||||
}
|
||||
},
|
||||
error:function(jqXHR, textStatus, errorThrown) {
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
// todo add notification
|
||||
}
|
||||
});
|
||||
@@ -104,17 +129,16 @@
|
||||
}
|
||||
});
|
||||
|
||||
$("#taskResetCrashCounterButton").click(function()
|
||||
{
|
||||
$("#taskResetCrashCounterButton").click(function () {
|
||||
$.ajax({
|
||||
"url" : "{{ path('admin_tasks_task_reset', {'task' : task.getId()}) }}",
|
||||
"dataType" : "json",
|
||||
"type" : "POST",
|
||||
success:function(data) {
|
||||
if(!data.success) {
|
||||
"url": "{{ path('admin_tasks_task_reset', {'task' : task.getId()}) }}",
|
||||
"dataType": "json",
|
||||
"type": "POST",
|
||||
success: function (data) {
|
||||
if (!data.success) {
|
||||
//todo add notification and loader
|
||||
} else {
|
||||
$("#crash-counter").html("0");
|
||||
$("input[name='crash-counter']").val("0");
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -122,53 +146,47 @@
|
||||
|
||||
function xmlFromForm(callback) {
|
||||
var formData = $("#graphicForm").serializeArray();
|
||||
formData.push({"name":"xml", "value":$("#txtareaxml").val()});
|
||||
$.ajax({ url: "{{ path('admin_tasks_xml_from_form', {'task' : task.getId()}) }}"
|
||||
formData.push({"name": "xml", "value": $("#txtareaxml").val()});
|
||||
$.ajax({
|
||||
url: "{{ path('admin_tasks_xml_from_form', {'task' : task.getId()}) }}"
|
||||
, data: formData
|
||||
, dataType:'text'
|
||||
, type:"POST"
|
||||
, success:function(data) {
|
||||
, dataType: 'text'
|
||||
, type: "POST"
|
||||
, success: function (data) {
|
||||
$("#txtareaxml").val(data);
|
||||
if (typeof callback === 'function') {
|
||||
callback(data);
|
||||
}
|
||||
}
|
||||
, error:function(jqXHR, textStatus, errorThrown) {
|
||||
, error: function (jqXHR, textStatus, errorThrown) {
|
||||
console.log(jqXHR.responseText);
|
||||
// todo add a notification message
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("form[name='task-edit']").on('submit', function()
|
||||
{
|
||||
$('#taskSaveButton').on('click', function () {
|
||||
$("form[name='task-edit']").submit();
|
||||
});
|
||||
|
||||
$("form[name='task-edit']").on('submit', function () {
|
||||
xmlFromForm(function (data) {
|
||||
$("form[name='task-edit'] input[name='settings']").val(data);
|
||||
formData = $("form[name='task-edit']").serializeArray();
|
||||
$.ajax({
|
||||
url: "{{ path('admin_tasks_task_save', { 'task' : task.getID() }) }}"
|
||||
, data: formData
|
||||
, dataType:'json'
|
||||
, type:"POST"
|
||||
, async:false
|
||||
, success:function(data) {
|
||||
, dataType: 'json'
|
||||
, type: "POST"
|
||||
, async: false
|
||||
, success: function (data) {
|
||||
if (data.success) {
|
||||
console.log('should go back to list');
|
||||
//loadRightAjax("{{ path('admin_tasks_list') }}");
|
||||
|
||||
|
||||
|
||||
/* var $this = $(this);
|
||||
$('#right-ajax').empty().addClass('loading').parent().show();
|
||||
$('#right').hide();
|
||||
$.get($this.attr('href'), function (data) {
|
||||
$.get("{{ path('admin_tasks_list') }}", function (data) {
|
||||
$('#right-ajax').removeClass('loading').html(data);
|
||||
});
|
||||
|
||||
return false;
|
||||
*/
|
||||
|
||||
|
||||
} else {
|
||||
if (window.console) {
|
||||
console.log(data.message);
|
||||
@@ -176,7 +194,7 @@
|
||||
alert("{{ 'An error occured' | trans | e('js') }}" + data.message);
|
||||
}
|
||||
}
|
||||
, error:function(jqXHR, textStatus, errorThrown) {
|
||||
, error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert("Erreur XML:\n\n" + jqXHR.responseText);
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user