diff --git a/main/admin/add_drh_to_user.php b/main/admin/add_drh_to_user.php index 3b42c67e551..d78fe82d552 100644 --- a/main/admin/add_drh_to_user.php +++ b/main/admin/add_drh_to_user.php @@ -15,7 +15,7 @@ } $em = Database::getManager(); -$relationsRepo = $em->getRepository('ChamiloCoreBundle:UserRelUser'); +$userRepository = $em->getRepository('ChamiloUserBundle:User'); /** @var UserEntity $user */ $user = UserManager::getManager()->find($_REQUEST['u']); @@ -23,10 +23,12 @@ api_not_allowed(true); } -$subscribedUsers = $user->getHrm(); +$subscribedUsers = $userRepository->getAssignedHrmUserList( + $user->getId(), + api_get_current_access_url_id() +); $hrmOptions = []; - /** @var UserRelUser $subscribedUser */ foreach ($subscribedUsers as $subscribedUser) { /** @var UserEntity $hrm */ @@ -58,7 +60,6 @@ foreach ($subscribedUsers as $subscribedUser) { $em->remove($subscribedUser); } - $em->flush(); $values = $form->exportValues(); diff --git a/main/admin/user_information.php b/main/admin/user_information.php index 2615dc688ce..9a8499ed429 100755 --- a/main/admin/user_information.php +++ b/main/admin/user_information.php @@ -620,7 +620,13 @@ echo $studentBossListToString; } -$hrmList = $userEntity->getHrm(); +$em = Database::getManager(); +$userRepository = $em->getRepository('ChamiloUserBundle:User'); + +$hrmList = $userRepository->getAssignedHrmUserList( + $userEntity->getId(), + api_get_current_access_url_id() +); if ($hrmList) { echo Display::page_subheader(get_lang('HrmList')); @@ -629,21 +635,20 @@ /** @var UserRelUser $hrm */ foreach ($hrmList as $hrm) { $hrmInfo = api_get_user_info($hrm->getFriendUserId()); - $userPicture = isset($hrmInfo["avatar_medium"]) ? $hrmInfo["avatar_medium"] : $hrmInfo["avatar"]; + $userPicture = isset($hrmInfo['avatar_medium']) ? $hrmInfo['avatar_medium'] : $hrmInfo['avatar']; echo '
'; echo '
'; echo '
'; echo Display::img($userPicture, $hrmInfo['complete_name'], ['class' => 'media-object'], false); echo '
'; echo '
'; - echo '

'.$hrmInfo['complete_name'].'

'; + echo '

'.$hrmInfo['complete_name_with_message_link'].'

'; echo $hrmInfo['username']; echo '
'; echo '
'; echo '
'; } - echo ''; } @@ -656,7 +661,7 @@ foreach ($usersAssigned as $userAssigned) { $userAssigned = api_get_user_info($userAssigned['user_id']); - $userPicture = isset($userAssigned["avatar_medium"]) ? $userAssigned["avatar_medium"] : $userAssigned["avatar"]; + $userPicture = isset($userAssigned['avatar_medium']) ? $userAssigned['avatar_medium'] : $userAssigned['avatar']; echo '
'; echo '
'; @@ -664,13 +669,12 @@ echo Display::img($userPicture, $userAssigned['complete_name'], ['class' => 'media-object'], false); echo '
'; echo '
'; - echo '

'.$userAssigned['complete_name'].'

'; - echo $userAssigned['username']; + echo '

'.$userAssigned['complete_name_with_message_link'].'

'; + echo $userAssigned['official_code']; echo '
'; echo '
'; echo ''; } - echo ''; } } diff --git a/src/Chamilo/UserBundle/Entity/Repository/UserRepository.php b/src/Chamilo/UserBundle/Entity/Repository/UserRepository.php index c5dbc7603b4..dfd8dbef80d 100644 --- a/src/Chamilo/UserBundle/Entity/Repository/UserRepository.php +++ b/src/Chamilo/UserBundle/Entity/Repository/UserRepository.php @@ -320,4 +320,35 @@ public function findUsersToSendMessage($currentUserId, $search, $limit = 10) ->setParameters(['search' => "%$search%"]) ->getResult(); } + + /** + * Get the list of HRM who have assigned this user. + * + * @param int $userId + * @param int $urlId + * + * @return array + */ + public function getAssignedHrmUserList($userId, $urlId) + { + $qb = $this->createQueryBuilder('user'); + + $hrmList = $qb + ->select('uru') + ->innerJoin('ChamiloCoreBundle:UserRelUser', 'uru', Join::WITH,'uru.userId = user.id') + ->innerJoin('ChamiloCoreBundle:AccessUrlRelUser', 'auru', Join::WITH, 'auru.userId = uru.friendUserId') + ->where( + $qb->expr()->eq('auru.accessUrlId', $urlId) + ) + ->andWhere( + $qb->expr()->eq('uru.userId', $userId) + ) + ->andWhere( + $qb->expr()->eq('uru.relationType', USER_RELATION_TYPE_RRHH) + ) + ->getQuery() + ->getResult(); + + return $hrmList; + } } diff --git a/src/Chamilo/UserBundle/Entity/User.php b/src/Chamilo/UserBundle/Entity/User.php index 8deba872e38..dd0dc8295c0 100644 --- a/src/Chamilo/UserBundle/Entity/User.php +++ b/src/Chamilo/UserBundle/Entity/User.php @@ -2470,33 +2470,4 @@ public function getSessionAsGeneralCoach() { return $this->sessionAsGeneralCoach; } - - /** - * Get the list of HRM who have assigned this user. - * - * @return array - */ - public function getHrm() - { - $em = \Database::getManager(); - $qb = $em->createQueryBuilder(); - - $hrmList = $qb - ->select('uru') - ->from('ChamiloCoreBundle:UserRelUser', 'uru') - ->innerJoin('ChamiloCoreBundle:AccessUrlRelUser', 'auru', Join::WITH, 'auru.userId = uru.friendUserId') - ->where( - $qb->expr()->eq('auru.accessUrlId', api_get_current_access_url_id()) - ) - ->andWhere( - $qb->expr()->eq('uru.userId', $this->id) - ) - ->andWhere( - $qb->expr()->eq('uru.relationType', USER_RELATION_TYPE_RRHH) - ) - ->getQuery() - ->getResult(); - - return $hrmList; - } }