Skip to content

Commit dbfec07

Browse files
committed
Fixed some anr creation issues.
1 parent 41997df commit dbfec07

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

src/Service/AnrInstanceRiskService.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,11 @@ public function createInstanceRisks(
202202
$instanceRiskData = array_values($params['risks'])[$riskKey];
203203
$instanceRisk->setContext($instanceRiskData['context'] ?? '');
204204
if (!empty($instanceRiskData['riskOwner'])) {
205+
/** @var Entity\Anr $anr */
206+
$anr = $instance->getAnr();
205207
$instanceRiskOwner = $this->instanceRiskOwnerService->getOrCreateInstanceRiskOwner(
206-
$instance->getAnr(),
208+
$anr,
209+
$anr,
207210
$instanceRiskData['riskOwner']
208211
);
209212
$instanceRisk->setInstanceRiskOwner($instanceRiskOwner);

src/Service/AnrService.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,7 @@ private function duplicateRolfRisks(
961961
foreach ($sourceRolfRisks as $sourceRolfRisk) {
962962
$newRolfRisk = (new Entity\RolfRisk())
963963
->setAnr($newAnr)
964-
->setCode($sourceRolfRisk->getCode)
964+
->setCode($sourceRolfRisk->getCode())
965965
->setLabels($sourceRolfRisk->getLabels())
966966
->setDescriptions($sourceRolfRisk->getDescriptions())
967967
->setCreator($this->connectedUser->getEmail());
@@ -1185,7 +1185,7 @@ private function duplicateObjectCategoryAndItsParents(
11851185
if ($sourceObjectCategory->getParent() !== null
11861186
&& !isset($objectCategoryOldIdsToNewObjects[$sourceObjectCategory->getParent()->getId()])
11871187
) {
1188-
$objectCategoryOldIdsToNewObjects = $this->duplicateObjectCategoryAndItsParents(
1188+
$objectCategoryOldIdsToNewObjects += $this->duplicateObjectCategoryAndItsParents(
11891189
$newAnr,
11901190
$sourceObjectCategory->getParent(),
11911191
$objectCategoryOldIdsToNewObjects
@@ -1195,7 +1195,9 @@ private function duplicateObjectCategoryAndItsParents(
11951195
$objectCategoryOldIdsToNewObjects[$sourceObjectCategory->getId()] = $this->anrObjectCategoryService->create(
11961196
$newAnr,
11971197
array_merge([
1198-
'parent' => $objectCategoryOldIdsToNewObjects[$sourceObjectCategory->getParent()->getId()] ?? null,
1198+
'parent' => $sourceObjectCategory->getParent() !== null
1199+
? $objectCategoryOldIdsToNewObjects[$sourceObjectCategory->getParent()->getId()]
1200+
: null,
11991201
'setOnlyExactPosition' => true,
12001202
'position' => $sourceObjectCategory->getPosition(),
12011203
], $sourceObjectCategory->getLabels()),
@@ -1426,7 +1428,10 @@ private function duplicateInstanceRisks(
14261428
if ($sourceInstanceRisk instanceof Entity\InstanceRisk
14271429
&& $sourceInstanceRisk->getInstanceRiskOwner() !== null
14281430
) {
1431+
/** @var Entity\Anr $sourceAnr */
1432+
$sourceAnr = $sourceInstance->getAnr();
14291433
$newInstanceRisk->setInstanceRiskOwner($this->instanceRiskOwnerService->getOrCreateInstanceRiskOwner(
1434+
$sourceAnr,
14301435
$newAnr,
14311436
$sourceInstanceRisk->getInstanceRiskOwner()->getName(),
14321437
));
@@ -1463,7 +1468,10 @@ private function duplicateOperationalInstanceRisks(
14631468
if ($sourceInstanceRiskOp instanceof Entity\InstanceRiskOp
14641469
&& $sourceInstanceRiskOp->getInstanceRiskOwner() !== null
14651470
) {
1471+
/** @var Entity\Anr $sourceAnr */
1472+
$sourceAnr = $sourceInstance->getAnr();
14661473
$instanceRiskOwner = $this->instanceRiskOwnerService->getOrCreateInstanceRiskOwner(
1474+
$sourceAnr,
14671475
$newAnr,
14681476
$sourceInstanceRiskOp->getInstanceRiskOwner()->getName(),
14691477
);

src/Service/InstanceRiskOwnerService.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,12 @@ public function create(Anr $anr, string $ownerName, bool $saveIdDb = false): Ins
4141
}
4242

4343
public function getOrCreateInstanceRiskOwner(
44+
Anr $sourceAnr,
4445
Anr $anr,
4546
string $ownerName
4647
): InstanceRiskOwner {
4748
if (!isset($this->cachedData['instanceRiskOwners'][$ownerName])) {
48-
$instanceRiskOwner = $this->instanceRiskOwnerTable->findByAnrAndName($anr, $ownerName);
49+
$instanceRiskOwner = $this->instanceRiskOwnerTable->findByAnrAndName($sourceAnr, $ownerName);
4950
if ($instanceRiskOwner === null) {
5051
$instanceRiskOwner = $this->create($anr, $ownerName);
5152
}

0 commit comments

Comments
 (0)