Improve breadcrumb load time, add resource node title.

pull/3215/head
Julio Montoya 5 years ago
parent 25ed92d6c2
commit 0d9e7236b3
  1. 2
      public/main/inc/lib/usermanager.lib.php
  2. 1
      public/main/install/install.lib.php
  3. 36
      src/CoreBundle/Controller/ResourceController.php
  4. 8
      src/CoreBundle/Entity/Resource/AbstractResource.php
  5. 14
      src/CoreBundle/Entity/Resource/ResourceLink.php
  6. 107
      src/CoreBundle/Entity/Resource/ResourceNode.php
  7. 10
      src/CoreBundle/EventListener/LegacyListener.php
  8. 18
      src/CoreBundle/EventListener/LocaleListener.php
  9. 11
      src/CoreBundle/Framework/Container.php
  10. 2
      src/CoreBundle/Repository/GridInterface.php
  11. 2
      src/CoreBundle/Repository/IllustrationRepository.php
  12. 2
      src/CoreBundle/Repository/PersonalFileRepository.php
  13. 34
      src/CoreBundle/Repository/ResourceRepository.php
  14. 24
      src/CoreBundle/Traits/ResourceControllerTrait.php
  15. 9
      src/CourseBundle/EventListener/CourseListener.php
  16. 2
      src/CourseBundle/Repository/CCourseDescriptionRepository.php
  17. 2
      src/CourseBundle/Repository/CDocumentRepository.php
  18. 2
      src/CourseBundle/Repository/CGlossaryRepository.php
  19. 2
      src/CourseBundle/Repository/CLinkCategoryRepository.php
  20. 2
      src/CourseBundle/Repository/CLinkRepository.php
  21. 2
      src/CourseBundle/Repository/CShortcutRepository.php
  22. 13
      src/SettingsBundle/Manager/SettingsManager.php
  23. 2
      src/UserBundle/Repository/UserRepository.php

@ -348,7 +348,7 @@ class UserManager
if ($addUserToNode) {
$resourceNode = new ResourceNode();
$resourceNode
->setSlug($loginName)
->setTitle($loginName)
->setCreator(api_get_user_entity($creatorId))
->setResourceType($repo->getResourceType())
// ->setParent($url->getResourceNode())

@ -3321,7 +3321,6 @@ function finishInstallationWithContainer(
$branch = new BranchSync();
$branch->setBranchName('localhost');
$branch->setUrl($accessUrl);
$manager->persist($branch);
$admin = $userManager->find($adminId);

@ -75,15 +75,21 @@ class ResourceController extends AbstractResourceController implements CourseCon
$repository = $this->getRepositoryFromRequest($request);
$settings = $repository->getResourceSettings();
$grid = $this->getGrid($request, $repository, $grid, $parentResourceNode->getId(), 'chamilo_core_resource_index');
$grid = $this->getGrid(
$request,
$repository,
$grid,
$parentResourceNode->getId(),
'chamilo_core_resource_index'
);
$breadcrumb = $this->getBreadCrumb();
/*$breadcrumb = $this->getBreadCrumb();
$breadcrumb->addChild(
$this->trans($tool),
[
'uri' => '#',
]
);
);*/
// The base resource node is the course.
$id = $parentResourceNode->getId();
@ -116,12 +122,13 @@ class ResourceController extends AbstractResourceController implements CourseCon
);
$settings = $repository->getResourceSettings();
$course = $this->getCourse();
$session = $this->getSession();
/** @var QueryBuilder $qb */
$qb = $repository->getResources($this->getUser(), $parentNode, $course, $session, null);
//$qb->getQuery()->setFetchMode(\Doctrine\ORM\Mapping\ClassMetadata::FETCH_EAGER);
// 3. Set QueryBuilder to the source.
$source->initQueryBuilder($qb);
$grid->setSource($source);
@ -338,7 +345,6 @@ class ResourceController extends AbstractResourceController implements CourseCon
} else {
$link = $resource->getFirstResourceLink();
}
if (null === $link) {
return null;
}
@ -429,6 +435,7 @@ class ResourceController extends AbstractResourceController implements CourseCon
$grid = $this->getGrid($request, $repository, $grid, $resourceNodeId, 'chamilo_core_resource_list');
$this->setBreadCrumb($request);
$parentResourceNode = $this->getParentResourceNode($request);
return $grid->getGridResponse(
@ -626,18 +633,20 @@ class ResourceController extends AbstractResourceController implements CourseCon
*
* @Route("/{tool}/{type}/{id}/info", methods={"GET", "POST"}, name="chamilo_core_resource_info")
*/
public function infoAction(Request $request, IllustrationRepository $illustrationRepository): Response
public function infoAction(Request $request): Response
{
$this->setBreadCrumb($request);
$nodeId = $request->get('id');
$nodeId = $request->get('id');
$repository = $this->getRepositoryFromRequest($request);
/** @var AbstractResource $resource */
$resource = $repository->getResourceFromResourceNode($nodeId);
$this->denyAccessUnlessValidResource($resource);
$resourceNode = $resource->getResourceNode();
//throw new \Exception('as');
$this->denyAccessUnlessGranted(
ResourceNodeVoter::VIEW,
$resourceNode,
@ -647,13 +656,12 @@ class ResourceController extends AbstractResourceController implements CourseCon
$tool = $request->get('tool');
$type = $request->get('type');
$illustration = $illustrationRepository->getIllustrationUrlFromNode($resourceNode);
//$illustration = $illustrationRepository->getIllustrationUrlFromNode($resourceNode);
$form = $this->createForm(ResourceCommentType::class, null);
$params = [
'resource' => $resource,
'illustration' => $illustration,
// 'illustration' => $illustration,
'tool' => $tool,
'type' => $type,
'comment_form' => $form->createView(),
@ -1015,7 +1023,6 @@ class ResourceController extends AbstractResourceController implements CourseCon
);
$form = $repository->getForm($this->container->get('form.factory'), null);
$settings = $repository->getResourceSettings();
if ('file' === $fileType && $settings->isAllowToSaveEditorToResourceFile()) {
@ -1037,12 +1044,12 @@ class ResourceController extends AbstractResourceController implements CourseCon
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$course = $this->getCourse();
$course = $this->getCourse()->getId();
$course = $this->getDoctrine()->getRepository('ChamiloCoreBundle:Course')->find($course);
$session = $this->getSession();
/** @var ResourceInterface $newResource */
$newResource = $repository->saveResource($form, $course, $session, $fileType);
$newResource = $repository->setResourceProperties($form, $course, $session, $fileType);
$file = null;
if ('file' === $fileType && $settings->isAllowToSaveEditorToResourceFile()) {
@ -1054,7 +1061,6 @@ class ResourceController extends AbstractResourceController implements CourseCon
fwrite($handle, $content);
$meta = stream_get_meta_data($handle);
$file = new UploadedFile($meta['uri'], $fileName, 'text/html', null, true);
$em->persist($newResource);
}
$repository->addResourceToCourseWithParent(

@ -22,7 +22,7 @@ abstract class AbstractResource
* @GRID\Column(field="resourceNode.createdAt", title="Date added", type="datetime")
* @Groups({"list"})
* @ORM\OneToOne(
* targetEntity="Chamilo\CoreBundle\Entity\Resource\ResourceNode", mappedBy="resource", cascade={"remove"}, orphanRemoval=true, fetch="EAGER"
* targetEntity="Chamilo\CoreBundle\Entity\Resource\ResourceNode", mappedBy="resource", cascade={"remove"}, orphanRemoval=true
* )
* @ORM\JoinColumn(name="resource_node_id", referencedColumnName="id", onDelete="CASCADE")
*/
@ -96,8 +96,12 @@ abstract class AbstractResource
$result = null;
if ($resourceNode && $resourceNode->getResourceLinks()->count() > 0) {
//var_dump($resourceNode->getResourceLinks()->count());
foreach ($resourceNode->getResourceLinks() as $link) {
//var_dump(get_class($link));
}
$result = $resourceNode->getResourceLinks()->matching($criteria)->first();
//var_dump($result);
if ($result) {
return $result;
}

@ -31,11 +31,17 @@ class ResourceLink
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Resource\ResourceNode", inversedBy="resourceLinks", fetch="EAGER")
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Resource\ResourceNode", inversedBy="resourceLinks")
* @ORM\JoinColumn(name="resource_node_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $resourceNode;
/**
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course", inversedBy="resourceLinks")
* @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=true)
*/
protected $course;
/**
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Session", inversedBy="resourceLinks")
* @ORM\JoinColumn(name="session_id", referencedColumnName="id", nullable=true)
@ -48,12 +54,6 @@ class ResourceLink
*/
protected $user;
/**
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course", inversedBy="resourceLinks")
* @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=true)
*/
protected $course;
/**
* @ORM\ManyToOne(targetEntity="Chamilo\CourseBundle\Entity\CGroupInfo")
* @ORM\JoinColumn(name="group_id", referencedColumnName="iid", nullable=true, onDelete="CASCADE")

@ -31,25 +31,6 @@ class ResourceNode
public const PATH_SEPARATOR = '`';
use TimestampableEntity;
/**
* @var \DateTime
* @Groups({"list"})
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime")
* @JMS\Type("DateTime")
*/
protected $createdAt;
/**
* @var \DateTime
*
* @Groups({"list"})
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime")
* @JMS\Type("DateTime")
*/
protected $updatedAt;
/**
* @ORM\Id
* @ORM\Column(type="integer")
@ -61,7 +42,16 @@ class ResourceNode
* @Assert\NotBlank()
*
* @Gedmo\TreePathSource
* @ORM\Column(name="slug", type="string", length=255, nullable=true)
*
* @ORM\Column(name="title", type="string", length=255, nullable=false)
*/
protected $title;
/**
* @Assert\NotBlank()
*
* @Gedmo\Slug(fields={"title"})
* @ORM\Column(name="slug", type="string", length=255, nullable=false)
*/
protected $slug;
@ -82,7 +72,7 @@ class ResourceNode
* @var ResourceFile
* @Groups({"list"})
*
* @ORM\OneToOne(targetEntity="ResourceFile", inversedBy="resourceNode", orphanRemoval=true)
* @ORM\OneToOne(targetEntity="ResourceFile", inversedBy="resourceNode", orphanRemoval=true, fetch="EAGER")
* @ORM\JoinColumn(name="resource_file_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $resourceFile;
@ -125,9 +115,9 @@ class ResourceNode
protected $children;
/**
* @Gedmo\TreePath(separator="`")
* @Gedmo\TreePath(appendId=true,separator="`")
*
* @ORM\Column(name="path", type="string", length=3000, nullable=true)
* @ORM\Column(name="path", type="text", nullable=true)
*/
protected $path;
@ -152,7 +142,25 @@ class ResourceNode
*/
protected $comments;
//protected $pathForCreationLog = '';
/**
* @var \DateTime
*
* @Groups({"list"})
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime")
* @JMS\Type("DateTime")
*/
protected $createdAt;
/**
* @var \DateTime
*
* @Groups({"list"})
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime")
* @JMS\Type("DateTime")
*/
protected $updatedAt;
/**
* Constructor.
@ -312,6 +320,30 @@ class ResourceNode
return self::convertPathForDisplay($this->path);
}
public function getPathForDisplayToArray($baseRoot = null)
{
$parts = explode(self::PATH_SEPARATOR, $this->path);
$list = [];
foreach ($parts as $part) {
$parts = explode('-', $part);
if (empty($parts[1])) {
continue;
}
$value = $parts[0];
$id = $parts[1];
if (!empty($baseRoot)) {
if ($id < $baseRoot) {
continue;
}
}
$list[$id] = $value;
}
return $list;
}
/**
* @return string
*/
@ -327,6 +359,13 @@ class ResourceNode
return $this->slug;
}
public function setTitle(string $title)
{
$this->title = $title;
return $this;
}
/**
* @return ResourceNode
*/
@ -372,26 +411,6 @@ class ResourceNode
return $pathForDisplay;
}
/**
* This is required for logging the resource path at the creation.
* Do not use this function otherwise.
*/
public function setPathForCreationLog($path)
{
$this->pathForCreationLog = $path;
}
/**
* This is required for logging the resource path at the creation.
* Do not use this function otherwise.
*
* @return string
*/
public function getPathForCreationLog()
{
return $this->pathForCreationLog;
}
/**
* @return ResourceType
*/

@ -27,6 +27,7 @@ class LegacyListener
if (!$event->isMasterRequest()) {
return;
}
$request = $event->getRequest();
$session = $request->getSession();
@ -60,7 +61,6 @@ class LegacyListener
$userStatus = null;
if ($userObject instanceof UserInterface) {
$userInfo = api_get_user_info($userObject->getId());
if ($userInfo) {
$userStatus = $userObject->getStatus();
$isAdmin = $userObject->hasRole('ROLE_ADMIN');
@ -73,7 +73,7 @@ class LegacyListener
// Theme icon is loaded in the TwigListener src/ThemeBundle/EventListener/TwigListener.php
//$theme = api_get_visual_theme();
$languages = api_get_languages();
/*$languages = api_get_languages();
$languageList = [];
foreach ($languages as $isoCode => $language) {
$languageList[languageToCountryIsoCode($isoCode)] = $language;
@ -91,9 +91,9 @@ class LegacyListener
'flag' => $isoFixed,
'text' => $languageList[$isoFixed] ?? 'English',
]
);
$twig->addGlobal('current_locale', $request->getLocale());
$twig->addGlobal('available_locales', $languages);
);*/
//$twig->addGlobal('current_locale', $request->getLocale());
//$twig->addGlobal('available_locales', $languages);
$twig->addGlobal('show_toolbar', \Template::isToolBarDisplayedForUser() ? 1 : 0);
// Extra content

@ -47,12 +47,21 @@ class LocaleListener implements EventSubscriberInterface
return;
}
$loadFromDb = $request->getSession()->get('check_locale_from_db', true);
if (false === $loadFromDb &&
$request->getSession()->has('_locale') &&
!empty($request->getSession()->get('_locale'))
) {
$locale = $request->getSession()->get('_locale');
$request->setLocale($locale);
return true;
}
// Try to see if the locale has been set as a _locale routing parameter (from lang switcher)
//if ($locale = $request->getSession('_locale')) {
if (false) {
//if ($locale = $request->attributes->get('_locale')) {
//$request->getSession()->set('_locale', $locale);
} else {
if ($loadFromDb) {
$localeList = [];
// 1. Check platform locale
@ -133,6 +142,7 @@ class LocaleListener implements EventSubscriberInterface
// if no explicit locale has been set on this request, use one from the session
$request->setLocale($locale);
$request->getSession()->set('_locale', $locale);
$request->getSession()->set('check_locale_from_db', false);
}
}

@ -80,7 +80,7 @@ class Container
public static $roles;
/** @var string */
public static $legacyTemplate = '@ChamiloTheme/Layout/layout_one_col.html.twig';
private static $settingsManager;
//private static $settingsManager;
private static $userManager;
private static $siteManager;
@ -261,13 +261,10 @@ class Container
return self::$container->get('chamilo.settings.manager');
}
/**
* @param SettingsManager $manager
*/
public static function setSettingsManager($manager)
/*public static function setSettingsManager($manager)
{
self::$settingsManager = $manager;
}
}*/
/**
* @return \Chamilo\CourseBundle\Manager\SettingsManager
@ -624,7 +621,7 @@ class Container
$em = $container->get('doctrine.orm.entity_manager');
\Database::setManager($em);
\CourseManager::setEntityManager($em);
self::setSettingsManager($container->get('chamilo.settings.manager'));
//self::setSettingsManager($container->get('chamilo.settings.manager'));
self::setUserManager($container->get('fos_user.user_manager'));
self::setSiteManager($container->get('sonata.page.manager.site'));
\CourseManager::setCourseSettingsManager($container->get('Chamilo\CourseBundle\Manager\SettingsManager'));

@ -18,7 +18,7 @@ interface GridInterface
{
public function getResources(User $user, ResourceNode $parentNode, Course $course = null, Session $session = null, CGroupInfo $group = null);
public function saveResource(FormInterface $form, Course $course, Session $session, $fileType);
public function setResourceProperties(FormInterface $form, Course $course, Session $session, $fileType);
public function getTitleColumn(Grid $grid): Column;

@ -53,7 +53,7 @@ final class IllustrationRepository extends ResourceRepository implements GridInt
return $resource;
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
$newResource = $form->getData();
$newResource

@ -37,7 +37,7 @@ final class PersonalFileRepository extends ResourceRepository implements GridInt
return $settings;
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
$newResource = $form->getData();
$newResource

@ -208,7 +208,8 @@ class ResourceRepository extends BaseEntityRepository
$slug = $this->slugify->slugify($resourceName);
}
$resourceNode->setSlug($slug);
$resourceNode->setTitle($resourceName);
//$resourceNode->setSlug($slug);
$em->persist($resourceNode);
$em->persist($resource);
@ -457,17 +458,21 @@ class ResourceRepository extends BaseEntityRepository
$qb = $repo->getEntityManager()->createQueryBuilder()
->select('resource')
->from($className, 'resource')
->innerJoin(
'resource.resourceNode',
'node'
)
->innerJoin('resource.resourceNode', 'node')
->innerJoin('node.resourceLinks', 'links')
->innerJoin('node.resourceType', 'type')
//->innerJoin('links.course', 'course')
->leftJoin('node.resourceFile', 'file')
->where('type.name = :type')
->setParameter('type', $resourceTypeName)
->andWhere('links.course = :course')
->setParameter('course', $course)
->addSelect('node')
->addSelect('links')
//->addSelect('course')
->addSelect('type')
->addSelect('file')
;
$isAdmin = $checker->isGranted('ROLE_ADMIN') ||
@ -484,7 +489,7 @@ class ResourceRepository extends BaseEntityRepository
->andWhere('links.visibility = :visibility')
->setParameter('visibility', ResourceLink::VISIBILITY_PUBLISHED)
;
// @todo Add start/end visibility restrictrions
// @todo Add start/end visibility restrictions.
}
if (null === $session) {
@ -673,17 +678,17 @@ class ResourceRepository extends BaseEntityRepository
$qb = $repo->getEntityManager()->createQueryBuilder()
->select('resource')
->from($className, 'resource')
->innerJoin(
'resource.resourceNode',
'node'
)
->innerJoin('node.resourceLinks', 'links')
->leftJoin('node.resourceFile', 'file')
->where('node = :id')
->innerJoin('resource.resourceNode', 'node')
->innerJoin('node.creator', 'userCreator')
//->innerJoin('node.resourceLinks', 'links')
//->leftJoin('node.resourceFile', 'file')
->where('node.id = :id')
->setParameters(['id' => $resourceNodeId])
//->addSelect('userCreator')
;
return $qb->getQuery()->getFirstResult();*/
return $qb->getQuery()->getSingleResult();*/
return $this->getRepository()->findOneBy(['resourceNode' => $resourceNodeId]);
}
@ -866,6 +871,7 @@ class ResourceRepository extends BaseEntityRepository
}
$resourceNode
->setTitle($resourceName)
->setSlug($slug)
->setCreator($creator)
->setResourceType($resourceType)

@ -113,6 +113,8 @@ trait ResourceControllerTrait
$resourceNodeId = $request->get('id');
$routeParams = $this->getResourceParams($request);
$baseNodeId = $this->getCourse()->getResourceNode()->getId();
if (!empty($resourceNodeId)) {
$breadcrumb = $this->getBreadCrumb();
$toolParams = $routeParams;
@ -134,10 +136,13 @@ trait ResourceControllerTrait
if (null === $originalResource) {
return;
}
$parent = $originalParent = $originalResource->getResourceNode();
$parentList = [];
while (null !== $parent) {
$originalParent = $originalResource->getResourceNode();
$parentList = $originalParent->getPathForDisplayToArray($baseNodeId);
// var_dump($originalParent->getPath(), $originalParent->getPathForDisplay());
// $parentList = [];
/* while (null !== $parent) {
if ($type !== $parent->getResourceType()->getName()) {
break;
}
@ -149,9 +154,7 @@ trait ResourceControllerTrait
}
}
}
$parentList = array_reverse($parentList);
/** @var ResourceInterface $item */
foreach ($parentList as $item) {
$params = $routeParams;
$params['id'] = $item->getResourceNode()->getId();
@ -161,6 +164,17 @@ trait ResourceControllerTrait
'uri' => $this->generateUrl('chamilo_core_resource_list', $params),
]
);
}*/
foreach ($parentList as $id => $title) {
$params = $routeParams;
$params['id'] = $id;
$breadcrumb->addChild(
$title,
[
'uri' => $this->generateUrl('chamilo_core_resource_list', $params),
]
);
}
$params = $routeParams;

@ -61,6 +61,8 @@ class CourseListener
$translator = $container->get('translator');
$course = null;
$courseInfo = [];
// Check if URL has cid value. Using Symfony request.
$courseId = (int) $request->get('cid');
$checker = $container->get('security.authorization_checker');
@ -78,6 +80,8 @@ class CourseListener
/** @var EntityManager $em */
$em = $container->get('doctrine')->getManager();
$course = $em->getRepository('ChamiloCoreBundle:Course')->find($courseId);
dump("get course from DB $courseId");
$courseInfo = api_get_course_info($course->getCode());
}
if (null === $course) {
@ -98,8 +102,6 @@ class CourseListener
$sessionHandler->set('_real_cid', $course->getId());
$sessionHandler->set('cid', $course->getId());
$sessionHandler->set('_cid', $course->getCode());
$courseInfo = api_get_course_info($course->getCode());
$sessionHandler->set('_course', $courseInfo);
// Setting variables for the twig templates.
@ -114,10 +116,12 @@ class CourseListener
$sessionHandler->remove('session');
// Check if user is allowed to this course
// See CourseVoter.php
dump("Checkisgranted");
if (false === $checker->isGranted(CourseVoter::VIEW, $course)) {
throw new AccessDeniedException($translator->trans('Unauthorised access to course!'));
}
} else {
dump("Load chamilo session from DB");
$session = $em->getRepository('ChamiloCoreBundle:Session')->find($sessionId);
if ($session) {
if (false === $session->hasCourse($course)) {
@ -148,6 +152,7 @@ class CourseListener
if (empty($groupId)) {
$sessionHandler->remove('gid');
} else {
dump("Load chamilo group from DB");
$group = $em->getRepository('ChamiloCourseBundle:CGroupInfo')->find($groupId);
if (!$group) {

@ -52,7 +52,7 @@ final class CCourseDescriptionRepository extends ResourceRepository implements G
return $grid->getColumn('title');
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
/** @var CCourseDescription $newResource */
$newResource = $form->getData();

@ -60,7 +60,7 @@ final class CDocumentRepository extends ResourceRepository implements GridInterf
return $resource;
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
$newResource = $form->getData();
$newResource

@ -52,7 +52,7 @@ final class CGlossaryRepository extends ResourceRepository implements GridInterf
return $grid->getColumn('name');
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
/** @var CGlossary $newResource */
$newResource = $form->getData();

@ -38,7 +38,7 @@ final class CLinkCategoryRepository extends ResourceRepository implements GridIn
return $settings;
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
/** @var CLink $newResource */
$newResource = $form->getData();

@ -28,7 +28,7 @@ final class CLinkRepository extends ResourceRepository implements GridInterface
return $this->getResourcesByCourse($course, $session, $group, $parentNode);
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
/** @var CLink $newResource */
$newResource = $form->getData();

@ -58,7 +58,7 @@ final class CShortcutRepository extends ResourceRepository
return $qb;
}
public function saveResource(FormInterface $form, $course, $session, $fileType)
public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
{
$newResource = $form->getData();
$newResource

@ -201,9 +201,14 @@ class SettingsManager implements SettingsManagerInterface
public function loadAll()
{
/*$session = $this->request->getCurrentRequest()->getSession();
$loadFromSession = true;
if ($loadFromSession && $this->request->getCurrentRequest()) {
$session = $this->request->getCurrentRequest()->getSession();
$schemaList = $session->get('schemas');
*/
$this->schemaList = $schemaList;
}
if (empty($this->schemaList)) {
$schemas = array_keys($this->getSchemas());
$schemaList = [];
@ -232,7 +237,9 @@ class SettingsManager implements SettingsManagerInterface
$schemaList[$name] = $settings;
}
$this->schemaList = $schemaList;
//$session->set('schemas', $schemaList);
if ($loadFromSession && $this->request->getCurrentRequest()) {
$session->set('schemas', $schemaList);
}
}
}

@ -116,7 +116,7 @@ class UserRepository extends ResourceRepository
$resourceNode = new ResourceNode();
$resourceNode
->setSlug($user->getUsername())
->setTitle($user->getUsername())
->setCreator($creator)
->setResourceType($this->getResourceType())
// ->setParent($url->getResourceNode())

Loading…
Cancel
Save