/**
  * @param Request       $request
  * @param UserInterface $user
  *
  * @return UserInterface
  */
 protected function refreshLanguagesByAliases(UserInterface $user)
 {
     $sites = array();
     $siteIds = array();
     if ($user->isSuperAdmin()) {
         $sites = $this->container->get('open_orchestra_model.repository.site')->findByDeleted(false);
     } else {
         foreach ($user->getGroups() as $group) {
             /** @var SiteInterface $site */
             $site = $group->getSite();
             if (!$site->isDeleted() && !in_array($site->getSiteId(), $siteIds)) {
                 $siteIds[] = $site->getSiteId();
                 $sites[] = $site;
             }
         }
     }
     foreach ($sites as $site) {
         if (!$user->hasLanguageBySite($site->getSiteId())) {
             $user->setLanguageBySite($site->getSiteId(), $site->getDefaultLanguage());
         }
     }
     return $user;
 }