X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_glpiManufacturer.inc;h=9ae1ea8003b2c5214d303c747443f7c15d41a05b;hb=e1caeaac864e3118ac900e3fc2d697bd88da1326;hp=aeedaa4d2ddc07d2098f576214f4c810be8b8359;hpb=3644520502707cc1a35a915bfa358105e86c4818;p=gosa.git diff --git a/plugins/admin/systems/class_glpiManufacturer.inc b/plugins/admin/systems/class_glpiManufacturer.inc index aeedaa4d2..9ae1ea800 100644 --- a/plugins/admin/systems/class_glpiManufacturer.inc +++ b/plugins/admin/systems/class_glpiManufacturer.inc @@ -28,21 +28,40 @@ class glpiManufacturer extends plugin var $email =""; var $ID =-1; - function glpiManufacturer($config, $dn= NULL) + function glpiManufacturer($config, $dn= NULL, $parent= NULL) { - plugin::plugin ($config, $dn); + plugin::plugin ($config, $dn, $parent); $this->ui = get_userinfo(); } function execute() { + plugin::execute(); $smarty = get_smarty(); $display = ""; + /* Remove enterprise from db */ if((isset($_POST['remove_manu']))&&(isset($_POST['manufacturer']))){ - $this->parent->handle->removeEnterprisesType($_POST['manufacturer']); + + $tmp = $this->parent->handle->is_manufacturerUsed($_POST['manufacturer']); + if(count($tmp)){ + + $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 manufacturer, it is still in use by these system(s) '%s'"),$names)); + }else{ + $this->parent->handle->removeEnterprise($_POST['manufacturer']); + } } + /* Add new Manufactuer : Open dialog with empty fields */ if(isset($_POST['add_manu'])){ $this->editMode = true; $this->Edit_Add = "add"; @@ -51,6 +70,7 @@ class glpiManufacturer extends plugin } } + /* Edit existing manuatctuerer data */ if((isset($_POST['edit_manu']))&&(isset($_POST['manufacturer']))){ $this->editMode = true; $this->Edit_Add = "edit"; @@ -67,12 +87,13 @@ class glpiManufacturer extends plugin $this->ID = $_POST['manufacturer']; } + /* close Dialog without saving */ if(isset($_POST['close_manufacturer'])){ $this->editMode=false; } + /* close dialog an save all changes / adds */ if(isset($_POST['save_manufacturer'])){ - $tmp = array(); foreach($this->attributes as $attrs){ $tmp[$attrs]=$this->$attrs; @@ -84,17 +105,34 @@ class glpiManufacturer extends plugin $allok = false; } + $attr = $this->parent->handle->getEnterprises(); + + if($this->ID == -1 ){ + if(in_array($tmp['name'],$attr)){ + $allok = false; + print_red(_("Specified name is already in use, please choose another one.")); + } + }else{ + unset($attr[$this->ID]); + if(in_array($tmp['name'],$attr)){ + $allok = false; + print_red(_("Specified name is already in use, please choose another one.")); + } + } + + /* all checks are ok , so save changes */ if($allok){ if($this->Edit_Add == "add"){ - $this->parent->handle->addEnterprisesType($tmp); + $this->parent->handle->addEnterprise($tmp); $this->editMode=false; }else{ - $this->parent->handle->updateEnterprisesType($tmp,$this->ID); + $this->parent->handle->updateEnterprise($tmp,$this->ID); $this->editMode=false; } } } + /* As long as this war is true, we have to display the edit dialog */ if($this->editMode == true){ $this->save_object(); foreach($this->attributes as $attrs){ @@ -106,8 +144,8 @@ class glpiManufacturer extends plugin } - $smarty->assign("Manus", $this->parent->handle->getEnterprisesTypes()); - $smarty->assign("ManuKeys", array_flip($this->parent->handle->getEnterprisesTypes())); + $smarty->assign("Manus", $this->parent->handle->getEnterprises()); + $smarty->assign("ManuKeys", array_flip($this->parent->handle->getEnterprises())); $display.= $smarty->fetch(get_template_path('glpiManufacturer.tpl', TRUE)); return($display); } @@ -121,7 +159,7 @@ class glpiManufacturer extends plugin { foreach($this->attributes as $attr){ if(isset($_POST[$attr])){ - $this->$attr = $_POST[$attr]; + $this->$attr = stripslashes($_POST[$attr]); } } }