Skip to content

Commit 1eb8e25

Browse files
committed
Minor - refactor code, move function using query builder to a repo.
1 parent eea0763 commit 1eb8e25

File tree

4 files changed

+48
-41
lines changed

4 files changed

+48
-41
lines changed

Diff for: main/admin/add_drh_to_user.php

+5-4
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,20 @@
1515
}
1616

1717
$em = Database::getManager();
18-
$relationsRepo = $em->getRepository('ChamiloCoreBundle:UserRelUser');
18+
$userRepository = $em->getRepository('ChamiloUserBundle:User');
1919
/** @var UserEntity $user */
2020
$user = UserManager::getManager()->find($_REQUEST['u']);
2121

2222
if (!$user) {
2323
api_not_allowed(true);
2424
}
2525

26-
$subscribedUsers = $user->getHrm();
26+
$subscribedUsers = $userRepository->getAssignedHrmUserList(
27+
$user->getId(),
28+
api_get_current_access_url_id()
29+
);
2730

2831
$hrmOptions = [];
29-
3032
/** @var UserRelUser $subscribedUser */
3133
foreach ($subscribedUsers as $subscribedUser) {
3234
/** @var UserEntity $hrm */
@@ -58,7 +60,6 @@
5860
foreach ($subscribedUsers as $subscribedUser) {
5961
$em->remove($subscribedUser);
6062
}
61-
6263
$em->flush();
6364

6465
$values = $form->exportValues();

Diff for: main/admin/user_information.php

+12-8
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,13 @@
620620
echo $studentBossListToString;
621621
}
622622

623-
$hrmList = $userEntity->getHrm();
623+
$em = Database::getManager();
624+
$userRepository = $em->getRepository('ChamiloUserBundle:User');
625+
626+
$hrmList = $userRepository->getAssignedHrmUserList(
627+
$userEntity->getId(),
628+
api_get_current_access_url_id()
629+
);
624630

625631
if ($hrmList) {
626632
echo Display::page_subheader(get_lang('HrmList'));
@@ -629,21 +635,20 @@
629635
/** @var UserRelUser $hrm */
630636
foreach ($hrmList as $hrm) {
631637
$hrmInfo = api_get_user_info($hrm->getFriendUserId());
632-
$userPicture = isset($hrmInfo["avatar_medium"]) ? $hrmInfo["avatar_medium"] : $hrmInfo["avatar"];
633638

639+
$userPicture = isset($hrmInfo['avatar_medium']) ? $hrmInfo['avatar_medium'] : $hrmInfo['avatar'];
634640
echo '<div class="col-sm-4 col-md-3">';
635641
echo '<div class="media">';
636642
echo '<div class="media-left">';
637643
echo Display::img($userPicture, $hrmInfo['complete_name'], ['class' => 'media-object'], false);
638644
echo '</div>';
639645
echo '<div class="media-body">';
640-
echo '<h4 class="media-heading">'.$hrmInfo['complete_name'].'</h4>';
646+
echo '<h4 class="media-heading">'.$hrmInfo['complete_name_with_message_link'].'</h4>';
641647
echo $hrmInfo['username'];
642648
echo '</div>';
643649
echo '</div>';
644650
echo '</div>';
645651
}
646-
647652
echo '</div>';
648653
}
649654

@@ -656,21 +661,20 @@
656661

657662
foreach ($usersAssigned as $userAssigned) {
658663
$userAssigned = api_get_user_info($userAssigned['user_id']);
659-
$userPicture = isset($userAssigned["avatar_medium"]) ? $userAssigned["avatar_medium"] : $userAssigned["avatar"];
664+
$userPicture = isset($userAssigned['avatar_medium']) ? $userAssigned['avatar_medium'] : $userAssigned['avatar'];
660665

661666
echo '<div class="col-sm-4 col-md-3">';
662667
echo '<div class="media">';
663668
echo '<div class="media-left">';
664669
echo Display::img($userPicture, $userAssigned['complete_name'], ['class' => 'media-object'], false);
665670
echo '</div>';
666671
echo '<div class="media-body">';
667-
echo '<h4 class="media-heading">'.$userAssigned['complete_name'].'</h4>';
668-
echo $userAssigned['username'];
672+
echo '<h4 class="media-heading">'.$userAssigned['complete_name_with_message_link'].'</h4>';
673+
echo $userAssigned['official_code'];
669674
echo '</div>';
670675
echo '</div>';
671676
echo '</div>';
672677
}
673-
674678
echo '</div>';
675679
}
676680
}

Diff for: src/Chamilo/UserBundle/Entity/Repository/UserRepository.php

+31
Original file line numberDiff line numberDiff line change
@@ -320,4 +320,35 @@ public function findUsersToSendMessage($currentUserId, $search, $limit = 10)
320320
->setParameters(['search' => "%$search%"])
321321
->getResult();
322322
}
323+
324+
/**
325+
* Get the list of HRM who have assigned this user.
326+
*
327+
* @param int $userId
328+
* @param int $urlId
329+
*
330+
* @return array
331+
*/
332+
public function getAssignedHrmUserList($userId, $urlId)
333+
{
334+
$qb = $this->createQueryBuilder('user');
335+
336+
$hrmList = $qb
337+
->select('uru')
338+
->innerJoin('ChamiloCoreBundle:UserRelUser', 'uru', Join::WITH,'uru.userId = user.id')
339+
->innerJoin('ChamiloCoreBundle:AccessUrlRelUser', 'auru', Join::WITH, 'auru.userId = uru.friendUserId')
340+
->where(
341+
$qb->expr()->eq('auru.accessUrlId', $urlId)
342+
)
343+
->andWhere(
344+
$qb->expr()->eq('uru.userId', $userId)
345+
)
346+
->andWhere(
347+
$qb->expr()->eq('uru.relationType', USER_RELATION_TYPE_RRHH)
348+
)
349+
->getQuery()
350+
->getResult();
351+
352+
return $hrmList;
353+
}
323354
}

Diff for: src/Chamilo/UserBundle/Entity/User.php

-29
Original file line numberDiff line numberDiff line change
@@ -2470,33 +2470,4 @@ public function getSessionAsGeneralCoach()
24702470
{
24712471
return $this->sessionAsGeneralCoach;
24722472
}
2473-
2474-
/**
2475-
* Get the list of HRM who have assigned this user.
2476-
*
2477-
* @return array
2478-
*/
2479-
public function getHrm()
2480-
{
2481-
$em = \Database::getManager();
2482-
$qb = $em->createQueryBuilder();
2483-
2484-
$hrmList = $qb
2485-
->select('uru')
2486-
->from('ChamiloCoreBundle:UserRelUser', 'uru')
2487-
->innerJoin('ChamiloCoreBundle:AccessUrlRelUser', 'auru', Join::WITH, 'auru.userId = uru.friendUserId')
2488-
->where(
2489-
$qb->expr()->eq('auru.accessUrlId', api_get_current_access_url_id())
2490-
)
2491-
->andWhere(
2492-
$qb->expr()->eq('uru.userId', $this->id)
2493-
)
2494-
->andWhere(
2495-
$qb->expr()->eq('uru.relationType', USER_RELATION_TYPE_RRHH)
2496-
)
2497-
->getQuery()
2498-
->getResult();
2499-
2500-
return $hrmList;
2501-
}
25022473
}

0 commit comments

Comments
 (0)