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 $datefieldname name of table associated of the type
|
||||||
* @param string $dates Start date (at 00:00:00)
|
* @param string $dates Start date (at 00:00:00)
|
||||||
* @param string $datee End date (at 23: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='')
|
function get_element_list($type, $tablename, $datefieldname='', $dates='', $datee='')
|
||||||
{
|
{
|
||||||
|
|||||||
@ -272,6 +272,8 @@ foreach ($listofreferent as $key => $value)
|
|||||||
|
|
||||||
if ($qualified)
|
if ($qualified)
|
||||||
{
|
{
|
||||||
|
$element = new $classname($db);
|
||||||
|
|
||||||
if (! $showdatefilter)
|
if (! $showdatefilter)
|
||||||
{
|
{
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$projectid.'" method="post">';
|
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_ht_by_third = 0;
|
||||||
$total_ttc_by_third = 0;
|
$total_ttc_by_third = 0;
|
||||||
|
|
||||||
|
$saved_third_id = 0;
|
||||||
|
$breakline = '';
|
||||||
|
|
||||||
if (canApplySubtotalOn($tablename)) {
|
if (canApplySubtotalOn($tablename)) {
|
||||||
// Appel du mon code de tri :
|
// Appel du mon code de tri :
|
||||||
$elementarray = sortElementsByClientName($elementarray);
|
$elementarray = sortElementsByClientName($elementarray);
|
||||||
@ -344,11 +349,22 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$num=count($elementarray);
|
$num=count($elementarray);
|
||||||
for ($i = 0; $i < $num; $i++)
|
for ($i = 0; $i < $num; $i++)
|
||||||
{
|
{
|
||||||
$element = new $classname($db);
|
|
||||||
$element->fetch($elementarray[$i]);
|
$element->fetch($elementarray[$i]);
|
||||||
$element->fetch_thirdparty();
|
$element->fetch_thirdparty();
|
||||||
//print $classname;
|
//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;
|
$qualifiedfortotal=true;
|
||||||
if ($key == 'invoice')
|
if ($key == 'invoice')
|
||||||
{
|
{
|
||||||
@ -417,34 +433,26 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$total_ttc_by_third += $element->total_ttc;
|
$total_ttc_by_third += $element->total_ttc;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Autre partie de mon code :
|
|
||||||
if (canApplySubtotalOn($tablename))
|
if (canApplySubtotalOn($tablename))
|
||||||
{
|
{
|
||||||
$next_third_id = (isset($elementarray[$i+1])) ? $elementarray[$i+1] : '';
|
$breakline='<tr class="liste_total">';
|
||||||
$third_id = $element->thirdparty->id;
|
$breakline.='<td colspan="2">';
|
||||||
if ($third_id != $next_third_id)
|
$breakline.='</td>';
|
||||||
{
|
$breakline.='<td>';
|
||||||
print '<tr class="liste_total">';
|
$breakline.='</td>';
|
||||||
print '<td colspan="2">';
|
$breakline.='<td class="right">';
|
||||||
print '</td>';
|
$breakline.=$langs->trans('SubTotal').' : ';
|
||||||
print '<td>';
|
if (is_object($element->thirdparty)) $breakline.=$element->thirdparty->getNomUrl(0,'',48);
|
||||||
print '</td>';
|
$breakline.='</td>';
|
||||||
print '<td class="right">';
|
$breakline.='<td align="right">'.price($total_ht_by_third).'</td>';
|
||||||
print $langs->trans('SubTotal').' : ';
|
$breakline.='<td align="right">'.price($total_ttc_by_third).'</td>';
|
||||||
if (is_object($element->thirdparty)) print $element->thirdparty->getNomUrl(0,'',48);
|
$breakline.='<td></td>';
|
||||||
print '</td>';
|
$breakline.='</tr>';
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($breakline) print $breakline;
|
||||||
|
|
||||||
print '<tr class="liste_total"><td colspan="4">'.$langs->trans("Number").': '.$i.'</td>';
|
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>';
|
if (empty($value['disableamount'])) print '<td align="right" width="100">'.$langs->trans("TotalHT").' : '.price($total_ht).'</td>';
|
||||||
else print '<td></td>';
|
else print '<td></td>';
|
||||||
@ -524,6 +532,8 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$margin = $value['margin'];
|
$margin = $value['margin'];
|
||||||
if (isset($margin))
|
if (isset($margin))
|
||||||
{
|
{
|
||||||
|
$element = new $classname($db);
|
||||||
|
|
||||||
$elementarray = $project->get_element_list($key, $tablename);
|
$elementarray = $project->get_element_list($key, $tablename);
|
||||||
if (count($elementarray)>0 && is_array($elementarray))
|
if (count($elementarray)>0 && is_array($elementarray))
|
||||||
{
|
{
|
||||||
@ -533,7 +543,6 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$num=count($elementarray);
|
$num=count($elementarray);
|
||||||
for ($i = 0; $i < $num; $i++)
|
for ($i = 0; $i < $num; $i++)
|
||||||
{
|
{
|
||||||
$element = new $classname($db);
|
|
||||||
$element->fetch($elementarray[$i]);
|
$element->fetch($elementarray[$i]);
|
||||||
$element->fetch_thirdparty();
|
$element->fetch_thirdparty();
|
||||||
//print $classname;
|
//print $classname;
|
||||||
@ -607,23 +616,25 @@ function sortElementsByClientName($elementarray)
|
|||||||
$element = new $classname($db);
|
$element = new $classname($db);
|
||||||
|
|
||||||
$clientname = array();
|
$clientname = array();
|
||||||
foreach ($elementarray as $key => $id)
|
foreach ($elementarray as $key => $id) // id = id of object
|
||||||
{
|
{
|
||||||
if (empty($clientname[$id]))
|
if (empty($clientname[$id]))
|
||||||
{
|
{
|
||||||
$element->id = $id;
|
$element->fetch($id);
|
||||||
$element->fetch_thirdparty();
|
$element->fetch_thirdparty();
|
||||||
|
|
||||||
$clientname[$id] = $element->thirdparty->name;
|
$clientname[$id] = $element->thirdparty->name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
asort($clientname);
|
//var_dump($clientname);
|
||||||
|
asort($clientname); // sort on name
|
||||||
|
|
||||||
$elementarray = array();
|
$elementarray = array();
|
||||||
foreach ($clientname as $id => $name) {
|
foreach ($clientname as $id => $name)
|
||||||
|
{
|
||||||
$elementarray[] = $id;
|
$elementarray[] = $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $elementarray;
|
return $elementarray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user