Link: Set nested view by default, fix enter to edit Link view and fix update parent node - refs #3665

pull/4522/head
Angel Fernando Quiroz Campos 3 years ago
parent be7f40c0d4
commit e729d90af4
  1. 15
      public/main/inc/lib/link.lib.php
  2. 2
      public/main/link/link.php
  3. 7
      src/CoreBundle/Entity/Listener/ResourceListener.php

@ -492,13 +492,22 @@ class Link extends Model
->setTarget($values['target'])
;
if (!empty($values['category_id'])) {
$courseEntity = api_get_course_entity($course_id);
if ($categoryId) {
$repoCategory = Container::getLinkCategoryRepository();
/** @var CLinkCategory $category */
$category = $repoCategory->find($categoryId);
$link->setCategory($category);
$link
->setCategory($category)
->setParent($category);
} else {
$link
->setCategory(null)
->setParent($courseEntity);
}
$repo->updateNodeForResource($link);
$repo->update($link);
// Update search enchine and its values table if enabled.
@ -1523,7 +1532,7 @@ Do you really want to delete this category and its links ?')."')) return false;\
$title = $linkInfo['title'];
$description = $linkInfo['description'];
$category = $linkInfo['category_id'];
if (0 != $linkInfo['on_homepage']) {
if (isset($linkInfo['on_homepage']) && 0 != $linkInfo['on_homepage']) {
$onhomepage = 1;
}
$target_link = $linkInfo['target'];

@ -72,7 +72,7 @@ Event::event_access_tool(TOOL_LINK);
/* Action Handling */
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
$scope = isset($_REQUEST['scope']) ? $_REQUEST['scope'] : null;
$show = isset($_REQUEST['show']) && in_array(trim($_REQUEST['show']), ['all', 'none']) ? $_REQUEST['show'] : '';
$show = isset($_REQUEST['show']) && in_array(trim($_REQUEST['show']), ['all', 'none']) ? $_REQUEST['show'] : 'all';
$categoryId = isset($_REQUEST['category_id']) ? (int) $_REQUEST['category_id'] : '';
$linkListUrl = api_get_self().'?'.api_get_cidreq().'&category_id='.$categoryId.'&show='.$show;
$content = '';

@ -248,6 +248,13 @@ class ResourceListener
*/
public function preUpdate(AbstractResource $resource, PreUpdateEventArgs $eventArgs): void
{
$resourceNode = $resource->getResourceNode();
$parentResourceNode = $resource->getParent()?->resourceNode;
if ($parentResourceNode) {
$resourceNode->setParent($parentResourceNode);
}
//error_log('Resource listener preUpdate');
//$this->setLinks($resource, $eventArgs->getEntityManager());
}

Loading…
Cancel
Save