PHRAS-978 - fix task management form

This commit is contained in:
Florian BLOUET
2016-02-17 18:31:04 +01:00
parent dc7cfacc8c
commit 392f5bea7d
3 changed files with 94 additions and 77 deletions

View File

@@ -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())),

View File

@@ -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">

View File

@@ -1,15 +1,53 @@
<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">
<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>
@@ -31,27 +69,14 @@
{% 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">
<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>
</form>
{% block javascript %}
<script type="text/javascript">
@@ -68,9 +93,9 @@
}
,
beforeActivate: function (event, ui) {
switch($(ui.newPanel).attr("id"))
{
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({
@@ -104,8 +129,7 @@
}
});
$("#taskResetCrashCounterButton").click(function()
{
$("#taskResetCrashCounterButton").click(function () {
$.ajax({
"url": "{{ path('admin_tasks_task_reset', {'task' : task.getId()}) }}",
"dataType": "json",
@@ -114,7 +138,7 @@
if (!data.success) {
//todo add notification and loader
} else {
$("#crash-counter").html("0");
$("input[name='crash-counter']").val("0");
}
}
});
@@ -123,7 +147,8 @@
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()}) }}"
$.ajax({
url: "{{ path('admin_tasks_xml_from_form', {'task' : task.getId()}) }}"
, data: formData
, dataType: 'text'
, type: "POST"
@@ -140,8 +165,11 @@
});
}
$("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();
@@ -154,21 +182,11 @@
, 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);