Merge branch '7.0' of git@github.com:Dolibarr/dolibarr.git into 8.0

Conflicts:
	htdocs/product/stats/commande.php
	htdocs/product/stats/commande_fournisseur.php
	htdocs/product/stats/contrat.php
	htdocs/product/stats/facture.php
	htdocs/product/stats/facture_fournisseur.php
	htdocs/product/stats/propal.php
	htdocs/product/stats/supplier_proposal.php
This commit is contained in:
Laurent Destailleur 2018-07-05 15:57:27 +02:00
commit b369585e61
7 changed files with 159 additions and 151 deletions

View File

@ -48,11 +48,13 @@ $hookmanager->initHooks(array('productstatsorder'));
$mesg = '';
// Load variable for pagination
$limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit;
$sortfield = GETPOST("sortfield",'alpha');
$sortorder = GETPOST("sortorder",'alpha');
$page = GETPOST("page",'int');
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $conf->liste_limit * $page;
$offset = $limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) $sortorder="DESC";
@ -111,7 +113,7 @@ if ($id > 0 || ! empty($ref))
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
show_stats_for_company($product,$socid);
$nboflines = show_stats_for_company($product, $socid);
print "</table>";
@ -141,24 +143,21 @@ if ($id > 0 || ! empty($ref))
$sql.= ' AND YEAR(c.date_commande) IN (' . $search_year . ')';
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if ($socid) $sql.= " AND c.fk_soc = ".$socid;
$sql.= " ORDER BY $sortfield $sortorder ";
$sql.= $db->order($sortfield, $sortorder);
//Calcul total qty and amount for global if full scan list
$total_ht=0;
$total_qty=0;
$totalrecords=0;
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
// Count total nb of records
$totalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
if ($result) {
$totalrecords = $db->num_rows($result);
while ($objp = $db->fetch_object($result)) {
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
}
}
$totalofrecords = $db->num_rows($result);
}
$sql.= $db->plimit($conf->liste_limit +1, $offset);
$sql .= $db->plimit($limit + 1, $offset);
$result = $db->query($sql);
if ($result)
@ -171,6 +170,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;search_month='.$search_month;
if (! empty($search_year))
$option .= '&amp;search_year='.$search_year;
if ($limit > 0 && $limit != $conf->liste_limit) $option.='&limit='.urlencode($limit);
print '<form method="post" action="' . $_SERVER ['PHP_SELF'] . '?id='.$product->id.'" name="search_form">' . "\n";
if (! empty($sortfield))
@ -182,7 +182,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;page=' . $page;
}
print_barre_liste($langs->trans("CustomersOrders"),$page,$_SERVER["PHP_SELF"],"&amp;id=$product->id",$sortfield,$sortorder,'',$num,$totalrecords,'');
print_barre_liste($langs->trans("CustomersOrders"), $page, $_SERVER["PHP_SELF"], "&amp;id=".$product->id, $sortfield, $sortorder, '', $num, $totalofrecords, '', 0, '', '', $limit);
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print '<div class="divsearchfield">';
print $langs->trans('Period').' ('.$langs->trans("OrderDate") .') - ';
@ -210,18 +210,22 @@ if ($id > 0 || ! empty($ref))
if ($num > 0)
{
while ($i < $num && $i < $conf->liste_limit)
while ($i < min($num, $limit))
{
$objp = $db->fetch_object($result);
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
$orderstatic->id=$objp->commandeid;
$orderstatic->ref=$objp->ref;
$orderstatic->ref_client=$objp->ref_client;
$societestatic->fetch($objp->socid);
print '<tr class="oddeven">';
print '<td>';
$orderstatic->id=$objp->commandeid;
$orderstatic->ref=$objp->ref;
$orderstatic->ref_client=$objp->ref_client;
print $orderstatic->getNomUrl(1);
print "</td>\n";
$societestatic->fetch($objp->socid);
print '<td>'.$societestatic->getNomUrl(1).'</td>';
print "<td>".$objp->code_client."</td>\n";
print '<td align="center">';
@ -231,15 +235,11 @@ if ($id > 0 || ! empty($ref))
print '<td align="right">'.$orderstatic->LibStatut($objp->statut,$objp->facture,5).'</td>';
print "</tr>\n";
$i++;
if (!empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
}
}
}
print '<tr class="liste_total">';
print '<td>' . $langs->trans('Total') . '</td>';
if ($num < $limit) print '<td align="left">'.$langs->trans("Total").'</td>';
else print '<td align="left">'.$langs->trans("Totalforthispage").'</td>';
print '<td colspan="3"></td>';
print '<td align="center">'.$total_qty.'</td>';
print '<td align="right">'.price($total_ht).'</td>';

View File

@ -118,7 +118,7 @@ if ($id > 0 || ! empty($ref)) {
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
show_stats_for_company($product, $socid);
$nboflines = show_stats_for_company($product, $socid);
print "</table>";
@ -152,24 +152,21 @@ if ($id > 0 || ! empty($ref)) {
$sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id;
if ($socid)
$sql .= " AND c.fk_soc = " . $socid;
$sql .= " ORDER BY $sortfield $sortorder ";
$sql.= $db->order($sortfield, $sortorder);
// Calcul total qty and amount for global if full scan list
$total_ht = 0;
$total_qty = 0;
$totalrecords = 0;
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
// Count total nb of records
$totalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
if ($result) {
$totalrecords = $db->num_rows($result);
while ( $objp = $db->fetch_object($result) ) {
$total_ht += $objp->total_ht;
$total_qty += $objp->qty;
}
}
$totalofrecords = $db->num_rows($result);
}
$sql .= $db->plimit($conf->liste_limit + 1, $offset);
$sql .= $db->plimit($limit + 1, $offset);
$result = $db->query($sql);
if ($result) {
@ -181,6 +178,7 @@ if ($id > 0 || ! empty($ref)) {
$option .= '&amp;search_month=' . $search_month;
if (! empty($search_year))
$option .= '&amp;search_year=' . $search_year;
if ($limit > 0 && $limit != $conf->liste_limit) $option.='&limit='.urlencode($limit);
print '<form method="post" action="' . $_SERVER['PHP_SELF'] . '?id=' . $product->id . '" name="search_form">' . "\n";
if (! empty($sortfield))
@ -192,7 +190,7 @@ if ($id > 0 || ! empty($ref)) {
$option .= '&amp;page=' . $page;
}
print_barre_liste($langs->trans("SuppliersOrders"), $page, $_SERVER["PHP_SELF"], "&amp;id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, '');
print_barre_liste($langs->trans("SuppliersOrders"), $page, $_SERVER["PHP_SELF"], "&amp;id=".$product->id, $sortfield, $sortorder, '', $num, $totalofrecords, '', 0, '', '', $limit);
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print '<div class="divsearchfield">';
print $langs->trans('Period') . ' (' . $langs->trans("OrderDate") . ') - ';
@ -218,19 +216,24 @@ if ($id > 0 || ! empty($ref)) {
print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "c.fk_statut", "", $option, 'align="right"', $sortfield, $sortorder);
print "</tr>\n";
if ($num > 0) {
while ( $i < $num && $i < $conf->liste_limit ) {
if ($num > 0)
{
while ($i < min($num, $limit))
{
$objp = $db->fetch_object($result);
print '<tr class="oddeven">';
print '<td>';
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
$supplierorderstatic->id = $objp->commandeid;
$supplierorderstatic->ref = $objp->ref;
$supplierorderstatic->statut = $objp->statut;
$societestatic->fetch($objp->socid);
print '<tr class="oddeven">';
print '<td>';
print $supplierorderstatic->getNomUrl(1);
print "</td>\n";
$societestatic->fetch($objp->socid);
print '<td>' . $societestatic->getNomUrl(1) . '</td>';
print "<td>" . $objp->code_client . "</td>\n";
print '<td align="center">';
@ -239,16 +242,12 @@ if ($id > 0 || ! empty($ref)) {
print '<td align="right">' . price($objp->total_ht) . "</td>\n";
print '<td align="right">' . $supplierorderstatic->getLibStatut(4) . '</td>';
print "</tr>\n";
$i ++;
if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$total_ht += $objp->total_ht;
$total_qty += $objp->qty;
}
$i++;
}
}
print '<tr class="liste_total">';
print '<td>' . $langs->trans('Total') . '</td>';
if ($num < $limit) print '<td align="left">'.$langs->trans("Total").'</td>';
else print '<td align="left">'.$langs->trans("Totalforthispage").'</td>';
print '<td colspan="3"></td>';
print '<td align="center">' . $total_qty . '</td>';
print '<td align="right">' . price($total_ht) . '</td>';

View File

@ -45,11 +45,13 @@ $hookmanager->initHooks(array('productstatscontract'));
$mesg = '';
// Load variable for pagination
$limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit;
$sortfield = GETPOST("sortfield",'alpha');
$sortorder = GETPOST("sortorder",'alpha');
$page = GETPOST("page",'int');
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $conf->liste_limit * $page;
$offset = $limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) $sortorder="DESC";
@ -101,7 +103,7 @@ if ($id > 0 || ! empty($ref))
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
show_stats_for_company($product,$socid);
$nboflines = show_stats_for_company($product,$socid);
print "</table>";
@ -132,7 +134,20 @@ if ($id > 0 || ! empty($ref))
if ($socid) $sql.= " AND s.rowid = ".$socid;
$sql.= " GROUP BY c.rowid, c.ref, c.ref_customer, c.ref_supplier, c.date_contrat, c.statut, s.nom, s.rowid, s.code_client";
$sql.= $db->order($sortfield, $sortorder);
$sql.= $db->plimit($conf->liste_limit +1, $offset);
//Calcul total qty and amount for global if full scan list
$total_ht=0;
$total_qty=0;
// Count total nb of records
$totalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
$totalofrecords = $db->num_rows($result);
}
$sql .= $db->plimit($limit + 1, $offset);
$result = $db->query($sql);
if ($result)
@ -144,6 +159,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;search_month=' . $search_month;
if (! empty($search_year))
$option .= '&amp;search_year=' . $search_year;
if ($limit > 0 && $limit != $conf->liste_limit) $option.='&limit='.urlencode($limit);
print '<form method="post" action="' . $_SERVER['PHP_SELF'] . '?id=' . $product->id . '" name="search_form">' . "\n";
if (! empty($sortfield))
@ -155,7 +171,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;page=' . $page;
}
print_barre_liste($langs->trans("Contrats"),$page,$_SERVER["PHP_SELF"],"&amp;id=$product->id",$sortfield,$sortorder,'',$num,0,'');
print_barre_liste($langs->trans("Contrats"), $page, $_SERVER["PHP_SELF"], "&amp;id=".$product->id, $sortfield, $sortorder, '', $num, $totalofrecords, '', 0, '', '', $limit);
$i = 0;
print '<div class="div-table-responsive">';
@ -176,7 +192,7 @@ if ($id > 0 || ! empty($ref))
if ($num > 0)
{
while ($i < $num && $i < $conf->liste_limit)
while ($i < min($num, $limit))
{
$objp = $db->fetch_object($result);

View File

@ -49,15 +49,18 @@ $hookmanager->initHooks(array('productstatsinvoice'));
$showmessage=GETPOST('showmessage');
// Load variable for pagination
$limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit;
$sortfield = GETPOST("sortfield",'alpha');
$sortorder = GETPOST("sortorder",'alpha');
$page = GETPOST("page",'int');
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $conf->liste_limit * $page;
$offset = $limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) $sortorder="DESC";
if (! $sortfield) $sortfield="f.datef";
$search_month = GETPOST('search_month', 'aplha');
$search_year = GETPOST('search_year', 'int');
@ -128,7 +131,7 @@ if ($id > 0 || ! empty($ref))
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
$nboflines = show_stats_for_company($product,$socid);
$nboflines = show_stats_for_company($product, $socid);
print "</table>";
@ -163,25 +166,19 @@ if ($id > 0 || ! empty($ref))
if ($socid) $sql.= " AND f.fk_soc = ".$socid;
$sql.= $db->order($sortfield, $sortorder);
//Calcul total qty and amount for global if full scan list
// Calcul total qty and amount for global if full scan list
$total_ht=0;
$total_qty=0;
$totalrecords=0;
// Count total nb of records
$totalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
if ($result)
{
$totalrecords = $db->num_rows($result);
while ($objp = $db->fetch_object($result))
{
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
}
}
$totalofrecords = $db->num_rows($result);
}
$sql.= $db->plimit($conf->liste_limit + 1, $offset);
$sql.= $db->plimit($limit + 1, $offset);
$result = $db->query($sql);
if ($result)
@ -193,7 +190,8 @@ if ($id > 0 || ! empty($ref))
if (! empty($search_month))
$option .= '&amp;search_month='.$search_month;
if (! empty($search_year))
$option .= '&amp;search_year='.$search_year;
$option .= '&amp;search_year='.$search_year;
if ($limit > 0 && $limit != $conf->liste_limit) $option.='&limit='.urlencode($limit);
print '<form method="post" action="' . $_SERVER ['PHP_SELF'] . '?id='.$product->id.'" name="search_form">' . "\n";
if (! empty($sortfield))
@ -205,7 +203,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;page=' . $page;
}
print_barre_liste($langs->trans("CustomersInvoices"),$page,$_SERVER["PHP_SELF"],"&amp;id=".$product->id,$sortfield,$sortorder,'',$num,$totalrecords,'');
print_barre_liste($langs->trans("CustomersInvoices"), $page, $_SERVER["PHP_SELF"],"&amp;id=".$product->id, $sortfield, $sortorder, '', $num, $totalofrecords, '', 0, '', '', $limit);
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print '<div class="divsearchfield">';
print $langs->trans('Period').' ('.$langs->trans("DateInvoice") .') - ';
@ -233,10 +231,13 @@ if ($id > 0 || ! empty($ref))
if ($num > 0)
{
while ($i < min($num,$conf->liste_limit))
while ($i < min($num, $limit))
{
$objp = $db->fetch_object($result);
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
$invoicestatic->id=$objp->facid;
$invoicestatic->ref=$objp->facnumber;
$societestatic->fetch($objp->socid);
@ -255,15 +256,11 @@ if ($id > 0 || ! empty($ref))
print '<td align="right">'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5,$paiement,$objp->type).'</td>';
print "</tr>\n";
$i++;
if (!empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
}
}
}
print '<tr class="liste_total">';
print '<td>' . $langs->trans('Total') . '</td>';
if ($num < $limit) print '<td align="left">'.$langs->trans("Total").'</td>';
else print '<td align="left">'.$langs->trans("Totalforthispage").'</td>';
print '<td colspan="3"></td>';
print '<td align="center">'.$total_qty.'</td>';
print '<td align="right">'.price($total_ht).'</td>';

View File

@ -49,11 +49,13 @@ $hookmanager->initHooks(array('productstatssupplyinvoice'));
$mesg = '';
// Load variable for pagination
$limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit;
$sortfield = GETPOST("sortfield", 'alpha');
$sortorder = GETPOST("sortorder", 'alpha');
$page = GETPOST("page", 'int');
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $conf->liste_limit * $page;
$offset = $limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) $sortorder = "DESC";
@ -112,7 +114,7 @@ if ($id > 0 || ! empty($ref))
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
show_stats_for_company($product, $socid);
$nboflines = show_stats_for_company($product, $socid);
print "</table>";
@ -147,19 +149,16 @@ if ($id > 0 || ! empty($ref))
// Calcul total qty and amount for global if full scan list
$total_ht = 0;
$total_qty = 0;
$totalrecords = 0;
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
// Count total nb of records
$totalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
if ($result) {
$totalrecords = $db->num_rows($result);
while ( $objp = $db->fetch_object($result) ) {
$total_ht += $objp->total_ht;
$total_qty += $objp->qty;
}
}
$totalofrecords = $db->num_rows($result);
}
$sql .= $db->plimit($conf->liste_limit + 1, $offset);
$sql.= $db->plimit($limit + 1, $offset);
$result = $db->query($sql);
if ($result)
@ -172,6 +171,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;search_month=' . $search_month;
if (! empty($search_year))
$option .= '&amp;search_year=' . $search_year;
if ($limit > 0 && $limit != $conf->liste_limit) $option.='&limit='.urlencode($limit);
print '<form method="post" action="' . $_SERVER['PHP_SELF'] . '?id=' . $product->id . '" name="search_form">' . "\n";
if (! empty($sortfield))
@ -183,7 +183,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;page=' . $page;
}
print_barre_liste($langs->trans("SuppliersInvoices"), $page, $_SERVER["PHP_SELF"], "&amp;id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, '');
print_barre_liste($langs->trans("SuppliersInvoices"), $page, $_SERVER["PHP_SELF"], "&amp;id=$product->id", $sortfield, $sortorder, '', $num, $totalofrecords, '', 0, '', '', $limit);
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print '<div class="divsearchfield">';
print $langs->trans('Period') . ' (' . $langs->trans("DateInvoice") . ') - ';
@ -211,10 +211,13 @@ if ($id > 0 || ! empty($ref))
if ($num > 0)
{
while ($i < $num && $i < $conf->liste_limit)
while ($i < min($num, $limit))
{
$objp = $db->fetch_object($result);
$total_ht+=$objp->total_ht;
$total_qty+=$objp->qty;
$supplierinvoicestatic->id = $objp->facid;
$supplierinvoicestatic->ref = $objp->ref;
$supplierinvoicestatic->ref_supplier = $objp->ref_supplier;
@ -222,12 +225,13 @@ if ($id > 0 || ! empty($ref))
$supplierinvoicestatic->total_ht = $objp->total_ht;
$supplierinvoicestatic->total_ttc = $objp->total_ttc;
$supplierinvoicestatic->total_tva = $objp->total_tva;
$supplierinvoicestatic->ref = $objp->facnumber;
$societestatic->fetch($objp->socid);
print '<tr class="oddeven">';
print '<td>';
print $supplierinvoicestatic->getNomUrl(1);
print "</td>\n";
$societestatic->fetch($objp->socid);
print '<td>' . $societestatic->getNomUrl(1) . '</td>';
print "<td>" . $objp->code_client . "</td>\n";
print '<td align="center">';
@ -236,16 +240,12 @@ if ($id > 0 || ! empty($ref))
print '<td align="right">' . price($objp->total_ht) . "</td>\n";
print '<td align="right">' . $supplierinvoicestatic->LibStatut($objp->paye, $objp->statut, 5) . '</td>';
print "</tr>\n";
$i ++;
if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$total_ht += $objp->total_ht;
$total_qty += $objp->qty;
}
$i++;
}
}
print '<tr class="liste_total">';
print '<td>' . $langs->trans('Total') . '</td>';
if ($num < $limit) print '<td align="left">'.$langs->trans("Total").'</td>';
else print '<td align="left">'.$langs->trans("Totalforthispage").'</td>';
print '<td colspan="3"></td>';
print '<td align="center">' . $total_qty . '</td>';
print '<td align="right">' . price($total_ht) . '</td>';

View File

@ -114,7 +114,7 @@ if ($id > 0 || ! empty($ref))
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
show_stats_for_company($product, $socid);
$nboflines = show_stats_for_company($product, $socid);
print "</table>";
@ -148,24 +148,21 @@ if ($id > 0 || ! empty($ref))
$sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id;
if ($socid)
$sql .= " AND p.fk_soc = " . $socid;
$sql .= " ORDER BY $sortfield $sortorder ";
$sql.= $db->order($sortfield, $sortorder);
// Calcul total qty and amount for global if full scan list
$total_ht = 0;
$total_qty = 0;
$totalrecords = 0;
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
// Count total nb of records
$totalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
if ($result) {
$totalrecords = $db->num_rows($result);
while ( $objp = $db->fetch_object($result) ) {
$total_ht += $objp->amount;
$total_qty += $objp->qty;
}
}
$totalofrecords = $db->num_rows($result);
}
$sql .= $db->plimit($conf->liste_limit + 1, $offset);
$sql .= $db->plimit($limit + 1, $offset);
$result = $db->query($sql);
if ($result)
@ -178,6 +175,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;search_month=' . $search_month;
if (! empty($search_year))
$option .= '&amp;search_year=' . $search_year;
if ($limit > 0 && $limit != $conf->liste_limit) $option.='&limit='.urlencode($limit);
print '<form method="post" action="' . $_SERVER['PHP_SELF'] . '?id=' . $product->id . '" name="search_form">' . "\n";
if (! empty($sortfield))
@ -189,7 +187,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;page=' . $page;
}
print_barre_liste($langs->trans("Proposals"), $page, $_SERVER["PHP_SELF"], "&amp;id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, '');
print_barre_liste($langs->trans("Proposals"), $page, $_SERVER["PHP_SELF"], "&amp;id=".$product->id, $sortfield, $sortorder, '', $num, $totalofrecords, '', 0, '', '', $limit);
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print '<div class="divsearchfield">';
print $langs->trans('Period') . ' (' . $langs->trans("DatePropal") . ') - ';
@ -216,18 +214,22 @@ if ($id > 0 || ! empty($ref))
if ($num > 0)
{
while ($i < $num && $i < $conf->liste_limit)
while ($i < min($num, $limit))
{
$objp = $db->fetch_object($result);
print '<tr class="oddeven">';
print '<td>';
$total_ht+=$objp->amount;
$total_qty+=$objp->qty;
$propalstatic->id=$objp->propalid;
$propalstatic->ref=$objp->ref;
$propalstatic->ref_client=$objp->ref_client;
print $propalstatic->getNomUrl(1);
print "</td>\n";
$societestatic->fetch($objp->socid);
print '<tr class="oddeven">';
print '<td>';
print $propalstatic->getNomUrl(1);
print "</td>\n";
print '<td>'.$societestatic->getNomUrl(1).'</td>';
print '<td align="center">';
print dol_print_date($db->jdate($objp->datep), 'dayhour') . "</td>";
@ -235,17 +237,13 @@ if ($id > 0 || ! empty($ref))
print '<td align="right">' . price($objp->amount) . '</td>' . "\n";
print '<td align="right">' . $propalstatic->LibStatut($objp->statut, 5) . '</td>';
print "</tr>\n";
$i ++;
if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$total_ht += $objp->total_ht;
$total_qty += $objp->qty;
}
$i++;
}
}
print '<tr class="liste_total">';
print '<td>' . $langs->trans('Total') . '</td>';
if ($num < $limit) print '<td align="left">'.$langs->trans("Total").'</td>';
else print '<td align="left">'.$langs->trans("Totalforthispage").'</td>';
print '<td colspan="2"></td>';
print '<td align="center">' . $total_qty . '</td>';
print '<td align="right">' . price($total_ht) . '</td>';

View File

@ -114,7 +114,7 @@ if ($id > 0 || ! empty($ref))
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
show_stats_for_company($product, $socid);
$nboflines = show_stats_for_company($product, $socid);
print "</table>";
@ -148,24 +148,21 @@ if ($id > 0 || ! empty($ref))
$sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id;
if ($socid)
$sql .= " AND p.fk_soc = " . $socid;
$sql .= " ORDER BY $sortfield $sortorder ";
$sql.= $db->order($sortfield, $sortorder);
// Calcul total qty and amount for global if full scan list
$total_ht = 0;
$total_qty = 0;
$totalrecords = 0;
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
// Count total nb of records
$totalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
if ($result) {
$totalrecords = $db->num_rows($result);
while ( $objp = $db->fetch_object($result) ) {
$total_ht += $objp->amount;
$total_qty += $objp->qty;
}
}
$totalofrecords = $db->num_rows($result);
}
$sql .= $db->plimit($conf->liste_limit + 1, $offset);
$sql .= $db->plimit($limit + 1, $offset);
$result = $db->query($sql);
if ($result)
@ -178,6 +175,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;search_month=' . $search_month;
if (! empty($search_year))
$option .= '&amp;search_year=' . $search_year;
if ($limit > 0 && $limit != $conf->liste_limit) $option.='&limit='.urlencode($limit);
print '<form method="post" action="' . $_SERVER['PHP_SELF'] . '?id=' . $product->id . '" name="search_form">' . "\n";
if (! empty($sortfield))
@ -189,7 +187,7 @@ if ($id > 0 || ! empty($ref))
$option .= '&amp;page=' . $page;
}
print_barre_liste($langs->trans("Proposals"), $page, $_SERVER["PHP_SELF"], "&amp;id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, '');
print_barre_liste($langs->trans("Proposals"), $page, $_SERVER["PHP_SELF"], "&amp;id=".$product->id, $sortfield, $sortorder, '', $num, $totalofrecords, '', 0, '', '', $limit);
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print '<div class="divsearchfield">';
print $langs->trans('Period') . ' (' . $langs->trans("DatePropal") . ') - ';
@ -216,17 +214,21 @@ if ($id > 0 || ! empty($ref))
if ($num > 0)
{
while ($i < $num && $i < $conf->liste_limit)
while ($i < min($num, $limit))
{
$objp = $db->fetch_object($result);
print '<tr class="oddeven">';
print '<td>';
$total_ht+=$objp->amount;
$total_qty+=$objp->qty;
$propalstatic->id=$objp->propalid;
$propalstatic->ref=$objp->ref;
print $propalstatic->getNomUrl(1);
print "</td>\n";
$societestatic->fetch($objp->socid);
print '<tr class="oddeven">';
print '<td>';
print $propalstatic->getNomUrl(1);
print "</td>\n";
print '<td>'.$societestatic->getNomUrl(1).'</td>';
print '<td align="center">';
print dol_print_date($db->jdate($objp->date_valid), 'dayhour') . "</td>";
@ -234,17 +236,13 @@ if ($id > 0 || ! empty($ref))
print '<td align="right">' . price($objp->amount) . '</td>' . "\n";
print '<td align="right">' . $propalstatic->LibStatut($objp->statut, 5) . '</td>';
print "</tr>\n";
$i ++;
if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$total_ht += $objp->total_ht;
$total_qty += $objp->qty;
}
$i++;
}
}
print '<tr class="liste_total">';
print '<td>' . $langs->trans('Total') . '</td>';
if ($num < $limit) print '<td align="left">'.$langs->trans("Total").'</td>';
else print '<td align="left">'.$langs->trans("Totalforthispage").'</td>';
print '<td colspan="2"></td>';
print '<td align="center">' . $total_qty . '</td>';
print '<td align="right">' . price($total_ht) . '</td>';