Skip to content
Snippets Groups Projects

Form submissions

Files
9
<?php
namespace Drupal\graphql_webform\Wrappers;
use Drupal\webform\WebformSubmissionInterface;
/**
* Helper class to wrap a webform submission result.
*/
class WebformSubmissionResult {
/**
* The webform submission.
*
* @var \Drupal\webform\Entity\WebformSubmission|null
*/
protected $submission;
/**
* Array of errors.
*
* @var string[]
*/
protected $errors = [];
/**
* Array of validations.
*
* @var \Drupal\graphql_webform\Wrappers\WebformSubmissionValidation[]
*/
protected $validations = [];
/**
* Set submission.
*
* @param \Drupal\webform\Entity\WebformSubmission $submission
*
* @return \Drupal\graphql_webform\Wrappers\WebformSubmissionResult
* The WebformSubmissionResult
*/
public function setSubmission(WebformSubmissionInterface $submission): static {
$this->submission = $submission;
return $this;
}
/**
* Get submission.
*
* @return \Drupal\webform\Entity\WebformSubmission|null
* The webform submission entity.
*/
public function getSubmission(): ?WebformSubmissionInterface {
return $this->submission;
}
/**
* Add an error.
*
* @param string $error
* The error to add.
*
* @return \Drupal\graphql_webform\Wrappers\WebformSubmissionResult
* The WebformSubmissionResult.
*/
public function addError(string $error): static {
$this->errors[] = $error;
return $this;
}
/**
* Get errors.
*
* @return string[]
* The errors.
*/
public function getErrors(): array {
return $this->errors;
}
/**
* Get valdiations.
*
* @return \Drupal\graphql_webform\Wrappers\WebformSubmissionValidation[]
* The validations.
*/
public function getValidations(): array {
return $this->validations;
}
/**
* Add a validation message.
*
* @param \Drupal\graphql_webform\Wrappers\WebformSubmissionValidation
* The validations.
*/
public function addValidationMessage(WebformSubmissionValidation $validation): static {
$this->validations[] = $validation;
return $this;
}
/**
* Return TRUE if there are no errors and validation messages.
*
* @return bool
*/
public function isValid(): bool {
return empty($this->errors) && empty($this->validations);
}
}
Loading