Skip to content

Commit

Permalink
Merge pull request #181 from paulandrieux/bugfix/VICMS-676-id-collision
Browse files Browse the repository at this point in the history
[VICMS-676] ID collision
  • Loading branch information
Leny BERNARD committed Sep 7, 2015
2 parents 41c6a83 + 73392ff commit 03f8075
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
9 changes: 5 additions & 4 deletions Bundle/CoreBundle/Helper/ViewHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,17 +75,18 @@ public function buildViewsReferences($views)
public function cleanVirtualViews(&$viewsReferences)
{
foreach ($viewsReferences as $viewReference) {
// If viewReference is a persisted page
// If viewReference is a persisted page, we want to clean virtual BEPs
if ($viewReference['viewNamespace'] == 'Victoire\Bundle\BusinessEntityPageBundle\Entity\BusinessEntityPage') {
array_walk($viewsReferences, function ($_viewReference, $key) use ($viewReference, &$viewsReferences) {
if ($_viewReference['viewNamespace'] == 'Victoire\Bundle\BusinessEntityPageBundle\Entity\BusinessEntityPagePattern'
&& !empty($_viewReference['entityId'])
&& $_viewReference['entityId'] == $viewReference['entityId']) {
unset($viewsReferences[$key]);
&& !empty($_viewReference['entityNamespace']) && $_viewReference['entityNamespace'] == $viewReference['entityNamespace']
&& !empty($_viewReference['entityId']) && $_viewReference['entityId'] == $viewReference['entityId']) {
unset($viewsReferences[$key]);
}
});
}
}

}
/**
* This method get all views (BasePage and Template) in DB and return the references, including non persisted Business entity page (pattern and businessEntityId based)
Expand Down
6 changes: 5 additions & 1 deletion Bundle/CoreBundle/Manager/Chain/ViewManagerChain.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ public function addViewManager(ViewManagerInterface $viewManager, $view)
$this->viewsManagers[$view] = $viewManager;
}

/**
* @param View $view
* @return ViewManagerInterface
*/
public function getViewManager(View $view)
{
if(array_key_exists($viewClass = get_class($view), $this->viewsManagers))
Expand All @@ -36,4 +40,4 @@ public function getViewManager(View $view)
}
throw new ServiceNotFoundException('No view manager found for ' . $viewClass);
}
}
}

0 comments on commit 03f8075

Please sign in to comment.