Fix: Error management in categories creation
This commit is contained in:
parent
c39b8f26c5
commit
0b12c2de44
@ -55,8 +55,8 @@ class Categorie
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur
|
* Constructeur
|
||||||
* db : accès base de données
|
* db : acc<EFBFBD>s base de donn<EFBFBD>es
|
||||||
* id : id de la catégorie
|
* id : id de la cat<EFBFBD>gorie
|
||||||
*/
|
*/
|
||||||
function Categorie($db, $id=-1)
|
function Categorie($db, $id=-1)
|
||||||
{
|
{
|
||||||
@ -67,8 +67,8 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Charge la catégorie
|
* Charge la cat<EFBFBD>gorie
|
||||||
* id : id de la catégorie à charger
|
* id : id de la cat<EFBFBD>gorie <EFBFBD> charger
|
||||||
*/
|
*/
|
||||||
function fetch($id)
|
function fetch($id)
|
||||||
{
|
{
|
||||||
@ -117,10 +117,10 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajoute la catégorie dans la base de données
|
* Ajoute la cat<EFBFBD>gorie dans la base de donn<EFBFBD>es
|
||||||
* retour : -1 : erreur SQL
|
* retour : -1 : erreur SQL
|
||||||
* -2 : nouvel ID inconnu
|
* -2 : nouvel ID inconnu
|
||||||
* -3 : catégorie invalide
|
* -3 : cat<EFBFBD>gorie invalide
|
||||||
*/
|
*/
|
||||||
function create()
|
function create()
|
||||||
{
|
{
|
||||||
@ -180,10 +180,10 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mise à jour de la catégorie
|
* Mise <EFBFBD> jour de la cat<EFBFBD>gorie
|
||||||
* retour : 1 : OK
|
* retour : 1 : OK
|
||||||
* -1 : erreur SQL
|
* -1 : erreur SQL
|
||||||
* -2 : catégorie invalide
|
* -2 : cat<EFBFBD>gorie invalide
|
||||||
*/
|
*/
|
||||||
function update()
|
function update()
|
||||||
{
|
{
|
||||||
@ -248,9 +248,9 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime la catégorie
|
* Supprime la cat<EFBFBD>gorie
|
||||||
* Les produits et sous-catégories deviennent orphelins
|
* Les produits et sous-cat<EFBFBD>gories deviennent orphelins
|
||||||
* si $all = false, et sont (seront :) supprimés sinon
|
* si $all = false, et sont (seront :) supprim<EFBFBD>s sinon
|
||||||
*/
|
*/
|
||||||
function remove ($all = false)
|
function remove ($all = false)
|
||||||
{
|
{
|
||||||
@ -291,11 +291,11 @@ class Categorie
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajout d'une sous-catégorie
|
* Ajout d'une sous-cat<EFBFBD>gorie
|
||||||
* $fille : objet catégorie
|
* $fille : objet cat<EFBFBD>gorie
|
||||||
* retour : 1 : OK
|
* retour : 1 : OK
|
||||||
* -2 : $fille est déjà dans la famille de $this
|
* -2 : $fille est d<EFBFBD>j<EFBFBD> dans la famille de $this
|
||||||
* -3 : catégorie ($this ou $fille) invalide
|
* -3 : cat<EFBFBD>gorie ($this ou $fille) invalide
|
||||||
*/
|
*/
|
||||||
function add_fille()
|
function add_fille()
|
||||||
{
|
{
|
||||||
@ -315,10 +315,10 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Suppression d'une sous-catégorie (seulement "désassociation")
|
* Suppression d'une sous-cat<EFBFBD>gorie (seulement "d<EFBFBD>sassociation")
|
||||||
* $fille : objet catégorie
|
* $fille : objet cat<EFBFBD>gorie
|
||||||
* retour : 1 : OK
|
* retour : 1 : OK
|
||||||
* -3 : catégorie ($this ou $fille) invalide
|
* -3 : cat<EFBFBD>gorie ($this ou $fille) invalide
|
||||||
*/
|
*/
|
||||||
function del_fille($fille)
|
function del_fille($fille)
|
||||||
{
|
{
|
||||||
@ -377,7 +377,7 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Suppresion d'un produit de la catégorie
|
* Suppresion d'un produit de la cat<EFBFBD>gorie
|
||||||
* @param $prod est un objet de type produit
|
* @param $prod est un objet de type produit
|
||||||
* retour : 1 : OK
|
* retour : 1 : OK
|
||||||
* -1 : erreur SQL
|
* -1 : erreur SQL
|
||||||
@ -400,7 +400,7 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Retourne les produits de la catégorie
|
* \brief Retourne les produits de la cat<EFBFBD>gorie
|
||||||
* \param field Field name for select in table. Full field name will be fk_field.
|
* \param field Field name for select in table. Full field name will be fk_field.
|
||||||
* \param class PHP Class of object to store entity
|
* \param class PHP Class of object to store entity
|
||||||
* \param table Table name for select in table. Full table name will be PREFIX_categorie_table.
|
* \param table Table name for select in table. Full table name will be PREFIX_categorie_table.
|
||||||
@ -440,7 +440,7 @@ class Categorie
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les filles de la catégorie
|
* Retourne les filles de la cat<EFBFBD>gorie
|
||||||
*/
|
*/
|
||||||
function get_filles ()
|
function get_filles ()
|
||||||
{
|
{
|
||||||
@ -468,7 +468,7 @@ class Categorie
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* retourne la description d'une catégorie
|
* retourne la description d'une cat<EFBFBD>gorie
|
||||||
*/
|
*/
|
||||||
function get_desc ($cate)
|
function get_desc ($cate)
|
||||||
{
|
{
|
||||||
@ -482,7 +482,7 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* La catégorie $fille est-elle une fille de cette catégorie ?
|
* La cat<EFBFBD>gorie $fille est-elle une fille de cette cat<EFBFBD>gorie ?
|
||||||
*/
|
*/
|
||||||
function is_fille ($fille)
|
function is_fille ($fille)
|
||||||
{
|
{
|
||||||
@ -498,8 +498,8 @@ class Categorie
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Reconstruit l'arborescence des catégories sous la forme d'un tableau
|
* \brief Reconstruit l'arborescence des cat<EFBFBD>gories sous la forme d'un tableau
|
||||||
* Renvoi un tableau de tableau('id','id_mere',...) trié selon
|
* Renvoi un tableau de tableau('id','id_mere',...) tri<EFBFBD> selon
|
||||||
* arbre et avec:
|
* arbre et avec:
|
||||||
* id = id de la categorie
|
* id = id de la categorie
|
||||||
* id_mere = id de la categorie mere
|
* id_mere = id de la categorie mere
|
||||||
@ -653,7 +653,7 @@ class Categorie
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Retourne toutes les catégories
|
* \brief Retourne toutes les cat<EFBFBD>gories
|
||||||
* \return array Tableau d'objet Categorie
|
* \return array Tableau d'objet Categorie
|
||||||
*/
|
*/
|
||||||
function get_all_categories ()
|
function get_all_categories ()
|
||||||
@ -679,7 +679,7 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Retourne le nombre total de catégories
|
* \brief Retourne le nombre total de cat<EFBFBD>gories
|
||||||
* \return int Nombre de categories
|
* \return int Nombre de categories
|
||||||
*/
|
*/
|
||||||
function get_nb_categories ()
|
function get_nb_categories ()
|
||||||
@ -700,38 +700,36 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Vérifie si une catégorie porte le label $label
|
* Check if no category with same label already exists
|
||||||
*/
|
*/
|
||||||
function already_exists()
|
function already_exists()
|
||||||
{
|
{
|
||||||
$sql = "SELECT count(c.rowid)";
|
$sql = "SELECT count(c.rowid)";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_association as ca";
|
$sql.= " FROM ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_association as ca";
|
||||||
$sql.= " WHERE c.label = '".addslashes($this -> label)."' AND type=".$this->type;
|
$sql.= " WHERE c.label = '".addslashes($this -> label)."' AND type=".$this->type;
|
||||||
if($this -> id_mere != "")
|
/*if($this -> id_mere != "")
|
||||||
{
|
{
|
||||||
$sql.= " AND c.rowid = ca.fk_categorie_fille";
|
$sql.= " AND c.rowid = ca.fk_categorie_fille";
|
||||||
$sql.= " AND ca.fk_categorie_mere = '".$this -> id_mere."'";
|
$sql.= " AND ca.fk_categorie_mere = '".$this -> id_mere."'";
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
dol_syslog("Categorie::already_exists sql=".$sql);
|
||||||
$res = $this->db->query($sql);
|
$res = $this->db->query($sql);
|
||||||
if ($res)
|
if ($res)
|
||||||
{
|
{
|
||||||
$res = $this->db->fetch_array ($res);
|
$obj = $this->db->fetch_array($res);
|
||||||
if($res[0] > 0)
|
if($obj[0] > 0) return true;
|
||||||
return true;
|
else return false;
|
||||||
else
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_print_error ($this->db);
|
dol_print_error ($this->db);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Retourne les catégories de premier niveau (qui ne sont pas filles)
|
* \brief Retourne les cat<EFBFBD>gories de premier niveau (qui ne sont pas filles)
|
||||||
*/
|
*/
|
||||||
function get_main_categories ()
|
function get_main_categories ()
|
||||||
{
|
{
|
||||||
@ -761,8 +759,8 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les chemin de la catégorie, avec les noms des catégories
|
* Retourne les chemin de la cat<EFBFBD>gorie, avec les noms des cat<EFBFBD>gories
|
||||||
* séparés par $sep (" >> " par défaut)
|
* s<EFBFBD>par<EFBFBD>s par $sep (" >> " par d<EFBFBD>faut)
|
||||||
*/
|
*/
|
||||||
function print_all_ways ($sep = " >> ", $url='')
|
function print_all_ways ($sep = " >> ", $url='')
|
||||||
{
|
{
|
||||||
@ -790,7 +788,7 @@ class Categorie
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get_primary_way() affiche le chemin le plus court pour se rendre à un produit
|
* get_primary_way() affiche le chemin le plus court pour se rendre <EFBFBD> un produit
|
||||||
*/
|
*/
|
||||||
function get_primary_way($id, $type="")
|
function get_primary_way($id, $type="")
|
||||||
{
|
{
|
||||||
@ -812,7 +810,7 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* print_primary_way() affiche le chemin le plus court pour se rendre à un produit
|
* print_primary_way() affiche le chemin le plus court pour se rendre <EFBFBD> un produit
|
||||||
*/
|
*/
|
||||||
function print_primary_way($id, $sep= " >> ", $url, $type="")
|
function print_primary_way($id, $sep= " >> ", $url, $type="")
|
||||||
{
|
{
|
||||||
@ -835,7 +833,7 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne un tableau contenant la liste des catégories mères
|
* Retourne un tableau contenant la liste des cat<EFBFBD>gories m<EFBFBD>res
|
||||||
*/
|
*/
|
||||||
function get_meres ()
|
function get_meres ()
|
||||||
{
|
{
|
||||||
@ -862,8 +860,8 @@ class Categorie
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne dans un tableau tous les chemins possibles pour arriver à la catégorie
|
* Retourne dans un tableau tous les chemins possibles pour arriver <EFBFBD> la cat<EFBFBD>gorie
|
||||||
* en partant des catégories principales, représentés par des tableaux de catégories
|
* en partant des cat<EFBFBD>gories principales, repr<EFBFBD>sent<EFBFBD>s par des tableaux de cat<EFBFBD>gories
|
||||||
*/
|
*/
|
||||||
function get_all_ways ()
|
function get_all_ways ()
|
||||||
{
|
{
|
||||||
@ -921,7 +919,7 @@ class Categorie
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Retourne les catégories dont l'id ou le nom correspond
|
* \brief Retourne les cat<EFBFBD>gories dont l'id ou le nom correspond
|
||||||
* ajoute des wildcards au nom sauf si $exact = true
|
* ajoute des wildcards au nom sauf si $exact = true
|
||||||
*/
|
*/
|
||||||
function rechercher($id, $nom, $type, $exact = false)
|
function rechercher($id, $nom, $type, $exact = false)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user