la propale li une commande est classe facture lorsque la commande l'est elle mme

This commit is contained in:
Regis Houssin 2006-06-01 15:44:30 +00:00
parent e8aff4dfb4
commit 3633cda7c3
3 changed files with 33 additions and 2 deletions

View File

@ -913,10 +913,12 @@ class Commande
// -------- exp pdf //
/*
* Propale associée
*/
$sql = 'SELECT fk_propale FROM '.MAIN_DB_PREFIX.'co_pr WHERE fk_commande = '.$this->id;
$sql = 'SELECT cp.fk_propale';
$sql .= 'FROM '.MAIN_DB_PREFIX.'co_pr WHERE fk_commande = '.$this->id;
if ($this->db->query($sql) )
{
if ($this->db->num_rows())
@ -1537,10 +1539,18 @@ class Commande
*/
function classer_facturee()
{
global $conf;
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commande SET facture = 1';
$sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > 0 ;';
if ($this->db->query($sql) )
{
if ($this->propale_id)
{
$propal = new Propal($this->db);
$propal->fetch($this->propale_id);
$propal->classer_facturee();
}
return 1;
}
else

View File

@ -664,7 +664,10 @@ if ($_GET["propalid"] > 0)
* Factures associees
*/
$sql = "SELECT f.facnumber, f.total,".$db->pdate("f.datef")." as df, f.rowid as facid, f.fk_user_author, f.fk_statut, f.paye";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."fa_pr as fp WHERE fp.fk_facture = f.rowid AND fp.fk_propal = ".$propal->id;
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= "LEFT JOIN ".MAIN_DB_PREFIX."fa_pr as fp ON fp.fk_facture = f.rowid AND fp.fk_propal = ".$propal->id;
if ($conf->commande->enabled) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."co_pr as cp ON cp.fk_propale = ".$propal->id;
if ($conf->commande->enabled) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."co_fa as cf ON cf.fk_commande = cp.fk_commande AND cf.fk_facture = f.rowid";
$resql = $db->query($sql);
if ($resql)

View File

@ -1228,6 +1228,24 @@ class Propal
return -1;
}
}
/**
* \brief Classe la propale comme facturée
* \return int <0 si ko, >0 si ok
*/
function classer_facturee()
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.'propal SET fk_statut = 4';
$sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > 0 ;';
if ($this->db->query($sql) )
{
return 1;
}
else
{
dolibarr_print_error($this->db);
}
}
/**