diff --git a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php index 785be084a330bf5d3f2a1b5f55be4e0e9fd2c340..2b1b4b0b6e002eab0ba9c53ab1f11a4e69642a55 100755 --- a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php +++ b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php @@ -335,7 +335,21 @@ class MaarchParapheurController $signaturePositions = $step['signaturePositions']; } } - $workflow[(int)$step['sequence']] = ['userId' => $step['externalId'], 'mode' => $step['action'], 'signaturePositions' => $signaturePositions]; + $datePositions = null; + if (!empty($step['datePositions']) && is_array($step['datePositions'])) { + $valid = true; + foreach ($step['datePositions'] as $keyDP => $datePosition) { + if (empty($signaturePosition['positionX']) || empty($signaturePosition['positionY']) || empty($signaturePosition['page'])) { + $valid = false; + } elseif (empty($signaturePosition['color']) || empty($signaturePosition['font']) || empty($signaturePosition['format']) || empty($signaturePosition['size'])) { + $valid = false; + } + } + if ($valid) { + $datePositions = $step['datePositions']; + } + } + $workflow[(int)$step['sequence']] = ['userId' => $step['externalId'], 'mode' => $step['action'], 'signaturePositions' => $signaturePositions, 'datePositions' => $datePositions]; } } @@ -398,7 +412,21 @@ class MaarchParapheurController $signaturePositions = $step['signaturePositions']; } } - $workflow[(int)$step['sequence']] = ['userId' => $step['externalId'], 'mode' => $step['action'], 'signaturePositions' => $signaturePositions]; + $datePositions = null; + if (!empty($step['datePositions']) && is_array($step['datePositions'])) { + $valid = true; + foreach ($step['datePositions'] as $keyDP => $datePosition) { + if (empty($signaturePosition['positionX']) || empty($signaturePosition['positionY']) || empty($signaturePosition['page'])) { + $valid = false; + } elseif (empty($signaturePosition['color']) || empty($signaturePosition['font']) || empty($signaturePosition['format']) || empty($signaturePosition['size'])) { + $valid = false; + } + } + if ($valid) { + $datePositions = $step['datePositions']; + } + } + $workflow[(int)$step['sequence']] = ['userId' => $step['externalId'], 'mode' => $step['action'], 'signaturePositions' => $signaturePositions, 'datePositions' => $datePositions]; } }