diff --git a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/CasesTest.php b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/CasesTest.php index cccb6283e..99778d4f2 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/CasesTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/CasesTest.php @@ -77,33 +77,4 @@ class CasesTest extends TestCase $case = new Cases(); $case->deleteCase($application->APP_UID, $_SESSION['USER_LOGGED']); } - /** - * This checks the validation of documents - * - * @covers \ProcessMaker\BusinessModel\Cases::validateAppDocUid() - * @test - */ - public function it_should_validate_app_doc_uid() - { - $arrayVariableDocument = [ - 0 => [ - "appDocUid" => "4371401485e7cd60d160062060139220", - "name" => "test_1.txt", - "version" => "1" - ], - 1 => [ - "name" => "test_1.txt", - "version" => "1" - ], - 2 => [ - "appDocUid" => "6837968225e7cd60dc17588042896388", - "name" => "test_1.txt", - "version" => "1" - ] - ]; - $case = new Cases(); - $newArrayVariableDocument = $case->validateAppDocUid($arrayVariableDocument); - $this->assertNotEmpty($newArrayVariableDocument); - $this->assertNotEquals($newArrayVariableDocument, $arrayVariableDocument); - } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index edf64d925..c8e078d8a 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -3230,8 +3230,6 @@ class Cases $arrayApplicationData = $this->getApplicationRecordByPk($applicationUid, [], false); $arrayApplicationData['APP_DATA'] = $case->unserializeData($arrayApplicationData['APP_DATA']); $flagDelete = false; - $arrayVariableDocumentToDelete = $this->validateAppDocUid($arrayVariableDocumentToDelete); - foreach ($arrayVariableDocumentToDelete as $key => $value) { if (is_array($value) && !empty($value)) { $type = ''; @@ -3256,13 +3254,15 @@ class Cases $arrayDocumentDelete = $value; foreach ($arrayDocumentDelete as $value2) { - $appDocument->remove($value2['appDocUid'], (int)($value2['version'])); + if ($value2['appDocUid'] !== "") { + $appDocument->remove($value2['appDocUid'], (int)($value2['version'])); - $arrayApplicationData['APP_DATA'] = $this->applicationDataDeleteMultipleFile( - $arrayApplicationData['APP_DATA'], $variable, null, $type, $value2 - ); + $arrayApplicationData['APP_DATA'] = $this->applicationDataDeleteMultipleFile( + $arrayApplicationData['APP_DATA'], $variable, null, $type, $value2 + ); - $flagDelete = true; + $flagDelete = true; + } } break; case 'GRID': @@ -3274,13 +3274,15 @@ class Cases $arrayDocumentDelete = $value3; foreach ($arrayDocumentDelete as $value4) { - $appDocument->remove($value4['appDocUid'], (int)($value4['version'])); + if ($value4['appDocUid'] !== "") { + $appDocument->remove($value4['appDocUid'], (int)($value4['version'])); - $arrayApplicationData['APP_DATA'] = $this->applicationDataDeleteMultipleFile( - $arrayApplicationData['APP_DATA'], $grid, $variable, $type, $value4 - ); + $arrayApplicationData['APP_DATA'] = $this->applicationDataDeleteMultipleFile( + $arrayApplicationData['APP_DATA'], $grid, $variable, $type, $value4 + ); - $flagDelete = true; + $flagDelete = true; + } } } } @@ -3316,24 +3318,6 @@ class Cases } } - /** - * Validate if all documents have appDocUid - * - * @param array $arrayVariableDocument - * - * @return array - */ - public function validateAppDocUid(array $arrayVariableDocument) - { - $newArrayVariableDocument = []; - foreach ($arrayVariableDocument as $value) { - if (array_key_exists('appDocUid', $value)) { - $newArrayVariableDocument[] = $value; - } - } - return $newArrayVariableDocument; - } - /** * Get Permissions, Participate, Access, Objects supervisor *