Look: Uniformisation prsentation des liens association commandes-factures-propal

This commit is contained in:
Laurent Destailleur 2005-07-14 17:15:11 +00:00
parent 7a21dda0ca
commit 9755bc123e
6 changed files with 382 additions and 326 deletions

View File

@ -41,7 +41,7 @@ if (!$user->rights->propale->lire)
accessforbidden();
if ($conf->projet->enabled) require_once '../project.class.php';
if($conf->commande->enabled) require_once '../commande/commande.class.php';
if ($conf->commande->enabled) require_once '../commande/commande.class.php';
require_once('./propal_model_pdf.class.php');
require_once('../propal.class.php');
require_once('../actioncomm.class.php');
@ -891,19 +891,29 @@ if ($_GET['propalid'])
/*
* Si le module commandes est activé ...
* Commandes rattachées
*/
if($conf->commande->enabled)
{
$nb_commande = sizeof($propal->commande_liste_array());
if ($nb_commande > 0)
$coms = $propal->associated_orders();
if (sizeof($coms) > 0)
{
$coms = $propal->associated_orders();
print '<br><table class="border" width="100%">';
print '<tr><td>Commande(s) rattachée(s)</td></tr>';
for ($i = 0 ; $i < $nb_commande ; $i++)
print '<br>';
print_titre($langs->trans('RelatedOrders'));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Ref").'</td>';
print '<td align="center">'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print '</tr>';
$var=true;
for ($i = 0 ; $i < sizeof($coms) ; $i++)
{
print '<tr><td><a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$coms[$i]->id.'">'.$coms[$i]->ref."</a></td>\n";
$var=!$var;
print '<tr '.$bc[$var].'><td>';
print '<a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$coms[$i]->id.'">'.img_object($langs->trans("ShowOrder"),"order").' '.$coms[$i]->ref."</a></td>\n";
print '<td align="center">'.dolibarr_print_date($coms[$i]->date).'</td>';
print '<td align="right">'.$coms[$i]->total_ttc.'</td>';
print "</tr>\n";
}
print '</table>';
@ -927,11 +937,12 @@ if ($_GET['propalid'])
print_titre($langs->trans('ActionsOnPropal'));
$i = 0;
$total = 0;
$var=true;
print '<table class="border" width="100%">';
print '<tr '.$bc[$var].'><td>'.$langs->trans('Ref').'</td><td>'.$langs->trans('Date').'</td><td>'.$langs->trans('Action').'</td><td>'.$langs->trans('By').'</td></tr>';
print "\n";
$var=true;
while ($i < $num)
{
$objp = $db->fetch_object($result);

View File

@ -612,63 +612,62 @@ else
$var=true;
while ($i < $num)
{
$objp = $db->fetch_object($result);
$var=!$var;
print "<tr $bc[$var]>";
if ($objp->fk_product > 0)
{
print '<td>';
print '<a href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),"product").' '.stripslashes(nl2br($objp->description)).'</a></td>';
}
else
{
print "<td>".stripslashes(nl2br($objp->description))."</td>\n";
}
print '<td align="center">'.$objp->tva_tx.' %</td>';
print '<td align="center">'.$objp->qty.'</td>';
if ($objp->remise_percent > 0)
{
print '<td align="right">'.$objp->remise_percent."%</td>\n";
}
else
{
print '<td>&nbsp;</td>';
}
print '<td align="right">'.price($objp->subprice)."</td>\n";
if ($commande->statut == 0 && $user->rights->commande->creer && $_GET["action"] == '')
{
print '<td align="right"><a href="fiche.php?id='.$id.'&amp;action=editline&amp;rowid='.$objp->rowid.'">';
print img_edit();
print '</a></td>';
print '<td align="right"><a href="fiche.php?id='.$id.'&amp;action=deleteline&amp;lineid='.$objp->rowid.'">';
print img_delete();
print '</a></td>';
}
else
{
print '<td>&nbsp;</td><td>&nbsp;</td>';
}
print "</tr>";
if ($_GET["action"] == 'editline' && $_GET["rowid"] == $objp->rowid)
{
print "<form action=\"fiche.php?id=$id\" method=\"post\">";
print '<input type="hidden" name="action" value="updateligne">';
print '<input type="hidden" name="elrowid" value="'.$_GET["rowid"].'">';
print "<tr $bc[$var]>";
print '<td colspan="2"><textarea name="eldesc" cols="60" rows="2">'.stripslashes($objp->description).'</textarea></td>';
print '<td align="center"><input size="4" type="text" name="elqty" value="'.$objp->qty.'"></td>';
print '<td align="right"><input size="3" type="text" name="elremise_percent" value="'.$objp->remise_percent.'">%</td>';
print '<td align="right"><input size="7" type="text" name="elprice" value="'.price($objp->subprice).'"></td>';
print '<td align="right" colspan="2"><input type="submit" value="'.$langs->trans("Save").'"></td>';
print '</tr>' . "\n";
print "</form>\n";
}
$i++;
$var=!$var;
}
{
$objp = $db->fetch_object($result);
$var=!$var;
print "<tr $bc[$var]>";
if ($objp->fk_product > 0)
{
print '<td>';
print '<a href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),"product").' '.stripslashes(nl2br($objp->description)).'</a></td>';
}
else
{
print "<td>".stripslashes(nl2br($objp->description))."</td>\n";
}
print '<td align="center">'.$objp->tva_tx.'%</td>';
print '<td align="center">'.$objp->qty.'</td>';
if ($objp->remise_percent > 0)
{
print '<td align="right">'.$objp->remise_percent."%</td>\n";
}
else
{
print '<td>&nbsp;</td>';
}
print '<td align="right">'.price($objp->subprice)."</td>\n";
if ($commande->statut == 0 && $user->rights->commande->creer && $_GET["action"] == '')
{
print '<td align="right"><a href="fiche.php?id='.$id.'&amp;action=editline&amp;rowid='.$objp->rowid.'">';
print img_edit();
print '</a></td>';
print '<td align="right"><a href="fiche.php?id='.$id.'&amp;action=deleteline&amp;lineid='.$objp->rowid.'">';
print img_delete();
print '</a></td>';
}
else
{
print '<td>&nbsp;</td><td>&nbsp;</td>';
}
print "</tr>";
if ($_GET["action"] == 'editline' && $_GET["rowid"] == $objp->rowid)
{
print "<form action=\"fiche.php?id=$id\" method=\"post\">";
print '<input type="hidden" name="action" value="updateligne">';
print '<input type="hidden" name="elrowid" value="'.$_GET["rowid"].'">';
print "<tr $bc[$var]>";
print '<td colspan="2"><textarea name="eldesc" cols="60" rows="2">'.stripslashes($objp->description).'</textarea></td>';
print '<td align="center"><input size="4" type="text" name="elqty" value="'.$objp->qty.'"></td>';
print '<td align="right"><input size="3" type="text" name="elremise_percent" value="'.$objp->remise_percent.'">%</td>';
print '<td align="right"><input size="7" type="text" name="elprice" value="'.price($objp->subprice).'"></td>';
print '<td align="right" colspan="2"><input type="submit" value="'.$langs->trans("Save").'"></td>';
print '</tr>' . "\n";
print "</form>\n";
}
$i++;
}
$db->free();
}
else
@ -736,7 +735,8 @@ else
print "</form>";
}
print "</table><br>";
print "</table>";
/*
* Fin Ajout ligne
*
@ -776,7 +776,7 @@ else
$nb_expedition = $commande->nb_expedition();
if ($user->rights->commande->valider && $nb_expedition == 0)
{
print '<a class="butAction" href="fiche.php?id='.$id.'&amp;action=annuler">'.$langs->trans("Cancel").'</a>';
print '<a class="butActionDelete" href="fiche.php?id='.$id.'&amp;action=annuler">'.$langs->trans("CancelOrder").'</a>';
}
}
@ -787,6 +787,75 @@ else
print '<table width="100%"><tr><td width="50%" valign="top">';
/*
* Documents générés
*
*/
$file = $conf->commande->dir_output . "/" . $commande->ref . "/" . $commande->ref . ".pdf";
$relativepath = $commande->ref."/".$commande->ref.".pdf";
$var=true;
if (file_exists($file))
{
print_titre($langs->trans("Documents"));
print '<table width="100%" class="border">';
print "<tr $bc[$var]><td>".$langs->trans("Order")." PDF</td>";
print '<td><a href="'.DOL_URL_ROOT . '/document.php?modulepart=commande&file='.urlencode($relativepath).'">'.$commande->ref.'.pdf</a></td>';
print '<td align="right">'.filesize($file). ' bytes</td>';
print '<td align="right">'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'</td>';
print '</tr>';
print "</table>\n";
print '<br>';
}
/*
* Liste des factures
*/
$sql = "SELECT f.rowid,f.facnumber, f.total_ttc, ".$db->pdate("f.datef")." as df";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."co_fa as cf";
$sql .= " WHERE f.rowid = cf.fk_facture AND cf.fk_commande = ". $commande->id;
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
if ($num)
{
print_titre($langs->trans("RelatedBills"));
$i = 0; $total = 0;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("Ref")."</td>";
print '<td align="center">'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print "</tr>\n";
$var=True;
while ($i < $num)
{
$objp = $db->fetch_object($result);
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="../compta/facture.php?facid='.$objp->rowid.'">'.img_object($langs->trans("ShowBill"),"bill").' '.$objp->facnumber.'</a></td>';
print '<td align="center">'.dolibarr_print_date($objp->df).'</td>';
print '<td align="right">'.$objp->total_ttc.'</td></tr>';
$i++;
}
print "</table>";
}
}
else
{
dolibarr_print_error($db);
}
print '</td><td valign="top" width="50%">';
/*
* Liste des expéditions
*/
@ -822,69 +891,9 @@ else
{
dolibarr_print_error($db);
}
print "&nbsp;</td><td>";
/*
* Liste des factures
*/
$sql = "SELECT f.rowid,f.facnumber,".$db->pdate("f.datef")." as df";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."co_fa as cf";
$sql .= " WHERE f.rowid = cf.fk_facture AND cf.fk_commande = ". $commande->id;
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
if ($num)
{
print_titre($langs->trans("Bills"));
$i = 0; $total = 0;
print '<table class="border" width="100%">';
print "<tr $bc[$var]><td>".$langs->trans("Bill")."</td><td>".$langs->trans("Date")."</td></tr>\n";
$var=True;
while ($i < $num)
{
$objp = $db->fetch_object($result);
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="../compta/facture.php?facid='.$objp->rowid.'">'.img_object($langs->trans("ShowBill"),"bill").' '.$objp->facnumber.'</a></td>';
print "<td>".dolibarr_print_date($objp->df)."</td></tr>\n";
$i++;
}
print "</table>";
}
}
else
{
dolibarr_print_error($db);
}
print "&nbsp;</td></tr></table>";
/*
* Documents générés
*
*/
$file = $conf->commande->dir_output . "/" . $commande->ref . "/" . $commande->ref . ".pdf";
$relativepath = $commande->ref."/".$commande->ref.".pdf";
$var=true;
if (file_exists($file))
{
print "</td></tr></table>";
print_titre($langs->trans("Documents"));
print '<table width="100%" class="border">';
print "<tr $bc[$var]><td>".$langs->trans("Order")." PDF</td>";
print '<td><a href="'.DOL_URL_ROOT . '/document.php?modulepart=commande&file='.urlencode($relativepath).'">'.$commande->ref.'.pdf</a></td>';
print '<td align="right">'.filesize($file). ' bytes</td>';
print '<td align="right">'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'</td>';
print '</tr>';
print "</table>\n";
print '</td><td valign="top" width="50%">';
}
/*
* Classe la commande dans un projet

View File

@ -63,26 +63,26 @@ if ($socidp)
$sql .= " AND c.fk_soc = $socidp";
}
if ( $db->query($sql) )
if ( $db->query($sql) )
{
$langs->load("orders");
$num = $db->num_rows();
if ($num)
$langs->load("orders");
$num = $db->num_rows();
if ($num)
{
$i = 0;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td colspan="2">'.$langs->trans("OrdersToValid").'</td></tr>';
$var = True;
while ($i < $num)
{
$var=!$var;
$obj = $db->fetch_object();
print "<tr $bc[$var]><td width=\"30%\"><a href=\"fiche.php?id=$obj->rowid\">".img_object($langs->trans("ShowOrder"),"order").' '.$obj->ref."</a></td>";
print '<td><a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$obj->idp.'">'.img_object($langs->trans("ShowCompany"),"company").' '.$obj->nom.'</a></td></tr>';
$i++;
}
print "</table><br>";
$i = 0;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td colspan="2">'.$langs->trans("DraftOrders").'</td></tr>';
$var = True;
while ($i < $num)
{
$var=!$var;
$obj = $db->fetch_object();
print "<tr $bc[$var]><td nowrap><a href=\"fiche.php?id=$obj->rowid\">".img_object($langs->trans("ShowOrder"),"order").' '.$obj->ref."</a></td>";
print '<td><a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$obj->idp.'">'.img_object($langs->trans("ShowCompany"),"company").' '.dolibarr_trunc($obj->nom,24).'</a></td></tr>';
$i++;
}
print "</table><br>";
}
}

View File

@ -211,11 +211,11 @@ if ($_GET["id"] > 0)
{
print "<td>".stripslashes(nl2br($objp->description))."</td>\n";
}
print '<td align="center">'.$objp->tva_tx.' %</td>';
print '<td align="center">'.$objp->tva_tx.'%</td>';
print '<td align="center">'.$objp->qty.'</td>';
if ($objp->remise_percent > 0)
{
print '<td align="right">'.$objp->remise_percent." %</td>\n";
print '<td align="right">'.$objp->remise_percent."%</td>\n";
}
else
{
@ -226,7 +226,6 @@ if ($_GET["id"] > 0)
print "</tr>";
$i++;
$var=!$var;
}
$db->free($result);
}
@ -236,11 +235,8 @@ if ($_GET["id"] > 0)
}
print '</table>';
/*
*
*
*/
print '<br></div>';
print '</div>';
/*
* Barre d'actions
@ -264,6 +260,8 @@ if ($_GET["id"] > 0)
}
print "<table width=\"100%\"><tr><td width=\"50%\" valign=\"top\">";
/*
* Documents générés
@ -276,7 +274,6 @@ if ($_GET["id"] > 0)
if (file_exists($file))
{
print "<table width=\"100%\" cellspacing=2><tr><td width=\"50%\" valign=\"top\">";
print_titre($langs->trans("Documents"));
print '<table width="100%" class="border">';
@ -287,75 +284,89 @@ if ($_GET["id"] > 0)
print '</tr>';
print "</table>\n";
print '</td><td valign="top" width="50%">';
/*
*
*
*/
print "</td></tr></table>";
}
/*
* Factures associees
*/
$sql = "SELECT f.facnumber, f.total,".$db->pdate("f.datef")." as df, f.rowid as facid, f.fk_user_author, f.paye";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."co_fa as fp WHERE fp.fk_facture = f.rowid AND fp.fk_commande = ".$commande->id;
if ($db->query($sql))
{
$num_fac_asso = $db->num_rows();
$i = 0; $total = 0;
/*
* Liste des factures
*/
$sql = "SELECT f.rowid,f.facnumber, f.total_ttc, ".$db->pdate("f.datef")." as df";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."co_fa as cf";
$sql .= " WHERE f.rowid = cf.fk_facture AND cf.fk_commande = ". $commande->id;
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
if ($num)
{
print '<br>';
print_titre($langs->trans("RelatedBills"));
$i = 0; $total = 0;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("Ref")."</td>";
print '<td align="center">'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print "</tr>\n";
$var=True;
while ($i < $num)
{
$objp = $db->fetch_object($result);
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="../compta/facture.php?facid='.$objp->rowid.'">'.img_object($langs->trans("ShowBill"),"bill").' '.$objp->facnumber.'</a></td>';
print '<td align="center">'.dolibarr_print_date($objp->df).'</td>';
print '<td align="right">'.$objp->total_ttc.'</td></tr>';
$i++;
}
print "</table>";
}
}
else
{
dolibarr_print_error($db);
}
if ($num_fac_asso)
{
$var=false;
print "<br>";
print '</td><td valign="top" width="50%">';
print_titre($langs->trans("Bills"));
print '<table class="border" width="100%">';
print "<tr $bc[$var]><td>".$langs->trans("Ref").'</td><td>'.$langs->trans("Date").'</td><td>'.$langs->trans("Author").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print "</tr>\n";
$var=True;
while ($i < $num_fac_asso)
{
$objp = $db->fetch_object();
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="'.DOL_URL_ROOT.'/compta/facture.php?facid='.$objp->facid.'">'.img_object($langs->trans("ShowBill"),"bill").' '.$objp->facnumber.'</a>';
if ($objp->paye)
{
print " (<b>pay&eacute;e</b>)";
}
print "</td>\n";
print "<td>".dolibarr_print_date($objp->df)."</td>\n";
if ($objp->fk_user_author <> $user->id)
{
$fuser = new User($db, $objp->fk_user_author);
$fuser->fetch();
print "<td>".$fuser->fullname."</td>\n";
}
else
{
print "<td>".$user->fullname."</td>\n";
}
print '<td align="right">'.price($objp->total).'</td>';
print "</tr>";
$total = $total + $objp->total;
$i++;
}
print "<tr $bc[$var]><td align=\"right\" colspan=\"4\">".$langs->trans("TotalHT").": <b>$total</b> ".$langs->trans("Currency".$conf->monnaie)."</td></tr>\n";
print "</table>";
}
$db->free();
}
else
{
dolibarr_print_error($db);
}
/*
* Liste des expéditions
*/
$sql = "SELECT e.rowid,e.ref,".$db->pdate("e.date_expedition")." as de";
$sql .= " FROM ".MAIN_DB_PREFIX."expedition as e";
$sql .= " WHERE e.fk_commande = ". $commande->id;
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
if ($num)
{
print_titre($langs->trans("Sendings"));
$i = 0; $total = 0;
print '<table class="border" width="100%">';
print "<tr $bc[$var]><td>".$langs->trans("Sendings")."</td><td>".$langs->trans("Date")."</td></tr>\n";
$var=True;
while ($i < $num)
{
$objp = $db->fetch_object($result);
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="../expedition/fiche.php?id='.$objp->rowid.'">'.img_object($langs->trans("ShowSending"),"sending").' '.$objp->ref.'</a></td>';
print "<td>".dolibarr_print_date($objp->de)."</td></tr>\n";
$i++;
}
print "</table>";
}
}
else
{
dolibarr_print_error($db);
}
print "</td></tr></table>";
}
else

View File

@ -1311,25 +1311,21 @@ else
}
print '<table width="100%"><tr><td width="50%" valign="top">';
/*
* Documents générés
*
* Le fichier de facture détaillée est de la forme
*
* REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse
*
*/
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
$file = $conf->facture->dir_output . "/" . $facref . "/" . $facref . ".pdf";
$relativepath = "${facref}/${facref}.pdf";
$var=true;
print '<table width="100%"><tr><td width="50%" valign="top">';
if (file_exists($file))
{
print "<br>\n";
@ -1363,6 +1359,53 @@ else
print "</table>\n";
}
/*
* Propales
*/
$sql = "SELECT ".$db->pdate("p.datep")." as dp, p.price, p.ref, p.rowid as propalid";
$sql .= " FROM ".MAIN_DB_PREFIX."propal as p, ".MAIN_DB_PREFIX."fa_pr as fp WHERE fp.fk_propal = p.rowid AND fp.fk_facture = $fac->id";
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
if ($num)
{
$i = 0; $total = 0;
print "<br>";
print_titre($langs->trans("RelatedCommercialProposals"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Ref").'</td>';
print '<td>'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print "</tr>\n";
$var=True;
while ($i < $num)
{
$objp = $db->fetch_object($resql);
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="propal.php?propalid='.$objp->propalid.'">'.img_object($langs->trans("ShowPropal"),"propal").' '.$objp->ref.'</a></td>';
print "<td>".dolibarr_print_date($objp->dp)."</td>\n";
print '<td align="right">'.price($objp->price).'</td>';
print "</tr>";
$total = $total + $objp->price;
$i++;
}
print "<tr class=\"liste_total\"><td>&nbsp;</td><td align=\"left\">".$langs->trans("TotalHT")."</td><td align=\"right\">".price($total)."</td></tr>\n";
print "</table>";
}
}
else
{
dolibarr_print_error($db);
}
print '</td><td valign="top" width="50%">';
/*
@ -1506,51 +1549,6 @@ else
print '<br>';
}
/*
* Propales
*/
$sql = "SELECT ".$db->pdate("p.datep")." as dp, p.price, p.ref, p.rowid as propalid";
$sql .= " FROM ".MAIN_DB_PREFIX."propal as p, ".MAIN_DB_PREFIX."fa_pr as fp WHERE fp.fk_propal = p.rowid AND fp.fk_facture = $fac->id";
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
if ($num)
{
$i = 0; $total = 0;
print "<br>";
print_titre($langs->trans("RelatedCommercialProposals"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Ref").'</td>';
print '<td>'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print "</tr>\n";
$var=True;
while ($i < $num)
{
$objp = $db->fetch_object($resql);
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="propal.php?propalid='.$objp->propalid.'">'.img_object($langs->trans("ShowPropal"),"propal").' '.$objp->ref.'</a></td>';
print "<td>".dolibarr_print_date($objp->dp)."</td>\n";
print '<td align="right">'.price($objp->price).'</td>';
print "</tr>";
$total = $total + $objp->price;
$i++;
}
print "<tr class=\"liste_total\"><td>&nbsp;</td><td align=\"left\">".$langs->trans("TotalHT")."</td><td align=\"right\">".price($total)."</td></tr>\n";
print "</table>";
}
}
else
{
dolibarr_print_error($db);
}
}
else
{

View File

@ -32,9 +32,9 @@ require("./pre.inc.php");
$user->getrights('facture');
$user->getrights('propale');
if (!$user->rights->propale->lire)
accessforbidden();
accessforbidden();
if ($conf->commande->enabled) require_once '../commande/commande.class.php';
require_once(DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
require_once("../project.class.php");
require_once("../propal.class.php");
@ -486,6 +486,37 @@ if ($_GET["propalid"])
print '</form>';
}
/*
* Commandes rattachées
*/
if($conf->commande->enabled)
{
$coms = $propal->associated_orders();
if (sizeof($coms) > 0)
{
print '<br>';
print_titre($langs->trans('RelatedOrders'));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Ref").'</td>';
print '<td align="center">'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print '</tr>';
$var=true;
for ($i = 0 ; $i < sizeof($coms) ; $i++)
{
$var=!$var;
print '<tr '.$bc[$var].'><td>';
print '<a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$coms[$i]->id.'">'.img_object($langs->trans("ShowOrder"),"order").' '.$coms[$i]->ref."</a></td>\n";
print '<td align="center">'.dolibarr_print_date($coms[$i]->date).'</td>';
print '<td align="right">'.$coms[$i]->total_ttc.'</td>';
print "</tr>\n";
}
print '</table>';
}
}
/*
* Factures associees
@ -504,8 +535,7 @@ if ($_GET["propalid"])
print '<table class="noborder" width="100%">';
print "<tr class=\"liste_titre\">";
print '<td>'.$langs->trans("Ref").'</td>';
print '<td>'.$langs->trans("Date").'</td>';
print '<td>'.$langs->trans("Author").'</td>';
print '<td align="center">'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td>';
print "</tr>\n";
@ -521,68 +551,65 @@ if ($_GET["propalid"])
print " (<b>pay&eacute;e</b>)";
}
print "</td>\n";
print "<td>".dolibarr_print_date($objp->df)."</td>\n";
if ($objp->fk_user_author <> $user->id)
{
$fuser = new User($db, $objp->fk_user_author);
$fuser->fetch();
print "<td>".$fuser->fullname."</td>\n";
}
else
{
print "<td>".$user->fullname."</td>\n";
}
print '<td align="center">'.dolibarr_print_date($objp->df).'</td>';
print '<td align="right">'.price($objp->total).'</td>';
print "</tr>";
$total = $total + $objp->total;
$i++;
}
print "<tr class=\"liste_total\"><td align=\"right\" colspan=\"3\">".$langs->trans("TotalHT")."</td><td align=\"right\">".price($total)."</td></tr>\n";
print "<tr class=\"liste_total\"><td align=\"right\" colspan=\"2\">".$langs->trans("TotalHT")."</td><td align=\"right\">".price($total)."</td></tr>\n";
print "</table>";
$db->free();
}
/*
* Commandes associées
*/
if($conf->commande->enabled)
{
$nb_commande = sizeof($propal->commande_liste_array());
if ($nb_commande > 0)
{
$coms = $propal->commande_liste_array();
print '<br><table class="border" width="100%">';
if ($nb_commande == 1)
{
print "<tr><td>Commande rattachée : ";
print '<a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$coms[$i].'">';
print img_file();
print '</a>&nbsp;<a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$coms[$i].'">'.$coms[$i]."</a>";
print "</td></tr>\n";
}
else
{
print "<tr><td>Commandes rattachées</td></tr>\n";
for ($i = 0 ; $i < $nb_commande ; $i++)
{
print '<tr><td><a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$coms[$i].'">'.$coms[$i]."</a></td>\n";
print "</tr>\n";
}
}
print "</table>";
}
}
print '</td><td valign="top" width="50%">';
// \todo Mettre ici les traces des envois par mail
/*
* Liste des actions propres à la propal
*/
$sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
$sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
$sql .= ' WHERE a.fk_soc = '.$obj->idp.' AND a.propalrowid = '.$propal->id ;
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
if ($num)
{
print_titre($langs->trans('ActionsOnPropal'));
$i = 0;
$total = 0;
$var=true;
print '<table class="border" width="100%">';
print '<tr '.$bc[$var].'><td>'.$langs->trans('Ref').'</td><td>'.$langs->trans('Date').'</td><td>'.$langs->trans('Action').'</td><td>'.$langs->trans('By').'</td></tr>';
print "\n";
while ($i < $num)
{
$objp = $db->fetch_object($result);
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td><a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$objp->id.'">'.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.'</a></td>';
print '<td>'.dolibarr_print_date($objp->da)."</td>\n";
print '<td>'.stripslashes($objp->label).'</td>';
$authoract = new User($db);
$authoract->id = $objp->fk_user_author;
$authoract->fetch('');
print '<td>'.$authoract->code.'</td>';
print "</tr>\n";
$i++;
}
print '</table>';
}
}
else
{
dolibarr_print_error($db);
}
print '</td></tr></table>';