You are here

function course_webform_webform_submission_insert in Course 8.3

Same name and namespace in other branches
  1. 8.2 modules/course_webform/course_webform.module \course_webform_webform_submission_insert()
  2. 6 modules/course_webform/course_webform.module \course_webform_webform_submission_insert()
  3. 7.2 modules/course_webform/course_webform.module \course_webform_webform_submission_insert()
  4. 7 modules/course_webform/course_webform.module \course_webform_webform_submission_insert()
  5. 3.x modules/course_webform/course_webform.module \course_webform_webform_submission_insert()

Implements hook_webform_submission_insert().

Deprecated

But there is no alternative. Switch to entity event subscriber when it becomes available in core.

See also

https://www.drupal.org/project/drupal/issues/2551893

1 call to course_webform_webform_submission_insert()
course_webform_webform_submission_update in modules/course_webform/course_webform.module
Implements hook_webform_submission_update().

File

modules/course_webform/course_webform.module, line 52

Code

function course_webform_webform_submission_insert(Drupal\webform\Entity\WebformSubmission $webform_submission) {
  if (!$webform_submission
    ->isDraft()) {

    // Find the course object associated with this webform.
    if ($courseObject = course_get_course_object('webform', $webform_submission
      ->getWebform()
      ->id())) {

      /* @var $courseObject CourseObjectWebform */
      $fulfillment = $courseObject
        ->getFulfillment($webform_submission
        ->getOwner());
      $sids = (array) $fulfillment
        ->getOption('sids');
      $sids[] = $webform_submission
        ->id();
      $fulfillment
        ->setOption('instance', $webform_submission
        ->id())
        ->setOption('sids', $sids)
        ->setComplete()
        ->save();
    }
  }
}