chg: [event] Deduplicate related events for extended view

pull/6259/head
Jakub Onderka 2020-08-31 15:32:27 +02:00
parent 076322230f
commit 89d503cd65
1 changed files with 10 additions and 1 deletions

View File

@ -2447,7 +2447,7 @@ class Event extends AppModel
),
);
$event['Event']['extensionEvents'][$eventMeta['id']] = $eventMeta;
$thingsToMerge = array('Attribute', 'Object', 'ShadowAttribute', 'Galaxy', 'RelatedEvent');
$thingsToMerge = array('Attribute', 'Object', 'ShadowAttribute', 'Galaxy');
foreach ($thingsToMerge as $thingToMerge) {
$event[$thingToMerge] = array_merge($event[$thingToMerge], $extensionEvent[$thingToMerge]);
}
@ -2460,6 +2460,15 @@ class Event extends AppModel
}
$event['EventTag'][] = $eventTag;
}
// Merge just related events that are not already in main event
foreach ($extensionEvent['RelatedEvent'] as $relatedEvent) {
foreach ($event['RelatedEvent'] as $rE) {
if ($rE['Event']['id'] == $relatedEvent['Event']['id']) {
continue 2; // event already exists, skip
}
}
$event['RelatedEvent'][] = $relatedEvent;
}
}
return $event;
}