mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Fix feature to break by email
This commit is contained in:
parent
7fbf76ee2a
commit
b36e40ee4c
|
|
@ -398,7 +398,7 @@ class Project extends CommonObject
|
|||
* @param string $datefieldname name of table associated of the type
|
||||
* @param string $dates Start date (at 00:00:00)
|
||||
* @param string $datee End date (at 23:00:00)
|
||||
* @return mixed List of orders linked to project, < 0 or string if error
|
||||
* @return mixed Array list of object ids linked to project, < 0 or string if error
|
||||
*/
|
||||
function get_element_list($type, $tablename, $datefieldname='', $dates='', $datee='')
|
||||
{
|
||||
|
|
|
|||
|
|
@ -272,6 +272,8 @@ foreach ($listofreferent as $key => $value)
|
|||
|
||||
if ($qualified)
|
||||
{
|
||||
$element = new $classname($db);
|
||||
|
||||
if (! $showdatefilter)
|
||||
{
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$projectid.'" method="post">';
|
||||
|
|
@ -336,6 +338,9 @@ foreach ($listofreferent as $key => $value)
|
|||
$total_ht_by_third = 0;
|
||||
$total_ttc_by_third = 0;
|
||||
|
||||
$saved_third_id = 0;
|
||||
$breakline = '';
|
||||
|
||||
if (canApplySubtotalOn($tablename)) {
|
||||
// Appel du mon code de tri :
|
||||
$elementarray = sortElementsByClientName($elementarray);
|
||||
|
|
@ -344,11 +349,22 @@ foreach ($listofreferent as $key => $value)
|
|||
$num=count($elementarray);
|
||||
for ($i = 0; $i < $num; $i++)
|
||||
{
|
||||
$element = new $classname($db);
|
||||
$element->fetch($elementarray[$i]);
|
||||
$element->fetch_thirdparty();
|
||||
//print $classname;
|
||||
|
||||
if ($breakline && $saved_third_id != $element->thirdparty->id)
|
||||
{
|
||||
print $breakline;
|
||||
$var = true;
|
||||
|
||||
$saved_third_id = $element->thirdparty->id;
|
||||
$breakline = '';
|
||||
|
||||
$total_ht_by_third=0;
|
||||
$total_ttc_by_third=0;
|
||||
}
|
||||
|
||||
$qualifiedfortotal=true;
|
||||
if ($key == 'invoice')
|
||||
{
|
||||
|
|
@ -417,34 +433,26 @@ foreach ($listofreferent as $key => $value)
|
|||
$total_ttc_by_third += $element->total_ttc;
|
||||
}
|
||||
|
||||
// Autre partie de mon code :
|
||||
if (canApplySubtotalOn($tablename))
|
||||
{
|
||||
$next_third_id = (isset($elementarray[$i+1])) ? $elementarray[$i+1] : '';
|
||||
$third_id = $element->thirdparty->id;
|
||||
if ($third_id != $next_third_id)
|
||||
{
|
||||
print '<tr class="liste_total">';
|
||||
print '<td colspan="2">';
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print '</td>';
|
||||
print '<td class="right">';
|
||||
print $langs->trans('SubTotal').' : ';
|
||||
if (is_object($element->thirdparty)) print $element->thirdparty->getNomUrl(0,'',48);
|
||||
print '</td>';
|
||||
print '<td align="right">'.price($total_ht).'</td>';
|
||||
print '<td align="right">'.price($total_ttc).'</td>';
|
||||
print '<td></td>';
|
||||
print '</tr>';
|
||||
|
||||
$total_ht_by_third = 0;
|
||||
$total_ttc_by_third = 0;
|
||||
$var=true;
|
||||
}
|
||||
$breakline='<tr class="liste_total">';
|
||||
$breakline.='<td colspan="2">';
|
||||
$breakline.='</td>';
|
||||
$breakline.='<td>';
|
||||
$breakline.='</td>';
|
||||
$breakline.='<td class="right">';
|
||||
$breakline.=$langs->trans('SubTotal').' : ';
|
||||
if (is_object($element->thirdparty)) $breakline.=$element->thirdparty->getNomUrl(0,'',48);
|
||||
$breakline.='</td>';
|
||||
$breakline.='<td align="right">'.price($total_ht_by_third).'</td>';
|
||||
$breakline.='<td align="right">'.price($total_ttc_by_third).'</td>';
|
||||
$breakline.='<td></td>';
|
||||
$breakline.='</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($breakline) print $breakline;
|
||||
|
||||
print '<tr class="liste_total"><td colspan="4">'.$langs->trans("Number").': '.$i.'</td>';
|
||||
if (empty($value['disableamount'])) print '<td align="right" width="100">'.$langs->trans("TotalHT").' : '.price($total_ht).'</td>';
|
||||
else print '<td></td>';
|
||||
|
|
@ -524,6 +532,8 @@ foreach ($listofreferent as $key => $value)
|
|||
$margin = $value['margin'];
|
||||
if (isset($margin))
|
||||
{
|
||||
$element = new $classname($db);
|
||||
|
||||
$elementarray = $project->get_element_list($key, $tablename);
|
||||
if (count($elementarray)>0 && is_array($elementarray))
|
||||
{
|
||||
|
|
@ -533,7 +543,6 @@ foreach ($listofreferent as $key => $value)
|
|||
$num=count($elementarray);
|
||||
for ($i = 0; $i < $num; $i++)
|
||||
{
|
||||
$element = new $classname($db);
|
||||
$element->fetch($elementarray[$i]);
|
||||
$element->fetch_thirdparty();
|
||||
//print $classname;
|
||||
|
|
@ -607,23 +616,25 @@ function sortElementsByClientName($elementarray)
|
|||
$element = new $classname($db);
|
||||
|
||||
$clientname = array();
|
||||
foreach ($elementarray as $key => $id)
|
||||
foreach ($elementarray as $key => $id) // id = id of object
|
||||
{
|
||||
if (empty($clientname[$id]))
|
||||
{
|
||||
$element->id = $id;
|
||||
$element->fetch($id);
|
||||
$element->fetch_thirdparty();
|
||||
|
||||
$clientname[$id] = $element->thirdparty->name;
|
||||
}
|
||||
}
|
||||
|
||||
asort($clientname);
|
||||
//var_dump($clientname);
|
||||
asort($clientname); // sort on name
|
||||
|
||||
$elementarray = array();
|
||||
foreach ($clientname as $id => $name) {
|
||||
foreach ($clientname as $id => $name)
|
||||
{
|
||||
$elementarray[] = $id;
|
||||
}
|
||||
|
||||
return $elementarray;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user