Skip to content

Commit

Permalink
Minor - refactor code, move function using query builder to a repo.
Browse files Browse the repository at this point in the history
  • Loading branch information
jmontoyaa committed Apr 17, 2018
1 parent eea0763 commit 1eb8e25
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 41 deletions.
9 changes: 5 additions & 4 deletions main/admin/add_drh_to_user.php
Expand Up @@ -15,18 +15,20 @@
}

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

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 */
Expand Down Expand Up @@ -58,7 +60,6 @@
foreach ($subscribedUsers as $subscribedUser) {
$em->remove($subscribedUser);
}

$em->flush();

$values = $form->exportValues();
Expand Down
20 changes: 12 additions & 8 deletions main/admin/user_information.php
Expand Up @@ -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'));
Expand All @@ -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 '<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>';
}

Expand All @@ -656,21 +661,20 @@

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">';
echo '<div class="media-left">';
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>';
}
}
Expand Down
31 changes: 31 additions & 0 deletions src/Chamilo/UserBundle/Entity/Repository/UserRepository.php
Expand Up @@ -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;
}
}
29 changes: 0 additions & 29 deletions src/Chamilo/UserBundle/Entity/User.php
Expand Up @@ -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;
}
}

0 comments on commit 1eb8e25

Please sign in to comment.