Fix: Public note in interventions card was not visible.

This commit is contained in:
Laurent Destailleur 2009-11-16 23:05:26 +00:00
parent 9d6663cf31
commit 3d7900f3e0
3 changed files with 62 additions and 33 deletions

View File

@ -783,8 +783,8 @@ class Fichinter extends CommonObject
} }
/** /**
\class FichinterLigne * \class FichinterLigne
\brief Classe permettant la gestion des lignes d'intervention * \brief Classe permettant la gestion des lignes d'intervention
*/ */
class FichinterLigne class FichinterLigne
{ {

View File

@ -217,7 +217,7 @@ class pdf_crabe extends ModelePDFFactures
{ {
$tab_top = 88; $tab_top = 88;
$pdf->SetFont('Arial','', 9); // Dans boucle pour gerer multi-page $pdf->SetFont('Arial','', 9);
$pdf->SetXY ($this->posxdesc-1, $tab_top); $pdf->SetXY ($this->posxdesc-1, $tab_top);
$pdf->MultiCell(190, 3, $outputlangs->convToOutputCharset($fac->note_public), 0, 'J'); $pdf->MultiCell(190, 3, $outputlangs->convToOutputCharset($fac->note_public), 0, 'J');
$nexY = $pdf->GetY(); $nexY = $pdf->GetY();

View File

@ -68,9 +68,12 @@ class pdf_soleil extends ModelePDFFicheinter
$this->option_multilang = 0; // Dispo en plusieurs langues $this->option_multilang = 0; // Dispo en plusieurs langues
$this->option_draft_watermark = 1; //Support add of a watermark on drafts $this->option_draft_watermark = 1; //Support add of a watermark on drafts
// Recupere code pays de l'emmetteur // Recupere emmetteur
$this->emetteur=$mysoc; $this->emetteur=$mysoc;
if (! $this->emetteur->code_pays) $this->emetteur->code_pays=substr($langs->defaultlang,-2); // By default, if not defined if (! $this->emetteur->code_pays) $this->emetteur->code_pays=substr($langs->defaultlang,-2); // By default, if not defined
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
} }
/** /**
@ -150,6 +153,8 @@ class pdf_soleil extends ModelePDFFicheinter
$pdf->SetFont('Arial','', 9); $pdf->SetFont('Arial','', 9);
$pdf->MultiCell(0, 4, '', 0, 'J'); // Set interline to 4 $pdf->MultiCell(0, 4, '', 0, 'J'); // Set interline to 4
// Pagehead
//Affiche le filigrane brouillon - Print Draft Watermark //Affiche le filigrane brouillon - Print Draft Watermark
if($fichinter->statut==0 && (! empty($conf->global->FICHINTER_DRAFT_WATERMARK)) ) if($fichinter->statut==0 && (! empty($conf->global->FICHINTER_DRAFT_WATERMARK)) )
{ {
@ -203,7 +208,7 @@ class pdf_soleil extends ModelePDFFicheinter
$pdf->SetXY($this->marge_gauche+2,$posy+3); $pdf->SetXY($this->marge_gauche+2,$posy+3);
// Sende name // Sender name
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->SetFont('Arial','B',11); $pdf->SetFont('Arial','B',11);
$pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->nom), 0, 'L'); $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->nom), 0, 'L');
@ -247,7 +252,34 @@ class pdf_soleil extends ModelePDFFicheinter
$pdf->SetTextColor(0,0,0); $pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',10); $pdf->SetFont('Arial','',10);
$tab_top = 100; $tab_top = 100;
$tab_top_newpage = 50;
$tab_height = 110;
$tab_height_newpage = 150;
// Affiche notes
if (! empty($fichinter->note_public))
{
$tab_top = 98;
$pdf->SetFont('Arial','', 9); // Dans boucle pour gerer multi-page
$pdf->SetXY ($this->posxdesc-1, $tab_top);
$pdf->MultiCell(190, 3, $outputlangs->convToOutputCharset($fichinter->note_public), 0, 'J');
$nexY = $pdf->GetY();
$height_note=$nexY-$tab_top;
// Rect prend une longueur en 3eme param
$pdf->SetDrawColor(192,192,192);
$pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note+1);
$tab_height = $tab_height - $height_note;
$tab_top = $nexY+6;
}
else
{
$height_note=0;
}
$pdf->SetXY (10, $tab_top); $pdf->SetXY (10, $tab_top);
$pdf->MultiCell(190,8,$outputlangs->transnoentities("Description"),0,'L',0); $pdf->MultiCell(190,8,$outputlangs->transnoentities("Description"),0,'L',0);
@ -262,44 +294,41 @@ class pdf_soleil extends ModelePDFFicheinter
$pdf->writeHTMLCell(180, 3, 10, $tab_top + 8, $outputlangs->convToOutputCharset($desc), 0, 1); $pdf->writeHTMLCell(180, 3, 10, $tab_top + 8, $outputlangs->convToOutputCharset($desc), 0, 1);
$nexY = $pdf->GetY(); $nexY = $pdf->GetY();
$tab_height = 0;
$tab_top=$nexY+3;
$pdf->line(10, $nexY, 200, $nexY); $pdf->line(10, $nexY, 200, $nexY);
$pdf->MultiCell(0, 3, '', 0, 'J'); // Set interline to 3. Then writeMultiCell must use 3 also. $pdf->MultiCell(0, 3, '', 0, 'J'); // Set interline to 3. Then writeMultiCell must use 3 also.
//dol_syslog("desc=".dol_htmlentitiesbr($fichinter->description)); //dol_syslog("desc=".dol_htmlentitiesbr($fichinter->description));
$num = sizeof($fichinter->lignes); $nblignes = sizeof($fichinter->lignes);
$i=0;$j=0;
$height=9; $curY = $pdf->GetY();
if ($num) $nexY = $pdf->GetY();
// Loop on each lines
for ($i = 0 ; $i < $nblignes ; $i++)
{ {
while ($i < $num) $fichinterligne = $fichinter->lignes[$i];
$valide = $fichinterligne->id ? $fichinterligne->fetch($fichinterligne->id) : 0;
if ($valide>0)
{ {
$fichinterligne = $fichinter->lignes[$i]; $curY = $nexY+3;
$valide = $fichinterligne->id ? $fichinterligne->fetch($fichinterligne->id) : 0; $pdf->SetXY (10, $curY);
if ($valide>0) $pdf->writeHTMLCell(0, 3, $this->marge_gauche, $curY,
{ dol_htmlentitiesbr($outputlangs->transnoentities("Date")." : ".dol_print_date($fichinterligne->datei,'dayhour',false,$outputlangs,true)." - ".$outputlangs->transnoentities("Duration")." : ".ConvertSecondToTime($fichinterligne->duration),1,$outputlangs->charset_output), 0, 1, 0);
$pdf->SetXY (10, $tab_top + $j * $height); $nexY = $pdf->GetY();
$pdf->writeHTMLCell(0, 3, $this->marge_gauche, $tab_top + $j * $height,
dol_htmlentitiesbr($outputlangs->transnoentities("Date")." : ".dol_print_date($fichinterligne->datei,'dayhour',false,$outputlangs,true)." - ".$outputlangs->transnoentities("Duration")." : ".ConvertSecondToTime($fichinterligne->duration),1,$outputlangs->charset_output), 0, 1, 0);
$tab_height+=4;
$pdf->SetXY (10, $tab_top + 4 + $j * $height); $pdf->SetXY (10, $curY + 3);
$desc = dol_htmlentitiesbr($fichinterligne->desc,1); $desc = dol_htmlentitiesbr($fichinterligne->desc,1);
$pdf->writeHTMLCell(0, 3, $this->marge_gauche, $tab_top + 4 + $j * $height, $desc, 0, 1, 0); $pdf->writeHTMLCell(0, 3, $this->marge_gauche, $curY + 3, $desc, 0, 1, 0);
$tab_height+=dol_nboflines_bis($fichinterligne->desc,52,$outputlangs->charset_output)*4; $nexY+=dol_nboflines_bis($fichinterligne->desc,52,$outputlangs->charset_output)*3;
$j++;
}
$i++;
} }
} }
$pdf->line(10, $tab_top+$tab_height+3, 200, $tab_top+$tab_height+3); //$pdf->line(10, $tab_top+$tab_height+3, 200, $tab_top+$tab_height+3);
// Rectangle for title and all lines // Rectangle for title and all lines
$pdf->Rect(10, 100, 190, $tab_top+$tab_height+3-100); $pdf->Rect(10, $tab_top, 190, $tab_height+3);
$pdf->SetXY (10, $pdf->GetY() + 20); $pdf->SetXY (10, $pdf->GetY() + 20);
$pdf->MultiCell(60, 5, '', 0, 'J', 0); $pdf->MultiCell(60, 5, '', 0, 'J', 0);