Fix: on pouvait supprimer une facture validée autre que la dernière
This commit is contained in:
parent
105fc64197
commit
92c6a452ce
@ -1837,26 +1837,23 @@ class Facture extends CommonObject
|
|||||||
/**
|
/**
|
||||||
* \brief Renvoi si une facture peut etre supprimée complètement
|
* \brief Renvoi si une facture peut etre supprimée complètement
|
||||||
* La règle est la suivante:
|
* La règle est la suivante:
|
||||||
* Si facture brouillon -> oui, fin de règle
|
* Si facture dernière, non provisoire, sans paiement et non exporté en compta -> oui fin de règle
|
||||||
* Si facture dernière, sans paiement et non exporté en compta -> oui
|
* Si facture brouillon et ptovisoire -> oui
|
||||||
* \param user Utilisateur créant la demande
|
* \param user Utilisateur créant la demande
|
||||||
* \return int <0 si ko, 0=non, 1=oui
|
* \return int <0 si ko, 0=non, 1=oui
|
||||||
*/
|
*/
|
||||||
function is_erasable()
|
function is_erasable()
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf, $db;
|
||||||
|
|
||||||
// Si facture brouillon
|
|
||||||
if ($this->statut == 0)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Si facture non brouillon
|
// on vérifie si la facture est en numérotation provisoire
|
||||||
if ($conf->compta->enabled && $conf->global->FACTURE_ENABLE_EDITDELETE)
|
$facref = substr($this->ref, 1, 4);
|
||||||
|
|
||||||
|
// Si facture non brouillon et non provisoire
|
||||||
|
if ($facref != PROV && $conf->compta->enabled && $conf->global->FACTURE_ENABLE_EDITDELETE)
|
||||||
{
|
{
|
||||||
// On ne peut supprimer que la dernière facture validée
|
// On ne peut supprimer que la dernière facture validée
|
||||||
// pour ne pas avoir de trou dans les numéros
|
// pour ne pas avoir de trou dans la numérotation
|
||||||
$sql = "SELECT MAX(facnumber)";
|
$sql = "SELECT MAX(facnumber)";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture";
|
$sql.= " FROM ".MAIN_DB_PREFIX."facture";
|
||||||
|
|
||||||
@ -1882,6 +1879,10 @@ class Facture extends CommonObject
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ($this->statut == 0 && $facref == PROV) // Si facture brouillon et provisoire
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user