Fix: on pouvait supprimer une facture valide autre que la dernire
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
|
||||
* La règle est la suivante:
|
||||
* Si facture brouillon -> oui, fin de règle
|
||||
* Si facture dernière, sans paiement et non exporté en compta -> oui
|
||||
* Si facture dernière, non provisoire, sans paiement et non exporté en compta -> oui fin de règle
|
||||
* Si facture brouillon et ptovisoire -> oui
|
||||
* \param user Utilisateur créant la demande
|
||||
* \return int <0 si ko, 0=non, 1=oui
|
||||
*/
|
||||
function is_erasable()
|
||||
{
|
||||
global $conf;
|
||||
|
||||
// Si facture brouillon
|
||||
if ($this->statut == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
global $conf, $db;
|
||||
|
||||
// Si facture non brouillon
|
||||
if ($conf->compta->enabled && $conf->global->FACTURE_ENABLE_EDITDELETE)
|
||||
// on vérifie si la facture est en numérotation provisoire
|
||||
$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
|
||||
// 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.= " FROM ".MAIN_DB_PREFIX."facture";
|
||||
|
||||
@ -1882,6 +1879,10 @@ class Facture extends CommonObject
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if ($this->statut == 0 && $facref == PROV) // Si facture brouillon et provisoire
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user