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++; } }