Fix: Correction bug sur methode info sur une facture qui n'a pas encore été validée.

This commit is contained in:
Laurent Destailleur 2004-08-12 20:55:55 +00:00
parent 831980e146
commit 79143d98c2

View File

@ -209,6 +209,7 @@ class Facture
} }
} }
} }
/* /*
* *
* *
@ -224,8 +225,9 @@ class Facture
} }
/** /**
* Recupére l'objet facture et ses lignes de factures * \brief Recupére l'objet facture et ses lignes de factures
* * \param rowid id de la facture a récupérer
* \param societe_id id de societe
*/ */
function fetch($rowid, $societe_id=0) function fetch($rowid, $societe_id=0)
{ {
@ -324,7 +326,7 @@ class Facture
} }
} }
/** /**
* Recupére l'objet client lié à la facture * \brief Recupére l'objet client lié à la facture
* *
*/ */
function fetch_client() function fetch_client()
@ -333,19 +335,17 @@ class Facture
$client->fetch($this->socidp); $client->fetch($this->socidp);
$this->client = $client; $this->client = $client;
} }
/** /**
* Valide la facture * \brief Valide la facture
* * \param userid id de l'utilisateur qui valide
*
*/ */
function valid($userid, $dir) function valid($userid)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."facture SET fk_statut = 1, date_valid=now(), fk_user_valid=$userid"; $sql = "UPDATE ".MAIN_DB_PREFIX."facture SET fk_statut = 1, date_valid=now(), fk_user_valid=$userid";
$sql .= " WHERE rowid = $this->id AND fk_statut = 0 ;"; $sql .= " WHERE rowid = $this->id AND fk_statut = 0 ;";
if ($this->db->query($sql) ) if ($this->db->query($sql) )
{ {
return 1; return 1;
@ -356,8 +356,8 @@ class Facture
} }
} }
/** /**
* Classe la facture * \brief Classe la facture
* \param cat_id id de la catégorie dans laquelle classer la facture * \param cat_id id de la catégorie dans laquelle classer la facture
* *
*/ */
function classin($cat_id) function classin($cat_id)
@ -376,8 +376,8 @@ class Facture
} }
/** /**
* Supprime la facture * \brief Supprime la facture
* * \param id id de la facture à supprimer
*/ */
function delete($rowid) function delete($rowid)
{ {
@ -432,8 +432,7 @@ class Facture
} }
/** /**
* Retourne le libellé du statut d'une facture (brouillon, validée, abandonnée, payée) * \brief Retourne le libellé du statut d'une facture (brouillon, validée, abandonnée, payée)
*
*/ */
function get_libstatut() function get_libstatut()
{ {
@ -441,35 +440,39 @@ class Facture
} }
/** /**
* Tag la facture comme payée complètement * \brief Tag la facture comme payée complètement
* * \param rowid id de la facture à modifier
*/ */
function set_payed($rowid) function set_payed($rowid)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."facture set paye=1 WHERE rowid = $rowid ;"; $sql = "UPDATE ".MAIN_DB_PREFIX."facture set paye=1 WHERE rowid = $rowid ;";
$return = $this->db->query( $sql); $return = $this->db->query( $sql);
} }
/** /**
* Tag la facture comme paiement commencée * \brief Tag la facture comme paiement commencée
* * \param rowid id de la facture à modifier
*/ */
function set_paiement_started($rowid) function set_paiement_started($rowid)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."facture set fk_statut=2 WHERE rowid = $rowid ;"; $sql = "UPDATE ".MAIN_DB_PREFIX."facture set fk_statut=2 WHERE rowid = $rowid ;";
$return = $this->db->query( $sql); $return = $this->db->query( $sql);
} }
/** /**
* Tag la facture comme abandonnée * \brief Tag la facture comme abandonnée
* * \param rowid id de la facture à modifier
*/ */
function set_canceled($rowid) function set_canceled($rowid)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."facture set fk_statut=3 WHERE rowid = $rowid ;"; $sql = "UPDATE ".MAIN_DB_PREFIX."facture set fk_statut=3 WHERE rowid = $rowid ;";
$return = $this->db->query( $sql); $return = $this->db->query( $sql);
} }
/** /**
* Tag la facture comme validée et valide la facture * \brief Tag la facture comme validée et valide la facture
* * \param rowid id de la facture à modifier
* \param user utilisateur qui valide la facture
*/ */
function set_valid($rowid, $user, $soc) function set_valid($rowid, $user, $soc)
{ {
@ -539,8 +542,12 @@ class Facture
} }
/** /**
* Ajoute un produit dans l'objet facture * \brief Ajoute un produit dans l'objet facture
* * \param idproduct
* \param qty
* \param remise_percent
* \param datestart
* \param dateend
*/ */
function add_product($idproduct, $qty, $remise_percent, $datestart='', $dateend='') function add_product($idproduct, $qty, $remise_percent, $datestart='', $dateend='')
{ {
@ -560,8 +567,15 @@ class Facture
} }
/** /**
* Ajoute une ligne de facture (associé à aucun produit/service prédéfini) * \brief Ajoute une ligne de facture (associé à aucun produit/service prédéfini)
* * \param facid id de la facture
* \param desc id de la facture
* \param pu id de la facture
* \param qty id de la facture
* \param txtva id de la facture
* \param fk_product id de la facture
* \param date_start date_start
* \param date_end date_end
*/ */
function addline($facid, $desc, $pu, $qty, $txtva, $fk_product=0, $remise_percent=0, $datestart='', $dateend='') function addline($facid, $desc, $pu, $qty, $txtva, $fk_product=0, $remise_percent=0, $datestart='', $dateend='')
{ {
@ -605,9 +619,10 @@ class Facture
} }
} }
} }
/** /**
* Mets à jour une ligne de facture * \brief Mets à jour une ligne de facture
* Retourne 0 si erreur * \return int 0 si erreur
*/ */
function updateline($rowid, $desc, $pu, $qty, $remise_percent=0, $datestart='', $dateend='') function updateline($rowid, $desc, $pu, $qty, $remise_percent=0, $datestart='', $dateend='')
{ {
@ -655,9 +670,10 @@ class Facture
} }
} }
/** /**
* Supprime une ligne * \brief Supprime une ligne facture de la base
* * \param id id de la ligne de facture a supprimer
*/ */
function deleteline($rowid) function deleteline($rowid)
{ {
@ -669,9 +685,10 @@ class Facture
$this->updateprice($this->id); $this->updateprice($this->id);
} }
} }
/** /**
* Mise à jour des sommes de la facture * \brief Mise à jour des sommes de la facture
* * \param id id de la ligne de facture a modifier
*/ */
function updateprice($facid) function updateprice($facid)
{ {
@ -768,9 +785,11 @@ class Facture
return -1; return -1;
} }
} }
/** /**
* Applique une remise * \brief Applique une remise
* * \param user
* \param remise
*/ */
function set_remise($user, $remise) function set_remise($user, $remise)
{ {
@ -794,10 +813,9 @@ class Facture
} }
} }
} }
/** /**
* Envoie une relance * \brief Envoie une relance
*
*
*/ */
function send_relance($destinataire, $replytoname, $replytomail, $user) function send_relance($destinataire, $replytoname, $replytomail, $user)
{ {
@ -852,9 +870,9 @@ class Facture
} }
} }
} }
/** /**
* Renvoie la liste des sommes de tva * \brief Renvoie la liste des sommes de tva
*
*/ */
function getSumTva() function getSumTva()
{ {
@ -879,8 +897,8 @@ class Facture
} }
/** /**
* Renvoie la sommes des paiements deja effectués * \brief Renvoie la sommes des paiements deja effectués
* Utilisé entre autre par certains modèles de factures * \remarks Utilisé entre autre par certains modèles de factures
*/ */
function getSommePaiement() function getSommePaiement()
{ {
@ -906,8 +924,9 @@ class Facture
} }
/** /**
* Renvoi un libellé du statut * \brief Renvoi un libellé du statut
* * \param paye etat paye
* \param statut id statut
*/ */
function LibStatut($paye,$statut) function LibStatut($paye,$statut)
{ {
@ -925,8 +944,8 @@ class Facture
/** /**
* Mets à jour les commentaires * \brief Mets à jour les commentaires
* * \param note note
*/ */
function update_note($note) function update_note($note)
{ {
@ -945,15 +964,15 @@ class Facture
} }
/* /*
* Information sur l'objet * \brief Charge les informations d'ordre info dans l'objet facture
* * \param id id de la facture a charger
*/ */
function info($id) function info($id)
{ {
$sql = "SELECT c.rowid, ".$this->db->pdate("datec")." as datec"; $sql = "SELECT c.rowid, ".$this->db->pdate("datec")." as datec";
$sql .= ", fk_user_author, fk_user_valid"; $sql .= ", fk_user_author, fk_user_valid";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as c"; $sql .= " FROM ".MAIN_DB_PREFIX."facture as c";
$sql .= " WHERE c.rowid = $id"; $sql .= " WHERE c.rowid = ".$id;
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
@ -963,15 +982,20 @@ class Facture
$this->id = $obj->rowid; $this->id = $obj->rowid;
$cuser = new User($this->db, $obj->fk_user_author); if ($obj->fk_user_author) {
$cuser->fetch(); $cuser = new User($this->db, $obj->fk_user_author);
$this->user_creation = $cuser; $cuser->fetch();
$this->user_creation = $cuser;
}
$vuser = new User($this->db, $obj->fk_user_valid); if ($obj->fk_user_valid) {
$vuser->fetch(); $vuser = new User($this->db, $obj->fk_user_valid);
$this->user_validation = $vuser; $vuser->fetch();
$this->user_validation = $vuser;
}
$this->date_creation = $obj->datec; $this->date_creation = $obj->datec;
//$this->date_validation = $obj->datev; \todo La date de validation n'est pas encore gérée
} }
$this->db->free(); $this->db->free();
@ -985,16 +1009,27 @@ class Facture
} }
/*! \class FactureLigne
\brief Classe permettant la gestion des lignes de factures
*/
class FactureLigne class FactureLigne
{ {
/**
* \brief Constructeur d'objets ligne de facture
* \param db handler d'accès base de donnée
*/
function FactureLigne($DB) function FactureLigne($DB)
{ {
$this->db= $DB ; $this->db= $DB ;
} }
/** /**
* Recupére l'objet ligne de facture * \brief Recupére l'objet ligne de facture
* * \param rowid id de la ligne de facture
*/ */
function fetch($rowid, $societe_id=0) function fetch($rowid, $societe_id=0)
{ {
@ -1023,8 +1058,6 @@ class FactureLigne
$this->db->free(); $this->db->free();
} }
} }
?> ?>