Implement safe delete see BT#9893

1.10.x
Julio Montoya 10 years ago
parent 2a19f75687
commit 62f6f09698
  1. 1
      main/admin/resource_sequence.php
  2. 38
      main/inc/ajax/sequence.ajax.php
  3. 1
      main/inc/lib/internationalization.lib.php
  4. 36
      main/template/default/admin/resource_sequence.tpl

@ -25,6 +25,7 @@ $formSequence->addButtonCreate(get_lang('AddSequence'), 'submit_sequence');
$em = Database::getManager();
// Add sequence
if ($formSequence->validate()) {
$values = $formSequence->exportValues();
$sequence = new Sequence();

@ -58,14 +58,17 @@ switch ($action) {
if ($showDelete) {
$linkDelete = Display::url(
get_lang('Delete'),
'#',
'javascript:void(0);',
['class' => 'delete_vertex', 'data-id' => $id]
);
}
$link = '<div class="parent" data-id="'.$id.'">'.
$image.' '.$sessionInfo['name'].' ('.$id.')'.$linkDelete.
'</div>';
$link = '<div class="parent" data-id="'.$id.'">
<span>'.
$image.' '.$sessionInfo['name'].' ('.$id.')'.
$linkDelete.
'</span>
</div>';
}
break;
}
@ -73,7 +76,6 @@ switch ($action) {
break;
case 'delete_vertex':
$vertexId = isset($_REQUEST['vertex_id']) ? $_REQUEST['vertex_id'] : null;
$type = SequenceResource::SESSION_TYPE;
/** @var Sequence $sequence */
@ -100,7 +102,11 @@ switch ($action) {
/** @var SequenceResource $sequenceResource */
$sequenceResourceToDelete = $repository->findOneBy(
['resourceId' => $vertexId, 'type' => $type, 'sequence' => $sequence]
[
'resourceId' => $vertexId,
'type' => $type,
'sequence' => $sequence
]
);
$em->remove($sequenceResourceToDelete);
@ -228,27 +234,7 @@ switch ($action) {
->setType(SequenceResource::SESSION_TYPE)
->setResourceId($parentId);
$em->persist($sequenceResourceParent);
if ($sequenceResourceParent->hasGraph()) {
/** @var Graph $parentGraph */
/* $parentGraph = $resource->getGraph()getUnserializeGraph();
try {
$vertex = $parentGraph->getVertex($parentId);
$parentMain = $parentGraph->createVertex($id);
$vertex->createEdgeTo($parentMain);
$resource->setGraphAndSerialize($parentGraph);
$em->persist($resource);
$em->flush();
/*
$graphviz = new GraphViz();
echo $graphviz->createImageHtml($parentGraph);*/
/*} catch (Exception $e) {
}*/
}
}
}
//$graphviz = new GraphViz();

@ -37,6 +37,7 @@ define('DATE_TIME_FORMAT_SHORT', 6); // Aug 25, 2009 at 03:28 PM
define('DATE_TIME_FORMAT_SHORT_TIME_FIRST', 7); // 03:28 PM, Aug 25 2009
define('DATE_FORMAT_NUMBER_NO_YEAR', 8); // 25.08 dd-mm
define('DATE_FORMAT_ONLY_DAYNAME', 9); // Monday, Sunday, etc
define('DATE_TIME_FORMAT_NUMBER_NO_YEAR', 10); // 25.08 15:28
// Formatting person's name.
// Formatting a person's name using the pattern as it has been

@ -89,13 +89,17 @@
var parent = $(this).parent();
if (vertexId) {
$.ajax({
url: url + '?a=delete_vertex&id='+resourceId+'&vertex_id=' + vertexId + '&type=' +type+'&sequence_id='+sequenceId,
success: function (data) {
parent.remove();
useAsReference(type, sequenceId);
}
});
var class_click = $(this).attr('class');
if (class_click == 'undo_delete') {
parent.find('span').css('text-decoration', 'none');
parent.find('.undo_delete').remove();
} else {
parent.parent().find('span').css('text-decoration', 'line-through');
var link = "<a href=\"javascript:void(0);\" class=\"undo_delete\" data-id="+vertexId+">{{ 'Undo' | get_lang }}</a>";
parent.parent().append(link);
}
}
});
@ -131,6 +135,24 @@
// Button save
$('button[name="save_resource"]').click(function() {
// Delete all vertex confirmed to be deleted.
$('#parents .delete_vertex').each( function (index, data) {
var vertexId = $(this).attr('data-id');
var textDecoration = $(this).parent().css('text-decoration');
if (textDecoration == 'line-through') {
$.ajax({
async:false,
url: url + '?a=delete_vertex&id=' + resourceId + '&vertex_id=' + vertexId + '&type=' + type + '&sequence_id=' + sequenceId,
success: function (data) {
parentList.splice( $.inArray(vertexId, parentList), 1 );
/*parent.remove();
useAsReference(type, sequenceId);*/
}
});
}
});
if (resourceId != 0) {
var params = decodeURIComponent(parentList);
$.ajax({

Loading…
Cancel
Save