From a644c122f33d6dae4ca71790bd53cc902214c8fb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Dec 2008 23:51:52 +0000 Subject: [PATCH] Fix: Bank receipt translation and fix --- htdocs/compta/paiement/cheque/fiche.php | 4 +- .../paiement/cheque/remisecheque.class.php | 108 ++++++++++-------- htdocs/html.formfile.class.php | 2 +- .../modules/cheque/pdf/pdf_blochet.class.php | 4 +- .../modules/facture/modules_facture.php | 14 +-- htdocs/langs/en_US/banks.lang | 1 + htdocs/langs/en_US/main.lang | 1 + htdocs/langs/fr_FR/banks.lang | 1 + htdocs/langs/fr_FR/main.lang | 1 + 9 files changed, 78 insertions(+), 58 deletions(-) diff --git a/htdocs/compta/paiement/cheque/fiche.php b/htdocs/compta/paiement/cheque/fiche.php index 9f12e6697c7..ac5266e82df 100644 --- a/htdocs/compta/paiement/cheque/fiche.php +++ b/htdocs/compta/paiement/cheque/fiche.php @@ -137,7 +137,7 @@ if ($_POST['action'] == 'builddoc' && $user->rights->banque) $result = $remisecheque->GeneratePdf($_POST["model"], $outputlangs); if ($result <= 0) { - dolibarr_print_error($db,$result); + dolibarr_print_error($db,$remisecheque->error); exit; } else @@ -443,7 +443,7 @@ if ($_GET['action'] != 'new') if ($remisecheque->statut == 1) { $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); } } diff --git a/htdocs/compta/paiement/cheque/remisecheque.class.php b/htdocs/compta/paiement/cheque/remisecheque.class.php index e026d14e5ec..fa9ef40c22b 100644 --- a/htdocs/compta/paiement/cheque/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/remisecheque.class.php @@ -405,70 +405,86 @@ class RemiseCheque extends CommonObject /** - * \brief Génère le fichier PDF - * \param model Nom du modele - * \return int <0 si KO, 0 si OK + * \brief Build document + * \param model Model name + * \return int <0 if KO, >0 if OK */ function GeneratePdf($model='blochet', $outputlangs) { - require_once(DOL_DOCUMENT_ROOT ."/compta/bank/account.class.php"); - require_once(DOL_DOCUMENT_ROOT ."/includes/modules/cheque/pdf/pdf_".$model.".class.php"); + global $langs; + + dolibarr_syslog("RemiseCheque::GeneratePdf model=".$model, LOG_DEBUG); - $class='BordereauCheque'.ucfirst($model); - $pdf = new $class($db); + $dir=DOL_DOCUMENT_ROOT ."/includes/modules/cheque/pdf/"; - $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) + // Charge le modele + $file = "pdf_".$model.".class.php"; + if (file_exists($dir.$file)) { - $i = 0; - while ( $objp = $this->db->fetch_object($result) ) + require_once(DOL_DOCUMENT_ROOT ."/compta/bank/account.class.php"); + 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; - $pdf->lines[$i]->emetteur_chq = $objp->emetteur; - $pdf->lines[$i]->amount_chq = $objp->amount; - $pdf->lines[$i]->num_chq = $objp->num_chq; - $i++; + $i = 0; + while ( $objp = $this->db->fetch_object($result) ) + { + $pdf->lines[$i]->bank_chq = $objp->banque; + $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->number = $this->number; - $pdf->amount = $this->amount; - $pdf->date = $this->date_bordereau; + $pdf->nbcheque = $this->nbcheque; + $pdf->number = $this->number; + $pdf->amount = $this->amount; + $pdf->date = $this->date_bordereau; - $account = new Account($this->db); - $account->fetch($this->account_id); + $account = new Account($this->db); + $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 - // output format that does not support UTF8. - $sav_charset_output=$outputlangs->charset_output; - $result=$pdf->write_file(DOL_DATA_ROOT.'/compta/bordereau', $this->number, $outputlangs); - if ($result > 0) - { - $outputlangs->charset_output=$sav_charset_output; - return 1; + // We save charset_output to restore it because write_file can change it if needed for + // output format that does not support UTF8. + $sav_charset_output=$outputlangs->charset_output; + $result=$pdf->write_file(DOL_DATA_ROOT.'/compta/bordereau', $this->number, $outputlangs); + if ($result > 0) + { + $outputlangs->charset_output=$sav_charset_output; + return 1; + } + else + { + $outputlangs->charset_output=$sav_charset_output; + dolibarr_syslog("Error"); + dolibarr_print_error($db,$pdf->pdferror()); + return 0; + } } else { - $outputlangs->charset_output=$sav_charset_output; - dolibarr_syslog("Error"); - dolibarr_print_error($db,$pdf->pdferror()); - return 0; + $this->error=$langs->trans("ErrorFileDoesNotExists",$dir.$file); + return -1; } } /** - \brief Mets a jour le montant total - \return int, 0 en cas de succes + * \brief Mets a jour le montant total + * \return int, 0 en cas de succes */ function UpdateAmount() { diff --git a/htdocs/html.formfile.class.php b/htdocs/html.formfile.class.php index 57580b9b919..4ed344792c6 100644 --- a/htdocs/html.formfile.class.php +++ b/htdocs/html.formfile.class.php @@ -121,7 +121,7 @@ class FormFile * \param filename Sub dir to scan (vide si filedir deja complet) * \param filedir Dir to scan * \param urlsource Url of origin page (for return) - * \param genallowed G�n�ration autoris�e (1/0 ou array des formats) + * \param genallowed Generation is allowed (1/0 or array of formats) * \param delallowed Suppression autoris�e (1/0) * \param modelselected Modele � pr�-s�lectionner par d�faut * \param modelliste Tableau des modeles possibles. Use '' to hide combo select list. diff --git a/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php b/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php index 796cd7d00e6..379c6087e26 100644 --- a/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php +++ b/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php @@ -214,7 +214,7 @@ class BordereauChequeBlochet extends FPDF $pdf->Text(104, 43, $this->account->cle_rib); $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->line(55, 47, 55, 54); @@ -222,7 +222,7 @@ class BordereauChequeBlochet extends FPDF $pdf->line(170, 47, 170, 54); $pdf->SetFont('Arial','',10); - $pdf->Text(10, 52, $outputlangs->transnoentities("ChequeNumber")); + $pdf->Text(10, 52, $outputlangs->transnoentities("NumberOfCheques")); $pdf->SetFont('Arial','B',10); $pdf->Text(57, 52, $this->nbcheque); diff --git a/htdocs/includes/modules/facture/modules_facture.php b/htdocs/includes/modules/facture/modules_facture.php index afd70b1d3ac..d5a19c9b3c8 100644 --- a/htdocs/includes/modules/facture/modules_facture.php +++ b/htdocs/includes/modules/facture/modules_facture.php @@ -158,13 +158,13 @@ class ModeleNumRefFactures /** - \brief Cree un facture sur disque en fonction du modele de FACTURE_ADDON_PDF - \param db objet base de donnee - \param id id de la facture a creer - \param message message - \param modele force le modele a utiliser ('' to not force) - \param outputlangs objet lang a utiliser pour traduction - \return int <0 si KO, >0 si OK + * \brief Cree un facture sur disque en fonction du modele de FACTURE_ADDON_PDF + * \param db objet base de donnee + * \param id id de la facture a creer + * \param message message + * \param modele force le modele a utiliser ('' to not force) + * \param outputlangs objet lang a utiliser pour traduction + * \return int <0 if KO, >0 if OK */ function facture_pdf_create($db, $id, $message, $modele, $outputlangs) { diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index 090aaa317e1..ac0d05dfffa 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -111,6 +111,7 @@ DeleteCheckReceipt=Delete this check receipt ? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt ? BankChecks=Bank cheques BankChecksToReceipt=Cheques waiting for deposit +NumberOfCheques=Nb of cheques DeleteTransaction=Delete transaction ConfirmDeleteTransaction=Are you sure you want to delete this transaction ? ThisWillAlsoDeleteBankRecord=This will also delete generated bank transactions diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index aba816c610f..d25c5c66a01 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -458,6 +458,7 @@ CurrentUserLanguage=Current language CurrentTheme=Current theme For=For ForCustomer=For customer +Signature=Signature # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang index 4c612256c44..acf4fa0a7d3 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -111,6 +111,7 @@ DeleteCheckReceipt=Supprimer ce bordereau de remise ? ConfirmDeleteCheckReceipt=Etes-vous sûr de vouloir supprimer ce bordereau ? BankChecks=Chèques BankChecksToReceipt=Chèques à déposer +NumberOfCheques=Nb de chèques DeleteTransaction=Supprimer la transaction ConfirmDeleteTransaction=Etes-vous sur de vouloir supprimer cette transaction ? ThisWillAlsoDeleteBankRecord=Ceci supprimera aussi les écritures banquaires générées diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index cc5051e56f4..810d476a0ac 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -459,6 +459,7 @@ CurrentUserLanguage=Langue utilisateur actuelle CurrentTheme=Theme courant For=Pour ForCustomer=Pour le client +Signature=Sign # Week day Monday=Lundi Tuesday=Mardi