diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 193fbf51b3f..c4a6dea0742 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -398,6 +398,10 @@ if ($_GET['propalid']) $head[$h][1] = $langs->trans('AccountancyCard'); $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/apercu.php?propalid='.$propal->id; + $head[$h][1] = $langs->trans("Preview"); + $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/note.php?propalid='.$propal->id; $head[$h][1] = $langs->trans('Note'); $h++; @@ -529,8 +533,8 @@ if ($_GET['propalid']) if ($conf->projet->enabled) { + $langs->load("projects"); print ''.$langs->trans('Project').''; - $langs->load('projects'); $numprojet = $societe->has_projects(); if (! $numprojet) { diff --git a/htdocs/comm/propal/document.php b/htdocs/comm/propal/document.php index 45f77214a6c..59251fa4e0e 100644 --- a/htdocs/comm/propal/document.php +++ b/htdocs/comm/propal/document.php @@ -105,6 +105,10 @@ if ($propalid > 0) $head[$h][1] = $langs->trans('AccountancyCard'); $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/apercu.php?propalid='.$propal->id; + $head[$h][1] = $langs->trans("Preview"); + $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/note.php?propalid='.$propal->id; $head[$h][1] = $langs->trans('Note'); $h++; diff --git a/htdocs/comm/propal/info.php b/htdocs/comm/propal/info.php index 51f0c066538..2439d99b486 100644 --- a/htdocs/comm/propal/info.php +++ b/htdocs/comm/propal/info.php @@ -63,6 +63,10 @@ if ($_GET['propalid']) $head[$h][1] = $langs->trans('AccountancyCard'); $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/apercu.php?propalid='.$propal->id; + $head[$h][1] = $langs->trans("Preview"); + $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/note.php?propalid='.$propal->id; $head[$h][1] = $langs->trans('Note'); $h++; diff --git a/htdocs/comm/propal/note.php b/htdocs/comm/propal/note.php index bc3a00a7916..b662aff710a 100644 --- a/htdocs/comm/propal/note.php +++ b/htdocs/comm/propal/note.php @@ -83,6 +83,10 @@ if ($_GET['propalid']) $head[$h][1] = $langs->trans('AccountancyCard'); $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/apercu.php?propalid='.$propal->id; + $head[$h][1] = $langs->trans("Preview"); + $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/note.php?propalid='.$propal->id; $head[$h][1] = $langs->trans('Note'); $hselected=$h; diff --git a/htdocs/compta/propal.php b/htdocs/compta/propal.php index 7a715d56655..26d137df289 100644 --- a/htdocs/compta/propal.php +++ b/htdocs/compta/propal.php @@ -107,6 +107,10 @@ if ($_GET["propalid"]) $hselected=$h; $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/apercu.php?propalid='.$propal->id; + $head[$h][1] = $langs->trans("Preview"); + $h++; + $head[$h][0] = DOL_URL_ROOT.'/comm/propal/note.php?propalid='.$propal->id; $head[$h][1] = $langs->trans('Note'); $h++; @@ -221,9 +225,9 @@ if ($_GET["propalid"]) $langs->load("projects"); print ''.$langs->trans('Project').''; $numprojet = $societe->has_projects(); - print ''; if (! $numprojet) { + print ''; print $langs->trans("NoProject").''; print 'id.'&action=create>'.$langs->trans('AddProject').''; print ''; @@ -232,10 +236,11 @@ if ($_GET["propalid"]) { if ($propal->statut == 0 && $user->rights->propale->creer) { - print ''; + print ''; print '
'; print ''; $form->select_projects($societe->id, $propal->projetidp, 'projetidp'); + print ''; print ''; print '
'; print ''; @@ -265,7 +270,8 @@ if ($_GET["propalid"]) { print '
'; print ''; - print '% '; + print '% '; + print ''; print ''; print ' ?'; print ''; diff --git a/htdocs/includes/modules/propale/modules_propale.php b/htdocs/includes/modules/propale/modules_propale.php index 5e81554851e..c06922c50f9 100644 --- a/htdocs/includes/modules/propale/modules_propale.php +++ b/htdocs/includes/modules/propale/modules_propale.php @@ -127,6 +127,8 @@ function propale_pdf_create($db, $facid, $modele='') if ( $obj->write_pdf_file($facid) > 0) { + // on supprime l'image correspondant au preview + propale_delete_preview($db, $facid); return 1; } else @@ -142,4 +144,33 @@ function propale_pdf_create($db, $facid, $modele='') return 0; } } +/** + \brief Supprime l'image de prévisualitation, pour le cas de régénération de propal + \param db objet base de donnée + \param propalid id de la propal à effacer +*/ +function propale_delete_preview($db, $propalid) +{ + global $langs,$conf; + + $propal = new Propal($db,"",$propalid); + $propal->fetch($propalid); + $propal->fetch_client(); + + if ($conf->propal->dir_output) + { + $propalref = sanitize_string($propal->ref); + $dir = $conf->propal->dir_output . "/" . $propalref ; + $file = $dir . "/" . $propalref . ".pdf.png"; + + if ( file_exists( $file ) && is_writable( $file ) ) + { + if ( ! unlink($file) ) + { + $this->error=$langs->trans("ErrorFailedToOpenFile",$file); + return 0; + } + } + } +} ?> diff --git a/htdocs/langs/fr_FR/propal.lang b/htdocs/langs/fr_FR/propal.lang index 121e08bcc43..fe9c3aa452f 100644 --- a/htdocs/langs/fr_FR/propal.lang +++ b/htdocs/langs/fr_FR/propal.lang @@ -57,4 +57,5 @@ CloseAs=Cl ClassifyBilled=Classer facturée BuildBill=Créer facture RelatedBill=Facture associée -RelatedBills=Factures associées \ No newline at end of file +RelatedBills=Factures associées +ErrorPropalNotFound=Propal %s inexistante diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index 4f45609a331..98440e1ac27 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -70,6 +70,17 @@ if ($modulepart) $original_file=$conf->facture->dir_output.'/'.$original_file; } + // Wrapping pour les apercu propal + if ($modulepart == 'apercupropal') + { + $user->getrights('propale'); + if ($user->rights->propale->lire) + { + $accessallowed=1; + } + $original_file=$conf->propal->dir_output.'/'.$original_file; + } + // Wrapping pour les images des stats propales if ($modulepart == 'propalstats') {