public function WebformSubmission::getTokenUrl in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Entity/WebformSubmission.php \Drupal\webform\Entity\WebformSubmission::getTokenUrl()
Gets the webform submission's secure tokenized URL.
Parameters
string $operation: Token URL's operation. Defaults to update.
Return value
\Drupal\Core\Url The webform submission's secure tokenized URL.
Overrides WebformSubmissionInterface::getTokenUrl
File
- src/
Entity/ WebformSubmission.php, line 562
Class
- WebformSubmission
- Defines the WebformSubmission entity.
Namespace
Drupal\webform\EntityCode
public function getTokenUrl($operation = 'update') {
switch ($operation) {
case 'view':
/** @var \Drupal\webform\WebformRequestInterface $request_handler */
$request_handler = \Drupal::service('webform.request');
$url = $request_handler
->getUrl($this, $this
->getSourceEntity(), 'webform.user.submission');
break;
case 'update':
$url = $this
->getSourceUrl();
break;
case 'delete':
/** @var \Drupal\webform\WebformRequestInterface $request_handler */
$request_handler = \Drupal::service('webform.request');
$url = $request_handler
->getUrl($this, $this
->getSourceEntity(), 'webform.user.submission.delete');
break;
default:
throw new \Exception("Token URL operation {$operation} is not supported");
}
$options = $url
->setAbsolute()
->getOptions();
$options['query']['token'] = $this
->getToken();
return $url
->setOptions($options);
}