|
|
|
|
@ -152,6 +152,23 @@ abstract class ResourceRepository extends ServiceEntityRepository |
|
|
|
|
return $qb->getQuery()->getOneOrNullResult(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Find resources ignoring the visibility. |
|
|
|
|
*/ |
|
|
|
|
public function findCourseResourceBySlugIgnoreVisibility( |
|
|
|
|
string $title, |
|
|
|
|
ResourceNode $parentNode, |
|
|
|
|
Course $course, |
|
|
|
|
Session $session = null, |
|
|
|
|
CGroup $group = null |
|
|
|
|
): ?ResourceInterface { |
|
|
|
|
$qb = $this->getResourcesByCourseIgnoreVisibility($course, $session, $group, $parentNode); |
|
|
|
|
$this->addSlugQueryBuilder($title, $qb); |
|
|
|
|
$qb->setMaxResults(1); |
|
|
|
|
|
|
|
|
|
return $qb->getQuery()->getOneOrNullResult(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @return ResourceInterface[] |
|
|
|
|
*/ |
|
|
|
|
@ -371,6 +388,14 @@ abstract class ResourceRepository extends ServiceEntityRepository |
|
|
|
|
return $qb; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getResourcesByCourseIgnoreVisibility(Course $course, Session $session = null, CGroup $group = null, ResourceNode $parentNode = null): QueryBuilder |
|
|
|
|
{ |
|
|
|
|
$qb = $this->getResources($parentNode); |
|
|
|
|
$this->addCourseSessionGroupQueryBuilder($course, $session, $group, $qb); |
|
|
|
|
|
|
|
|
|
return $qb; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get resources only from the base course. |
|
|
|
|
*/ |
|
|
|
|
|