Fix: Bank receipt translation and fix

This commit is contained in:
Laurent Destailleur 2008-12-01 23:51:52 +00:00
parent 58e4844795
commit a644c122f3
9 changed files with 78 additions and 58 deletions

View File

@ -137,7 +137,7 @@ if ($_POST['action'] == 'builddoc' && $user->rights->banque)
$result = $remisecheque->GeneratePdf($_POST["model"], $outputlangs); $result = $remisecheque->GeneratePdf($_POST["model"], $outputlangs);
if ($result <= 0) if ($result <= 0)
{ {
dolibarr_print_error($db,$result); dolibarr_print_error($db,$remisecheque->error);
exit; exit;
} }
else else
@ -443,7 +443,7 @@ if ($_GET['action'] != 'new')
if ($remisecheque->statut == 1) if ($remisecheque->statut == 1)
{ {
$dir = DOL_DATA_ROOT.'/compta/bordereau/'.get_exdir($remisecheque->number); $dir = DOL_DATA_ROOT.'/compta/bordereau/'.get_exdir($remisecheque->number);
$gen = array('Blochet'); $gen = array('blochet'=>'blochet');
$formfile->show_documents("remisecheque","",$dir,$_SERVER["PHP_SELF"].'?id='.$remisecheque->id,$gen,1); $formfile->show_documents("remisecheque","",$dir,$_SERVER["PHP_SELF"].'?id='.$remisecheque->id,$gen,1);
} }
} }

View File

@ -405,70 +405,86 @@ class RemiseCheque extends CommonObject
/** /**
* \brief Génère le fichier PDF * \brief Build document
* \param model Nom du modele * \param model Model name
* \return int <0 si KO, 0 si OK * \return int <0 if KO, >0 if OK
*/ */
function GeneratePdf($model='blochet', $outputlangs) function GeneratePdf($model='blochet', $outputlangs)
{ {
require_once(DOL_DOCUMENT_ROOT ."/compta/bank/account.class.php"); global $langs;
require_once(DOL_DOCUMENT_ROOT ."/includes/modules/cheque/pdf/pdf_".$model.".class.php");
$class='BordereauCheque'.ucfirst($model); dolibarr_syslog("RemiseCheque::GeneratePdf model=".$model, LOG_DEBUG);
$pdf = new $class($db);
$sql = "SELECT b.banque, b.emetteur, b.amount, b.num_chq "; $dir=DOL_DOCUMENT_ROOT ."/includes/modules/cheque/pdf/";
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b, ".MAIN_DB_PREFIX."bank_account as ba ";
$sql.= " , ".MAIN_DB_PREFIX."bordereau_cheque as bc";
$sql.= " WHERE b.fk_account = ba.rowid AND b.fk_bordereau = bc.rowid";
$sql.= " AND bc.rowid = ".$this->id;
$sql.= " ORDER BY b.emetteur ASC, b.rowid ASC;";
dolibarr_syslog("RemiseCheque::GeneratePdf sql=".$sql, LOG_DEBUG); // Charge le modele
$result = $this->db->query($sql); $file = "pdf_".$model.".class.php";
if ($result) if (file_exists($dir.$file))
{ {
$i = 0; require_once(DOL_DOCUMENT_ROOT ."/compta/bank/account.class.php");
while ( $objp = $this->db->fetch_object($result) ) require_once($dir.$file);
$classname='BordereauCheque'.ucfirst($model);
$pdf = new $classname($db);
$sql = "SELECT b.banque, b.emetteur, b.amount, b.num_chq ";
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b, ".MAIN_DB_PREFIX."bank_account as ba ";
$sql.= " , ".MAIN_DB_PREFIX."bordereau_cheque as bc";
$sql.= " WHERE b.fk_account = ba.rowid AND b.fk_bordereau = bc.rowid";
$sql.= " AND bc.rowid = ".$this->id;
$sql.= " ORDER BY b.emetteur ASC, b.rowid ASC;";
dolibarr_syslog("RemiseCheque::GeneratePdf sql=".$sql, LOG_DEBUG);
$result = $this->db->query($sql);
if ($result)
{ {
$pdf->lines[$i]->bank_chq = $objp->banque; $i = 0;
$pdf->lines[$i]->emetteur_chq = $objp->emetteur; while ( $objp = $this->db->fetch_object($result) )
$pdf->lines[$i]->amount_chq = $objp->amount; {
$pdf->lines[$i]->num_chq = $objp->num_chq; $pdf->lines[$i]->bank_chq = $objp->banque;
$i++; $pdf->lines[$i]->emetteur_chq = $objp->emetteur;
$pdf->lines[$i]->amount_chq = $objp->amount;
$pdf->lines[$i]->num_chq = $objp->num_chq;
$i++;
}
} }
} $pdf->nbcheque = $this->nbcheque;
$pdf->nbcheque = $this->nbcheque; $pdf->number = $this->number;
$pdf->number = $this->number; $pdf->amount = $this->amount;
$pdf->amount = $this->amount; $pdf->date = $this->date_bordereau;
$pdf->date = $this->date_bordereau;
$account = new Account($this->db); $account = new Account($this->db);
$account->fetch($this->account_id); $account->fetch($this->account_id);
$pdf->account = &$account; $pdf->account = &$account;
// We save charset_output to restore it because write_file can change it if needed for // We save charset_output to restore it because write_file can change it if needed for
// output format that does not support UTF8. // output format that does not support UTF8.
$sav_charset_output=$outputlangs->charset_output; $sav_charset_output=$outputlangs->charset_output;
$result=$pdf->write_file(DOL_DATA_ROOT.'/compta/bordereau', $this->number, $outputlangs); $result=$pdf->write_file(DOL_DATA_ROOT.'/compta/bordereau', $this->number, $outputlangs);
if ($result > 0) if ($result > 0)
{ {
$outputlangs->charset_output=$sav_charset_output; $outputlangs->charset_output=$sav_charset_output;
return 1; return 1;
}
else
{
$outputlangs->charset_output=$sav_charset_output;
dolibarr_syslog("Error");
dolibarr_print_error($db,$pdf->pdferror());
return 0;
}
} }
else else
{ {
$outputlangs->charset_output=$sav_charset_output; $this->error=$langs->trans("ErrorFileDoesNotExists",$dir.$file);
dolibarr_syslog("Error"); return -1;
dolibarr_print_error($db,$pdf->pdferror());
return 0;
} }
} }
/** /**
\brief Mets a jour le montant total * \brief Mets a jour le montant total
\return int, 0 en cas de succes * \return int, 0 en cas de succes
*/ */
function UpdateAmount() function UpdateAmount()
{ {

View File

@ -121,7 +121,7 @@ class FormFile
* \param filename Sub dir to scan (vide si filedir deja complet) * \param filename Sub dir to scan (vide si filedir deja complet)
* \param filedir Dir to scan * \param filedir Dir to scan
* \param urlsource Url of origin page (for return) * \param urlsource Url of origin page (for return)
* \param genallowed G<EFBFBD>n<EFBFBD>ration autoris<EFBFBD>e (1/0 ou array des formats) * \param genallowed Generation is allowed (1/0 or array of formats)
* \param delallowed Suppression autoris<EFBFBD>e (1/0) * \param delallowed Suppression autoris<EFBFBD>e (1/0)
* \param modelselected Modele <EFBFBD> pr<EFBFBD>-s<EFBFBD>lectionner par d<EFBFBD>faut * \param modelselected Modele <EFBFBD> pr<EFBFBD>-s<EFBFBD>lectionner par d<EFBFBD>faut
* \param modelliste Tableau des modeles possibles. Use '' to hide combo select list. * \param modelliste Tableau des modeles possibles. Use '' to hide combo select list.

View File

@ -214,7 +214,7 @@ class BordereauChequeBlochet extends FPDF
$pdf->Text(104, 43, $this->account->cle_rib); $pdf->Text(104, 43, $this->account->cle_rib);
$pdf->SetFont('Arial','',10); $pdf->SetFont('Arial','',10);
$pdf->Text(114, 19, $outputlangs->transnoentities("Sign")); $pdf->Text(114, 19, $outputlangs->transnoentities("Signature"));
$pdf->Rect(9, 47, 192, 7); $pdf->Rect(9, 47, 192, 7);
$pdf->line(55, 47, 55, 54); $pdf->line(55, 47, 55, 54);
@ -222,7 +222,7 @@ class BordereauChequeBlochet extends FPDF
$pdf->line(170, 47, 170, 54); $pdf->line(170, 47, 170, 54);
$pdf->SetFont('Arial','',10); $pdf->SetFont('Arial','',10);
$pdf->Text(10, 52, $outputlangs->transnoentities("ChequeNumber")); $pdf->Text(10, 52, $outputlangs->transnoentities("NumberOfCheques"));
$pdf->SetFont('Arial','B',10); $pdf->SetFont('Arial','B',10);
$pdf->Text(57, 52, $this->nbcheque); $pdf->Text(57, 52, $this->nbcheque);

View File

@ -158,13 +158,13 @@ class ModeleNumRefFactures
/** /**
\brief Cree un facture sur disque en fonction du modele de FACTURE_ADDON_PDF * \brief Cree un facture sur disque en fonction du modele de FACTURE_ADDON_PDF
\param db objet base de donnee * \param db objet base de donnee
\param id id de la facture a creer * \param id id de la facture a creer
\param message message * \param message message
\param modele force le modele a utiliser ('' to not force) * \param modele force le modele a utiliser ('' to not force)
\param outputlangs objet lang a utiliser pour traduction * \param outputlangs objet lang a utiliser pour traduction
\return int <0 si KO, >0 si OK * \return int <0 if KO, >0 if OK
*/ */
function facture_pdf_create($db, $id, $message, $modele, $outputlangs) function facture_pdf_create($db, $id, $message, $modele, $outputlangs)
{ {

View File

@ -111,6 +111,7 @@ DeleteCheckReceipt=Delete this check receipt ?
ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt ? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt ?
BankChecks=Bank cheques BankChecks=Bank cheques
BankChecksToReceipt=Cheques waiting for deposit BankChecksToReceipt=Cheques waiting for deposit
NumberOfCheques=Nb of cheques
DeleteTransaction=Delete transaction DeleteTransaction=Delete transaction
ConfirmDeleteTransaction=Are you sure you want to delete this transaction ? ConfirmDeleteTransaction=Are you sure you want to delete this transaction ?
ThisWillAlsoDeleteBankRecord=This will also delete generated bank transactions ThisWillAlsoDeleteBankRecord=This will also delete generated bank transactions

View File

@ -458,6 +458,7 @@ CurrentUserLanguage=Current language
CurrentTheme=Current theme CurrentTheme=Current theme
For=For For=For
ForCustomer=For customer ForCustomer=For customer
Signature=Signature
# Week day # Week day
Monday=Monday Monday=Monday
Tuesday=Tuesday Tuesday=Tuesday

View File

@ -111,6 +111,7 @@ DeleteCheckReceipt=Supprimer ce bordereau de remise ?
ConfirmDeleteCheckReceipt=Etes-vous sûr de vouloir supprimer ce bordereau ? ConfirmDeleteCheckReceipt=Etes-vous sûr de vouloir supprimer ce bordereau ?
BankChecks=Chèques BankChecks=Chèques
BankChecksToReceipt=Chèques à déposer BankChecksToReceipt=Chèques à déposer
NumberOfCheques=Nb de chèques
DeleteTransaction=Supprimer la transaction DeleteTransaction=Supprimer la transaction
ConfirmDeleteTransaction=Etes-vous sur de vouloir supprimer cette transaction ? ConfirmDeleteTransaction=Etes-vous sur de vouloir supprimer cette transaction ?
ThisWillAlsoDeleteBankRecord=Ceci supprimera aussi les écritures banquaires générées ThisWillAlsoDeleteBankRecord=Ceci supprimera aussi les écritures banquaires générées

View File

@ -459,6 +459,7 @@ CurrentUserLanguage=Langue utilisateur actuelle
CurrentTheme=Theme courant CurrentTheme=Theme courant
For=Pour For=Pour
ForCustomer=Pour le client ForCustomer=Pour le client
Signature=Sign
# Week day # Week day
Monday=Lundi Monday=Lundi
Tuesday=Mardi Tuesday=Mardi