diff --git a/plugins/admin/systems/class_glpiAttachmentPool.inc b/plugins/admin/systems/class_glpiAttachmentPool.inc
index 6ee839e4abc603e889f9d52dea4aa732b3286455..40a7c3e13bad835e9e00768eb51a9d0bf88046a2 100644 (file)
if((isset($_POST['delete_glpi_confirm']))&&(isset($attach[$this->delAttach]))){
if($this->parent->handle->is_attachmentUsed($this->delAttach)){
- print_red(_("Can't delete this attachment, it is still in use."));
+ $tmp = $this->parent->handle->is_attachmentUsed($this->delAttach);
+
+ $names = "";
+ foreach($tmp as $name){
+ $names .= ", ".$name;
+ }
+ $names = preg_replace("/^, /","",$names);
+ $names = trim($names);
+ if(count($tmp) == 3){
+ $names .= " ...";
+ }
+ print_red(sprintf(_("You can't delete this attachment, it is still in use by these system(s) '%s'"),$names));
+
}else{
$this->parent->handle->deleteAttachment($this->delAttach);
$attach = $this->parent->handle->getAttachments();
$att = $this->parent->handle->getAttachments();
$ok = true;
$this->name=trim($this->name);
+
foreach($att as $val){
- if($val['name'] == $this->name){
- $ok = false;
+ if(!isset($this->entry['ID'])){
+ if($val['name'] == $this->name){
+ $ok = false;
+ }
+ }else{
+ if(($val['name'] == $this->name)&&($this->entry['ID'] != $val['ID'])){
+ $ok = false;
+ }
}
}
if(!$ok){