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 ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +print ''; +print ''; +print ''; +print ''; // @todo display shortcut url +print ''; +print ''; + +print '
' . $langs->transnoentities("Option") . '' . $langs->transnoentities("Value") . '' . $langs->transnoentities("Action") . '
'; +print ''; +print ''; +print ''; +print ''; +print '
' . $langs->trans('TicketCreationDefaultURL') . '' . dol_buildpath('/custom/digiriskdolibarr/public/ticket/create_ticket.php?entity=' . $conf->entity, 2) . '
'; +print ''; +print ''; +print ''; +print ''; +print '
' . $langs->trans('TicketCreationExternalURL') . '
'; +print ''; +print ''; +print ''; +print '
'; +print '
'; +print ''; +print ''; +print ''; +print ''; +print '
' . $langs->trans('TicketCreationShortcutURL') . '' . $langs->transnoentities('Generate') . '
'; + 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