diff --git a/htdocs/compta/propal.php b/htdocs/compta/propal.php
index 710f2bf7d02..38c10944c30 100644
--- a/htdocs/compta/propal.php
+++ b/htdocs/compta/propal.php
@@ -19,7 +19,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
- * $Source$
*/
/**
@@ -460,7 +459,8 @@ if ($_GET["propalid"] > 0)
print '".$langs->trans("BuildBill")."";
}
- if ($propal->statut == 2 && sizeof($propal->getInvoiceArrayList()))
+ $arraypropal=$propal->getInvoiceArrayList();
+ if ($propal->statut == 2 && is_array($arraypropal) && sizeof($arraypropal) > 0)
{
print '".$langs->trans("ClassifyBilled")."";
}
@@ -511,7 +511,7 @@ if ($_GET["propalid"] > 0)
$var=!$var;
print '
| ';
print ''.img_object($langs->trans("ShowOrder"),"order").' '.$coms[$i]->ref." | \n";
- print ''.dolibarr_print_date($coms[$i]->date).' | ';
+ print ''.dolibarr_print_date($coms[$i]->date,'day').' | ';
print ''.price($coms[$i]->total_ttc).' | ';
print ''.$coms[$i]->getLibStatut(3).' | ';
print "
\n";
@@ -525,19 +525,19 @@ if ($_GET["propalid"] > 0)
/*
* Factures associees
*/
+ // Cas des factures lies directement
$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";
- if (!$conf->commande->enabled)
- {
- $sql .= ", ".MAIN_DB_PREFIX."fa_pr as fp";
- $sql .= " WHERE fp.fk_facture = f.rowid AND fp.fk_propal = ".$propal->id;
- }
- else
- {
- $sql .= ", ".MAIN_DB_PREFIX."co_pr as cp, ".MAIN_DB_PREFIX."co_fa as cf";
- $sql .= " WHERE cp.fk_propale = ".$propal->id." AND cf.fk_commande = cp.fk_commande AND cf.fk_facture = f.rowid";
- }
-
+ $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
+ $sql.= ", ".MAIN_DB_PREFIX."fa_pr as fp";
+ $sql.= " WHERE fp.fk_facture = f.rowid AND fp.fk_propal = ".$propal->id;
+ $sql.= " UNION ";
+ // Cas des factures lier via la commande
+ $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";
+ $sql.= ", ".MAIN_DB_PREFIX."co_pr as cp, ".MAIN_DB_PREFIX."co_fa as cf";
+ $sql.= " WHERE cp.fk_propale = ".$propal->id." AND cf.fk_commande = cp.fk_commande AND cf.fk_facture = f.rowid";
+
+ dolibarr_syslog("propal.php::liste factures sql=".$sql);
$resql = $db->query($sql);
if ($resql)
{
@@ -560,11 +560,11 @@ if ($_GET["propalid"] > 0)
$var=True;
while ($i < $num_fac_asso)
{
- $objp = $db->fetch_object();
+ $objp = $db->fetch_object($resql);
$var=!$var;
print "";
print '| '.img_object($langs->trans("ShowBill"),"bill").' '.$objp->facnumber.' | ';
- print ''.dolibarr_print_date($objp->df).' | ';
+ print ''.dolibarr_print_date($objp->df,'day').' | ';
print ''.price($objp->total).' | ';
print ''.$staticfacture->LibStatut($objp->paye,$objp->fk_statut,3).' | ';
print "
";
@@ -609,7 +609,7 @@ if ($_GET["propalid"] > 0)
$var=!$var;
print '';
print '| '.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.' | ';
- print ''.dolibarr_print_date($objp->da)." | \n";
+ print ''.dolibarr_print_date($objp->da,'dayhour')." | \n";
print ''.stripslashes($objp->label).' | ';
$authoract = new User($db);
$authoract->id = $objp->fk_user_author;
diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php
index fe21ab8fb2d..29d943c5801 100644
--- a/htdocs/lib/functions.inc.php
+++ b/htdocs/lib/functions.inc.php
@@ -202,8 +202,17 @@ function dolibarr_syslog($message, $level=LOG_INFO)
$liblevelarray=array(LOG_ERR=>'ERROR',LOG_WARNING=>'WARN',LOG_INFO=>'INFO',LOG_DEBUG=>'DEBUG');
$liblevel=$liblevelarray[$level];
if (! $liblevel) $liblevel='UNDEF';
- fwrite($file,strftime("%Y-%m-%d %H:%M:%S",time())." ".sprintf("%-5s",$liblevel)." ".$message."\n");
+ $message=strftime("%Y-%m-%d %H:%M:%S",time())." ".sprintf("%-5s",$liblevel)." ".$message;
+ fwrite($file,$message."\n");
fclose($file);
+
+ // If development tag enabled and param log enabled, we show output log on HTML comments
+ if (! empty($conf->global->MAIN_ENABLE_LOG_HTML) && ! empty($_GET["log"]))
+ {
+ print "\n\n\n";
+ }
}
elseif (! defined("SYSLOG_FILE_NO_ERROR"))
{
diff --git a/htdocs/propal.class.php b/htdocs/propal.class.php
index a7d0a182bd3..3d4f05a9cec 100644
--- a/htdocs/propal.class.php
+++ b/htdocs/propal.class.php
@@ -1509,7 +1509,7 @@ class Propal extends CommonObject
}
/**
- * \brief Renvoie un tableau contenant les numéros de factures associées
+ * \brief Renvoie un tableau contenant les id et ref des factures associées
* \param id Id propal
* \return array Tableau des id de factures
*/
@@ -1517,20 +1517,32 @@ class Propal extends CommonObject
{
$ga = array();
- $sql = "SELECT fk_facture FROM ".MAIN_DB_PREFIX."fa_pr as fp";
- $sql .= " WHERE fk_propal = " . $id;
- if ($this->db->query($sql))
+ $sql = "SELECT f.rowid, f.facnumber";
+ $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
+ $sql.= ", ".MAIN_DB_PREFIX."fa_pr as fp";
+ $sql.= " WHERE fp.fk_facture = f.rowid AND fp.fk_propal = ".$id;
+ $sql.= " UNION ";
+ // Cas des factures lier via la commande
+ $sql = "SELECT f.rowid, f.facnumber";
+ $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
+ $sql.= ", ".MAIN_DB_PREFIX."co_pr as cp, ".MAIN_DB_PREFIX."co_fa as cf";
+ $sql.= " WHERE cp.fk_propale = ".$id." AND cf.fk_commande = cp.fk_commande AND cf.fk_facture = f.rowid";
+
+ //$sql = "SELECT fk_facture FROM ".MAIN_DB_PREFIX."fa_pr as fp";
+ //$sql .= " WHERE fk_propal = " . $id;
+ dolibarr_syslog("Propal::InvoiceArrayList sql=".$sql);
+ $resql=$this->db->query($sql);
+ if ($resql)
{
- $nump = $this->db->num_rows();
+ $nump = $this->db->num_rows($resql);
if ($nump)
{
$i = 0;
while ($i < $nump)
{
- $obj = $this->db->fetch_object();
-
- $ga[$i] = $obj->fk_facture;
+ $obj = $this->db->fetch_object($resql);
+ $ga[$obj->rowid] = $obj->facnumber;
$i++;
}
}