LSrelation : fixed refresh bug when multiple relations content the same object

This commit is contained in:
Benjamin Renard 2013-11-28 20:51:43 +01:00
parent 06a77651d0
commit 54561a253b
3 changed files with 12 additions and 6 deletions

View file

@ -205,7 +205,7 @@ class LSrelation {
else {
$class=' LSrelation_editable';
}
$data['html'].= "<li class='LSrelation'><a href='view.php?LSobject=".$relationConf['LSobject']."&amp;dn=".urlencode($o -> getDn())."' class='LSrelation$class' id='".$o -> getDn()."'>".$o -> getDisplayName(NULL,true)."</a></li>\n";
$data['html'].= "<li class='LSrelation'><a href='view.php?LSobject=".$relationConf['LSobject']."&amp;dn=".urlencode($o -> getDn())."' class='LSrelation$class' id='LSrelation_".$_REQUEST['id']."_".$o -> getDn()."'>".$o -> getDisplayName(NULL,true)."</a></li>\n";
}
}
else {
@ -288,7 +288,8 @@ class LSrelation {
}
else {
$data=array(
'dn' => $_REQUEST['dn']
'dn' => $_REQUEST['dn'],
'id' => $_REQUEST['id']
);
}
}

View file

@ -69,7 +69,7 @@ var LSrelation = new Class({
template: 'LSrelation',
action: 'deleteByDn',
id: id,
dn: a.id
dn: this.a2dn(a)
};
data.imgload=varLSdefault.loadingImgDisplay(li,'inside');
new Request({url: 'index_ajax.php', data: data, onSuccess: this.deleteFromImgComplete.bind(this)}).send();
@ -79,8 +79,8 @@ var LSrelation = new Class({
var data = JSON.decode(responseText);
if ( varLSdefault.checkAjaxReturn(data) ) {
try {
var li = $(data.dn).getParent();
var ul=$(data.dn).getParent().getParent();
var ul=$('LSrelation_ul_'+data.id);
var li = $('LSrelation_'+data.id+'_'+data.dn).getParent();
li.destroy();
if (!$type(ul.getFirst())) {
var getId = /LSrelation_ul_([0-9]*)/
@ -141,6 +141,11 @@ var LSrelation = new Class({
$('LSrelation_ul_'+this.refreshRelation).set('html',data.html);
this.initializeBtn();
}
},
a2dn: function(a) {
var getId = /LSrelation_[0-9]*_(.*)$/
return getId.exec(a.id)[1];
}
});

View file

@ -8,7 +8,7 @@
{/if}
<ul id='LSrelation_ul_{$item.id}' class='LSrelation'>
{foreach from=$item.objectList item=object}
<li class='LSrelation'><a href='view.php?LSobject={$item.LSobject}&amp;dn={$object.dn|escape:'url'}' class='LSrelation{if $object.canEdit} LSrelation_editable{/if}' id='{$object.dn}'>{$object.text}</a></li>
<li class='LSrelation'><a href='view.php?LSobject={$item.LSobject}&amp;dn={$object.dn|escape:'url'}' class='LSrelation{if $object.canEdit} LSrelation_editable{/if}' id='LSrelation_{$item.id}_{$object.dn}'>{$object.text}</a></li>
{foreachelse}
<li class='LSrelation'>{$item.emptyText}</li>
{/foreach}