Beispiel #1
0
 function IntegridadFamilia()
 {
     $lang = $this->getLang();
     $oFamilia = new Familia();
     $IdFamilia = intval($this->get("IdFamilia"));
     $IdSubFamilia = intval($this->get("IdSubFamilia"));
     if (!$IdFamilia or !$IdSubFamilia) {
         $this->setFallo(_("Familia o subfamilia incorrecta"));
         return false;
     }
     //Si la familia no existe, no tiene sentido utilizarla.
     $sql = "SELECT Id FROM ges_familias WHERE IdFamilia='{$IdFamilia}' ";
     $row = queryrow($sql, "Existe la familia?");
     if (!$row) {
         $this->setFallo(_("Familia incorrecta"));
         return false;
     }
     $sql = "SELECT Id FROM ges_subfamilias WHERE IdFamilia = '{$IdFamilia}' AND IdSubFamilia = '{$IdSubFamilia}'";
     $row = queryrow($sql, 'Existe la subfamilia?');
     if (!is_array($row)) {
         //
         //A peticion del cliente, se quiere que la gestion de subfamilias se autocorrija.
         //asi que haremos que el fallo aqui no sea fatal.
         $sql = "SELECT MIN(IdSubFamilia) as IdSubFamilia, SubFamilia\n\t\t\t\t\tFROM ges_subfamilias\n\t\t\t\t\tWHERE IdFamilia = '{$IdFamilia}'\n\t\t\t\t\tAND Eliminado = 0\n\t\t\t\t\tAND IdIdioma = '{$lang}'";
         $row = queryrow($sql, "Intentamos un arreglo de subfamilia");
         if (!$row or !$row["IdSubFamilia"]) {
             $this->setFallo(_("Subfamilia incorrectos"));
             return false;
         }
         $this->set("IdSubFamilia", $row["IdSubFamilia"], FORCE);
         return true;
     }
     if (!$oFamilia->LoadSub($row["Id"])) {
         $this->setFallo(_("Subfamilia incorrecta"));
         return false;
     }
     return true;
 }