Refactored code

This commit is contained in:
Nicolas Lœuillet 2017-03-31 11:04:18 +02:00
parent 9102851f59
commit e682a70f88
No known key found for this signature in database
GPG key ID: BDC1EFB5CA0145F2

View file

@ -284,14 +284,13 @@ class ConfigController extends Controller
}
/**
* Remove all tags for a given user and cleanup orphan tags.
* Remove all tags for given tags and a given user and cleanup orphan tags.
*
* @param array $tags
* @param int $userId
*/
private function removeAllTagsByUserId($userId)
private function removeAllTagsByStatusAndUserId($tags, $userId)
{
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findAllTags($userId);
if (empty($tags)) {
return;
}
@ -312,6 +311,17 @@ class ConfigController extends Controller
$em->flush();
}
/**
* Remove all tags for a given user and cleanup orphan tags.
*
* @param int $userId
*/
private function removeAllTagsByUserId($userId)
{
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findAllTags($userId);
$this->removeAllTagsByStatusAndUserId($tags, $userId);
}
/**
* Remove all tags for a given user and cleanup orphan tags.
*
@ -320,25 +330,7 @@ class ConfigController extends Controller
private function removeTagsForArchivedByUserId($userId)
{
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findTagsForArchivedArticles($userId);
if (empty($tags)) {
return;
}
$this->getDoctrine()
->getRepository('WallabagCoreBundle:Entry')
->removeTags($userId, $tags);
// cleanup orphan tags
$em = $this->getDoctrine()->getManager();
foreach ($tags as $tag) {
if (count($tag->getEntries()) === 0) {
$em->remove($tag);
}
}
$em->flush();
$this->removeAllTagsByStatusAndUserId($tags, $userId);
}
private function removeAnnotationsForArchivedByUserId($userId)