diff --git a/htdocs/public/onlinesign/newonlinesign.php b/htdocs/public/onlinesign/newonlinesign.php
index 91c3ec2ce73..fa16492a169 100644
--- a/htdocs/public/onlinesign/newonlinesign.php
+++ b/htdocs/public/onlinesign/newonlinesign.php
@@ -130,6 +130,8 @@ if ($source == 'proposal') {
$securekeyseed = getDolGlobalString('PROPOSAL_ONLINE_SIGNATURE_SECURITY_TOKEN');
} elseif ($source == 'contract') {
$securekeyseed = getDolGlobalString('CONTRACT_ONLINE_SIGNATURE_SECURITY_TOKEN');
+} elseif ($source == 'fichinter') {
+ $securekeyseed = getDolGlobalString('FICHINTER_ONLINE_SIGNATURE_SECURITY_TOKEN');
}
if (!dol_verifyHash($securekeyseed.$type.$ref.(isModEnabled('multicompany') ? $entity : ''), $SECUREKEY, '0')) {
httponly_accessforbidden('Bad value for securitykey. Value provided '.dol_escape_htmltag($SECUREKEY).' does not match expected value for ref='.dol_escape_htmltag($ref), 403, 1);
@@ -143,6 +145,10 @@ if ($source == 'proposal') {
require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
$object = new Contrat($db);
$result= $object->fetch(0, $ref);
+} elseif ($source == 'fichinter') {
+ require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php';
+ $object = new Fichinter($db);
+ $result= $object->fetch(0, $ref);
} else {
httponly_accessforbidden($langs->trans('ErrorBadParameters')." - Bad value for source", 400, 1);
}
@@ -289,6 +295,9 @@ if (empty($text)) {
} elseif ($source == 'contract') {
$text .= '
'.$langs->trans("WelcomeOnOnlineSignaturePageContract", $mysoc->name).' '."\n";
$text .= ''.$langs->trans("ThisScreenAllowsYouToSignDocFromContract", $creditor).' '."\n";
+ } elseif ($source == 'fichinter') {
+ $text .= ''.$langs->trans("WelcomeOnOnlineSignaturePageFichinter", $mysoc->name).' '."\n";
+ $text .= ''.$langs->trans("ThisScreenAllowsYouToSignDocFromFichinter", $creditor).' '."\n";
}
}
print $text;
@@ -300,6 +309,8 @@ if ($source == 'proposal') {
print ''.$langs->trans("ThisIsInformationOnDocumentToSignProposal").' : '."\n";
} elseif ($source == 'contract') {
print ''.$langs->trans("ThisIsInformationOnDocumentToSignContract").' : '."\n";
+} elseif ($source == 'fichinter') {
+ print ''.$langs->trans("ThisIsInformationOnDocumentToSignFichinter").' : '."\n";
}
$found = false;
$error = 0;
@@ -430,6 +441,55 @@ if ($source == 'proposal') {
}
+ print ' ';
+ print ' ';
+ print ''."\n";
+} elseif ($source == 'fichinter') { // Signature on fichinter
+ $found = true;
+ $langs->load("fichinter");
+
+ $result = $object->fetch_thirdparty($object->socid);
+ // Proposer
+ print ''.$langs->trans("Proposer");
+ print ' ';
+ print img_picto('', 'company', 'class="pictofixedwidth"');
+ print ''.$creditor.' ';
+ print ' ';
+ print ' '."\n";
+
+ // Target
+ print ''.$langs->trans("ThirdParty");
+ print ' ';
+ print img_picto('', 'company', 'class="pictofixedwidth"');
+ print ''.$object->thirdparty->name.' ';
+ print ' '."\n";
+
+ // Object
+ $text = ''.$langs->trans("SignatureFichinterRef", $object->ref).' ';
+ print ''.$langs->trans("Designation");
+ print ' '.$text;
+
+ $last_main_doc_file = $object->last_main_doc;
+
+ if (empty($last_main_doc_file) || !dol_is_file(DOL_DATA_ROOT.'/'.$object->last_main_doc)) {
+ // It seems document has never been generated, or was generated and then deleted.
+ // So we try to regenerate it with its default template.
+ $defaulttemplate = ''; // We force the use an empty string instead of $object->model_pdf to be sure to use a "main" default template and not the last one used.
+ $object->generateDocument($defaulttemplate, $langs);
+ }
+
+ $directdownloadlink = $object->getLastMainDocLink('fichinter');
+ if ($directdownloadlink) {
+ print '';
+ print img_mime($object->last_main_doc, '');
+ if ($message == "signed") {
+ print $langs->trans("DownloadSignedDocument").' ';
+ } else {
+ print $langs->trans("DownloadDocument").'';
+ }
+ }
+
+
print ' ';
print ' ';
print ' '."\n";
@@ -542,6 +602,12 @@ if ($action == "dosign" && empty($cancel)) {
} else {
print ' ';
}
+ } elseif ($source == 'fichinter') {
+ if ($message == 'signed') {
+ print ''.$langs->trans("FichinterSigned").' ';
+ } else {
+ print ' ';
+ }
}
}
print ''."\n";