mirror of
https://github.com/shlinkio/shlink.git
synced 2026-03-10 01:03:13 +08:00
Ensured old visit locations are deleted when relocating a visit that has already been located
This commit is contained in:
@@ -79,9 +79,16 @@ class VisitLocator implements VisitLocatorInterface
|
||||
|
||||
private function locateVisit(Visit $visit, VisitLocation $location, VisitGeolocationHelperInterface $helper): void
|
||||
{
|
||||
$prevLocation = $visit->getVisitLocation();
|
||||
|
||||
$visit->locate($location);
|
||||
$this->em->persist($visit);
|
||||
|
||||
// In order to avoid leaving orphan locations, remove the previous one
|
||||
if ($prevLocation !== null) {
|
||||
$this->em->remove($prevLocation);
|
||||
}
|
||||
|
||||
$helper->onVisitLocated($location, $visit);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user