You are here

CourseNodeController.php in Course 3.x

File

modules/course_node/src/Controller/CourseNodeController.php
View source
<?php

namespace Drupal\course_node\Controller;

use Drupal\node\Entity\Node;
use Drupal\Core\Url;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Drupal\Core\Access\AccessResult;
use Drupal\course\Entity\Course;
use Drupal\Core\Controller\ControllerBase;
class CourseNodeController extends ControllerBase {
  function backToCourse(Node $node) {
    $course = $node
      ->get('course')
      ->referencedEntities()[0];
    $url = Url::fromUserInput('/course/' . $course
      ->id());
    return new RedirectResponse($url
      ->toString());
  }
  function backToCourseAccess(Node $node) {
    if (course_node_is_course($node)) {
      $course = $node
        ->get('course')
        ->referencedEntities()[0];
      return $course
        ->access('edit', NULL, TRUE);
    }
    return AccessResult::forbidden();
  }
  function backToNode(Course $course) {
    $node = course_get_attached($course);
    $url = Url::fromUserInput('/node/' . $node
      ->id());
    return new RedirectResponse($url
      ->toString());
  }
  function backToNodeAccess(Course $course) {
    if ($node = course_get_attached($course)) {
      return $node
        ->access('edit', NULL, TRUE);
    }
    return AccessResult::forbidden();
  }

}

Classes