Browse Source

Minor - refactor code, move function using query builder to a repo.

jmontoyaa 7 years ago
parent
commit
1eb8e256dd

+ 5 - 4
main/admin/add_drh_to_user.php

@@ -15,7 +15,7 @@ if (!isset($_REQUEST['u'])) {
 }
 
 $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 @@ if (!$user) {
     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 @@ if ($form->validate()) {
     foreach ($subscribedUsers as $subscribedUser) {
         $em->remove($subscribedUser);
     }
-
     $em->flush();
 
     $values = $form->exportValues();

+ 12 - 8
main/admin/user_information.php

@@ -620,7 +620,13 @@ if ($studentBossList) {
     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 @@ if ($hrmList) {
     /** @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 '<div class="col-sm-4 col-md-3">';
         echo '<div class="media">';
         echo '<div class="media-left">';
         echo Display::img($userPicture, $hrmInfo['complete_name'], ['class' => 'media-object'], false);
         echo '</div>';
         echo '<div class="media-body">';
-        echo '<h4 class="media-heading">'.$hrmInfo['complete_name'].'</h4>';
+        echo '<h4 class="media-heading">'.$hrmInfo['complete_name_with_message_link'].'</h4>';
         echo $hrmInfo['username'];
         echo '</div>';
         echo '</div>';
         echo '</div>';
     }
-
     echo '</div>';
 }
 
@@ -656,7 +661,7 @@ if ($user['status'] == DRH) {
 
         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 '<div class="col-sm-4 col-md-3">';
             echo '<div class="media">';
@@ -664,13 +669,12 @@ if ($user['status'] == DRH) {
             echo Display::img($userPicture, $userAssigned['complete_name'], ['class' => 'media-object'], false);
             echo '</div>';
             echo '<div class="media-body">';
-            echo '<h4 class="media-heading">'.$userAssigned['complete_name'].'</h4>';
-            echo $userAssigned['username'];
+            echo '<h4 class="media-heading">'.$userAssigned['complete_name_with_message_link'].'</h4>';
+            echo $userAssigned['official_code'];
             echo '</div>';
             echo '</div>';
             echo '</div>';
         }
-
         echo '</div>';
     }
 }

+ 31 - 0
src/Chamilo/UserBundle/Entity/Repository/UserRepository.php

@@ -320,4 +320,35 @@ class UserRepository extends EntityRepository
             ->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;
+    }
 }

+ 0 - 29
src/Chamilo/UserBundle/Entity/User.php

@@ -2470,33 +2470,4 @@ class User implements UserInterface //implements ParticipantInterface, ThemeUser
     {
         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;
-    }
 }