You are here

public function CourseContentEventSubscriber::onRequest in Course 8.2

Same name and namespace in other branches
  1. 8.3 modules/course_content/src/EventSubscriber/CourseContentEventSubscriber.php \Drupal\course_content\EventSubscriber\CourseContentEventSubscriber::onRequest()
  2. 3.x modules/course_content/src/EventSubscriber/CourseContentEventSubscriber.php \Drupal\course_content\EventSubscriber\CourseContentEventSubscriber::onRequest()

If the current node is a course object, fulfill it for the current user.

Parameters

GetResponseEvent $event:

File

modules/course_content/src/EventSubscriber/CourseContentEventSubscriber.php, line 25

Class

CourseContentEventSubscriber

Namespace

Drupal\course_content\EventSubscriber

Code

public function onRequest(GetResponseEvent $event) {
  $route_match = Drupal::routeMatch();
  if ($route_match
    ->getRouteName() == 'entity.node.canonical') {
    $node = $route_match
      ->getParameter('node');
    $type = NodeType::load($node
      ->bundle());
    if ($type
      ->getThirdPartySetting('course_content', 'use')) {
      $account = Drupal::currentUser();
      if ($courseObject = course_get_course_object('content', $node
        ->id())) {
        $courseObject
          ->getFulfillment($account)
          ->setComplete()
          ->save();
      }
    }
  }
}