diff --git a/admin/ticket/ticket.php b/admin/ticket/ticket.php
index b848e8f2a..ea7dc66a7 100644
--- a/admin/ticket/ticket.php
+++ b/admin/ticket/ticket.php
@@ -285,6 +285,28 @@
exit;
}
+if ($action == 'set_external_redirection_url') {
+ $externalRedirectionUrl = GETPOST('externalRedirectionUrl', 'none');
+ dolibarr_set_const($db, 'DIGIRISKDOLIBARR_TICKET_CREATION_EXTERNAL_REDIRECTION_URL', $externalRedirectionUrl, 'chaine', 0, '', $conf->entity);
+
+ setEventMessage('SavedConfig');
+ header('Location: ' . $_SERVER['PHP_SELF'] . '?page_y=' . $pageY);
+ exit;
+}
+
+if ($action == 'set_ticket_creation_option') {
+ $ticketCreationOption = GETPOST('ticketCreationOption', 'alpha');
+ dolibarr_set_const($db, 'DIGIRISKDOLIBARR_TICKET_CREATION_OPTION', $ticketCreationOption, 'chaine', 0, '', $conf->entity);
+
+ setEventMessage('SavedConfig');
+ header('Location: ' . $_SERVER['PHP_SELF'] . '?page_y=' . $pageY);
+ exit;
+}
+
+if ($action == 'generate_shortcut_url') {
+ // @todo generate shortcut url
+}
+
/*
* View
*/
@@ -308,7 +330,61 @@
print '
';
print load_fiche_titre($langs->transnoentities("PublicInterface"), '', '');
-print '' . $langs->transnoentities("DigiriskTicketPublicAccess") . ' : ' . dol_buildpath('/custom/digiriskdolibarr/public/ticket/create_ticket.php?entity=' . $conf->entity, 2) . '';
+print '' . $langs->transnoentities("DigiriskTicketPublicAccess") . ' : ';
+
+print '
';
+
+print '';
+
if (isModEnabled('multicompany')) {
print load_fiche_titre($langs->transnoentities("MultiEntityPublicInterface"), '', '');
diff --git a/core/modules/digiriskdolibarr/digiriskdolibarrdocuments/digiriskelementdocument/modules_digiriskelementdocument.php b/core/modules/digiriskdolibarr/digiriskdolibarrdocuments/digiriskelementdocument/modules_digiriskelementdocument.php
index f56fabef8..9b6630e70 100644
--- a/core/modules/digiriskdolibarr/digiriskdolibarrdocuments/digiriskelementdocument/modules_digiriskelementdocument.php
+++ b/core/modules/digiriskdolibarr/digiriskdolibarrdocuments/digiriskelementdocument/modules_digiriskelementdocument.php
@@ -329,7 +329,19 @@ public function write_file(SaturneDocuments $objectDocument, Translate $outputLa
$userTmp->fetch($responsibleResources->id[0]);
// @todo The keyword "signature" is needed because we want the image to be cropped to fit in the table
- $tmpArray['helpUrl'] = DOL_MAIN_URL_ROOT . '/custom/digiriskdolibarr/public/ticket/create_ticket.php';
+ $ticketCreationOption = dolibarr_get_const($this->db, 'DIGIRISKDOLIBARR_TICKET_CREATION_OPTION', $conf->entity);
+ switch ($ticketCreationOption) {
+ case 'default_redirection_url':
+ $tmpArray['helpUrl'] = DOL_MAIN_URL_ROOT . '/custom/digiriskdolibarr/public/ticket/create_ticket.php';
+ break;
+ case 'external_redirection_url':
+ $tmpArray['helpUrl'] = dolibarr_get_const($this->db, 'DIGIRISKDOLIBARR_TICKET_CREATION_EXTERNAL_REDIRECTION_URL', $conf->entity);
+ break;
+ case 'shortcut_redirection_url':
+ // @todo Add the shortcut url
+ break;
+ }
+
$tmpArray['signatureQRCodeTicket'] = $QRCodeImagePath;
$tmpArray['securityResponsible'] = (!empty($userTmp) ? dol_strtoupper($userTmp->lastname) . ' ' . ucfirst($userTmp->firstname) : '');
diff --git a/core/modules/modDigiriskDolibarr.class.php b/core/modules/modDigiriskDolibarr.class.php
index e10d829a4..44797029b 100644
--- a/core/modules/modDigiriskDolibarr.class.php
+++ b/core/modules/modDigiriskDolibarr.class.php
@@ -776,6 +776,8 @@ public function __construct($db)
$i++ => ['DIGIRISKDOLIBARR_TICKET_DATE_VISIBLE', 'integer', 1, '', 0, 'current'],
$i++ => ['DIGIRISKDOLIBARR_TICKET_DATE_REQUIRED', 'integer', 1, '', 0, 'current'],
$i++ => ['DIGIRISKDOLIBARR_TICKET_STATISTICS_ACCIDENT_TIME_RANGE', 'chaine', '{"'. $langs->transnoentities("WithoutWorkStop") .'":"less:1:days", "'. $langs->transnoentities("LessThanFourDays") .'":"less:4:days","'. $langs->transnoentities("LessThanTwentyOneDays") .'":"less:21:days","'. $langs->transnoentities("LessThanThreeMonth") .'":"less:3:months","'. $langs->transnoentities("LessThanSixMonths") .'":"less:6:months","'. $langs->transnoentities("LongTimeWorkStop") .'":"more:6:months"}', '', 0, 'current'],
+ $i++ => ['DIGIRISKDOLIBARR_TICKET_CREATION_EXTERNAL_REDIRECTION_URL', 'chaine', '', '', 0, 'current'],
+ $i++ => ['DIGIRISKDOLIBARR_TICKET_CREATION_OPTION', 'chaine', 'default_redirection_link', '', 0, 'current'],
// CONST MODULE
$i++ => ['DIGIRISKDOLIBARR_SUBPERMCATEGORY_FOR_DOCUMENTS', 'integer', 1, '', 0, 'current'],
diff --git a/langs/fr_FR/digiriskdolibarr.lang b/langs/fr_FR/digiriskdolibarr.lang
index 55502b51e..52232e69b 100644
--- a/langs/fr_FR/digiriskdolibarr.lang
+++ b/langs/fr_FR/digiriskdolibarr.lang
@@ -1353,6 +1353,9 @@ FkTicket = Ticket lié
PublicTicket = Interface publique des tickets
TicketPublicInterfaceForbidden = Accès interdit à l'interface publique des tickets
WHSRegister = Registre SST
+TicketCreationDefaultURL = URL par défaut
+TicketCreationExternalURL = URL externe
+TicketCreationShortcutURL = URL raccourcie
# Stats - Statistiques
TicketStatistics = Statistiques des tickets