Skip to content
Snippets Groups Projects
Verified Commit bdbd4d15 authored by Florian Azizian's avatar Florian Azizian
Browse files

FEAT #7888 (ixbus) control ID/Password and process_limit_date

parent 76a23a81
No related branches found
No related tags found
No related merge requests found
......@@ -37,7 +37,8 @@ function get_form_txt($values, $path_manage_action, $id_action, $table, $module,
$labelAction = functions::show_string($resAction->label_action);
}
$html = '<h2 class="title">' . $labelAction . '</h2>';
$html = '<div id="frm_error_'.$id_action.'" class="error"></div>';
$html .= '<h2 class="title">' . $labelAction . '</h2>';
$html .= '<form name="sendToExternalSB" id="sendToExternalSB" method="post" class="forms" action="#">';
$html .= '<input type="hidden" name="chosen_action" id="chosen_action" value="end_action" />';
......@@ -72,6 +73,27 @@ function get_form_txt($values, $path_manage_action, $id_action, $table, $module,
function check_form($form_id, $values)
{
$_SESSION['action_error'] = '';
$config = getXml();
if (!empty($config)) {
if ($config['id'] == 'ixbus') {
include_once 'modules/visa/class/IxbusController.php';
$loginIxbus = get_value_fields($values, 'loginIxbus');
$passwordIxbus = get_value_fields($values, 'passwordIxbus');
$userInfo = IxbusController::getInfoUtilisateur(['config' => $config, 'login' => $loginIxbus, 'password' => $passwordIxbus]);
if (!empty($userInfo->Identifiant)) {
return true;
} else {
$_SESSION['action_error'] = _WRONG_ID_PASSWORD_IXBUS;
return false;
}
}
}
return true;
}
......@@ -96,7 +118,8 @@ function manage_form($arr_id, $history, $id_action, $label_action, $status, $col
$passwordIxbus = get_value_fields($values_form, 'passwordIxbus');
$nature = get_value_fields($values_form, 'nature');
$messageModel = get_value_fields($values_form, 'messageModel');
$attachmentToFreeze = IxbusController::sendDatas(['config' => $config, 'resIdMaster' => $res_id, 'loginIxbus' => $loginIxbus, 'passwordIxbus' => $passwordIxbus, 'classeurName' => $nature, 'messageModel' => $messageModel]);
$manSignature = get_value_fields($values_form, 'mansignature');
$attachmentToFreeze = IxbusController::sendDatas(['config' => $config, 'resIdMaster' => $res_id, 'loginIxbus' => $loginIxbus, 'passwordIxbus' => $passwordIxbus, 'classeurName' => $nature, 'messageModel' => $messageModel, 'manSignature' => var_export($manSignature, true)]);
} elseif ($config['id'] == 'iParapheur') {
include_once 'modules/visa/class/IParapheurController.php';
$attachmentToFreeze = IParapheurController::sendDatas(['config' => $config, 'resIdMaster' => $res_id]);
......
......@@ -31,8 +31,6 @@ class IxbusController
}
$html .= '</select><br /><br />';
// $initializeDatas['messagesModel'] = ['12' => 'modele courrier', '34' => 'DRH'];
$html .= '<label for="messageModel">' . _WORKFLOW_MODEL_IXBUS . '</label><select name="messageModel" id="messageModel">';
foreach ($initializeDatas['messagesModel'] as $key => $value) {
$html .= '<option value="';
......@@ -44,6 +42,7 @@ class IxbusController
$html .= '</select><br /><br />';
$html .= '<label for="loginIxbus">'._ID_IXBUS.'</label><input name="loginIxbus" id="loginIxbus"/><br /><br />';
$html .= '<label for="passwordIxbus">'._PASSWORD_IXBUS.'</label><input type="password" name="passwordIxbus" id="passwordIxbus"/><br /><br />';
$html .= _ESIGN . '<input type="radio" name="mansignature" id="esignature" value="false" checked="checked" />' . _HANDWRITTEN_SIGN .'<input type="radio" name="mansignature" id="signature" value="true" checked="checked" /><br /><br />';
return $html;
}
......@@ -282,6 +281,14 @@ class IxbusController
$encodedZipFile = IxbusController::createZip(['filepath' => $filePath, 'filename' => $adrInfo['filename'], 'res_id_master' => $aArgs['resIdMaster']]);
$mainResource = \Resource\models\ResModel::getExtById(['resId' => $aArgs['resIdMaster'], 'select' => ['process_limit_date']]);
if (empty($mainResource['process_limit_date'])) {
$processLimitDate = $mainResource['process_limit_date'] = date('Y-m-d', strtotime(date("Y-m-d"). ' + 7 days'));
} else {
$processLimitDateTmp = explode(" ", $mainResource['process_limit_date']);
$processLimitDate = $processLimitDateTmp[0];
}
$xmlPostString = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
......@@ -291,12 +298,12 @@ class IxbusController
<NomDossier>'. $value['title'] .'</NomDossier>
<NomModele>'. $aArgs['messageModel'] .'</NomModele>
<NomNature>'. $aArgs['classeurName'] .'</NomNature>
<DateLimite>2019-12-17</DateLimite>
<DateLimite>'.$processLimitDate.'</DateLimite>
<LoginResponsable>'. $userInfo->NomUtilisateur .'</LoginResponsable>
<Confidentiel>false</Confidentiel>
<DocumentModifiable>true</DocumentModifiable>
<AnnexesSignables>false</AnnexesSignables>
<SignatureManuscrite>false</SignatureManuscrite>
<SignatureManuscrite>'.$aArgs['manSignature'].'</SignatureManuscrite>
</SendDossier>
</soap:Body>
</soap:Envelope>';
......@@ -365,12 +372,12 @@ class IxbusController
$etatDossier = IxbusController::getEtatDossier(['config' => $aArgs['config'], 'sessionId' => $sessionId, 'dossier_id' => $value->external_id]);
// Refused
if ((string)$etatDossier == $aArgs['config']['data']['ixbusIdRefused']) {
if ((string)$etatDossier == $aArgs['config']['data']['ixbusIdEtatRefused']) {
$aArgs['idsToRetrieve'][$version][$resId]->status = 'refused';
$notes = IxbusController::getAnnotations(['config' => $aArgs['config'], 'sessionId' => $sessionId, 'dossier_id' => $value->external_id]);
$aArgs['idsToRetrieve'][$version][$resId]->noteContent = (string)$notes->Annotation;
// Validated
} elseif ((string)$etatDossier == $aArgs['config']['data']['ixbusIdValidated']) {
} elseif ((string)$etatDossier == $aArgs['config']['data']['ixbusIdEtatValidated']) {
$aArgs['idsToRetrieve'][$version][$resId]->status = 'validated';
$signedDocument = IxbusController::getAnnexes(['config' => $aArgs['config'], 'sessionId' => $sessionId, 'dossier_id' => $value->external_id]);
$aArgs['idsToRetrieve'][$version][$resId]->format = 'pdf'; // format du fichier récupéré
......
......@@ -291,3 +291,15 @@ if (!defined('_ID_IXBUS')) {
if (!defined('_PASSWORD_IXBUS')) {
define('_PASSWORD_IXBUS', "Password IxBus");
}
if (!defined('_WRONG_ID_PASSWORD_IXBUS')) {
define('_WRONG_ID_PASSWORD_IXBUS', "Invalid IxBus ID or password");
}
if (!defined('_HANDWRITTEN_SIGN')) {
define('_HANDWRITTEN_SIGN', "Handwritten signature");
}
if (!defined('_ESIGN')) {
define('_ESIGN', "Electronique signature");
}
......@@ -441,3 +441,15 @@ if (!defined('_ID_IXBUS')) {
if (!defined('_PASSWORD_IXBUS')) {
define('_PASSWORD_IXBUS', "Mot de passe IxBus");
}
if (!defined('_WRONG_ID_PASSWORD_IXBUS')) {
define('_WRONG_ID_PASSWORD_IXBUS', "Identifiant ou Mot de passe IxBus incorrect");
}
if (!defined('_HANDWRITTEN_SIGN')) {
define('_HANDWRITTEN_SIGN', "Signature manuscrite");
}
if (!defined('_ESIGN')) {
define('_ESIGN', "Signature électronique");
}
......@@ -7,8 +7,8 @@
<password></password>
<url></url>
<organizationId>9</organizationId>
<ixbusIdRefused>14</ixbusIdRefused>
<ixbusIdValidated>2</ixbusIdValidated>
<ixbusIdEtatRefused>14</ixbusIdEtatRefused>
<ixbusIdEtatValidated>2</ixbusIdEtatValidated>
</signatoryBook>
<signatoryBook>
<id>iParapheur</id>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment