|
@@ -5,6 +5,10 @@ namespace Chamilo\UserBundle\Entity\Repository;
|
|
|
|
|
|
use Doctrine\ORM\EntityRepository;
|
|
|
use \Doctrine\Common\Collections\Criteria;
|
|
|
+use \Chamilo\CoreBundle\Entity\Session;
|
|
|
+use \Chamilo\CoreBundle\Entity\Course;
|
|
|
+use \Doctrine\ORM\Query\Expr\Join;
|
|
|
+use \Chamilo\CoreBundle\Entity\SessionRelCourseRelUser;
|
|
|
|
|
|
|
|
|
|
|
@@ -142,4 +146,32 @@ class UserRepository extends EntityRepository
|
|
|
return $queryBuilder->getQuery()->getResult();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * Get the coaches for a course within a session
|
|
|
+ * @param Session $session The session
|
|
|
+ * @param Course $course The course
|
|
|
+ * @return \Doctrine\ORM\QueryBuilder
|
|
|
+ */
|
|
|
+ public function getCoachesForSessionCourse(Session $session, Course $course)
|
|
|
+ {
|
|
|
+ $queryBuilder = $this->createQueryBuilder('u');
|
|
|
+
|
|
|
+ $queryBuilder->select('u')
|
|
|
+ ->innerJoin(
|
|
|
+ 'ChamiloCoreBundle:SessionRelCourseRelUser',
|
|
|
+ 'scu',
|
|
|
+ Join::WITH,
|
|
|
+ 'scu.user = u'
|
|
|
+ )
|
|
|
+ ->where(
|
|
|
+ $queryBuilder->expr()->andX(
|
|
|
+ $queryBuilder->expr()->eq('scu.session', $session->getId()),
|
|
|
+ $queryBuilder->expr()->eq('scu.course', $course->getId()),
|
|
|
+ $queryBuilder->expr()->eq('scu.status', SessionRelCourseRelUser::STATUS_COURSE_COACH)
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ return $queryBuilder->getQuery()->getResult();
|
|
|
+ }
|
|
|
+
|
|
|
}
|