class WebformRevisionsController in Config Entity Revisions 8
Same name and namespace in other branches
- 8.2 modules/webform_revisions/src/Controller/WebformRevisionsController.php \Drupal\webform_revisions\Controller\WebformRevisionsController
- 1.x modules/webform_revisions/src/Controller/WebformRevisionsController.php \Drupal\webform_revisions\Controller\WebformRevisionsController
Controller to make library functions available to various consumers.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\config_entity_revisions\ConfigEntityRevisionsControllerBase implements ConfigEntityRevisionsControllerInterface
- class \Drupal\webform_revisions\Controller\WebformRevisionsController implements ConfigEntityRevisionsControllerInterface uses WebformRevisionsConfigTrait
- class \Drupal\config_entity_revisions\ConfigEntityRevisionsControllerBase implements ConfigEntityRevisionsControllerInterface
Expanded class hierarchy of WebformRevisionsController
5 files declare their use of WebformRevisionsController
- WebformRevisionsDeleteForm.php in modules/
webform_revisions/ src/ Form/ WebformRevisionsDeleteForm.php - WebformRevisionsRequest.php in modules/
webform_revisions/ src/ WebformRevisionsRequest.php - WebformRevisionsSubmission.php in modules/
webform_revisions/ src/ Entity/ WebformRevisionsSubmission.php - WebformRevisionsSubmissionStorage.php in modules/
webform_revisions/ src/ WebformRevisionsSubmissionStorage.php - webform_revisions.module in modules/
webform_revisions/ webform_revisions.module
File
- modules/
webform_revisions/ src/ Controller/ WebformRevisionsController.php, line 15
Namespace
Drupal\webform_revisions\ControllerView source
class WebformRevisionsController extends ConfigEntityRevisionsControllerBase implements ConfigEntityRevisionsControllerInterface {
use WebformRevisionsConfigTrait;
/**
* Generates a title for the revision.
*
* This function is needed because the $webform parameter needs to match
* the route but the parent's parameter is named $configEntity.
*
* @inheritdoc
*/
public function revisionShowTitle(ConfigEntityInterface $webform) {
return '"' . $webform
->get('title') . '" webform, revision ' . $webform
->getRevisionId();
}
/**
* Perform alterations before a webform submission form is rendered.
*
* This hook is identical to hook_form_alter() but allows the
* hook_webform_submission_form_alter() function to be stored in a dedicated
* include file and it also allows the Webform module to implement webform
* alter logic on another module's behalf.
*
* @param array $form
* Nested array of form elements that comprise the webform.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form. The arguments that
* \Drupal::formBuilder()->getForm() was originally called with are
* available in the array $form_state->getBuildInfo()['args'].
* @param string $form_id
* String representing the webform's id.
*
* @see webform.honeypot.inc
* @see hook_form_BASE_FORM_ID_alter()
* @see hook_form_FORM_ID_alter()
*
* @ingroup form_api
*/
public static function submission_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
$form['#entity_builders']['webform_revisions'] = '\\Drupal\\webform_revisions\\Controller\\WebformRevisionsController::entity_builder';
}
/**
* @Implements hook_webform_submission_presave().
*/
public static function submission_presave(WebformSubmissionInterface $webform_submission) {
$match = \Drupal::service('router')
->matchRequest(\Drupal::request());
$webform_id = $match['webform'];
$config_entity = \Drupal::entityTypeManager()
->getStorage('webform')
->load($webform_id);
$revisionsEntity = $config_entity
->contentEntityStorage()
->loadRevision($config_entity
->getRevisionID());
}
/**
* Updates the form language to reflect any change to the entity language.
*
* There are use cases for modules to act both before and after form language
* being updated, thus the update is performed through an entity builder
* callback, which allows to support both cases.
*
* @param string $entity_type_id
* The entity type identifier.
* @param \Drupal\webform\Entity\WebformSubmission $entity
* The entity updated with the submitted values.
* @param array $form
* The complete form array.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*
* @see \Drupal\Core\Entity\ContentEntityForm::form()
*/
public static function entity_builder($entity_type_id, WebformSubmission $entity, array $form, FormStateInterface $form_state) {
/* @var $webform \Drupal\webform_revisions\Entity\WebformRevisions */
$webform = $entity
->getWebform();
$entity
->set('webform_revision', $webform
->getRevisionID());
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigEntityRevisionsControllerBase:: |
protected | property | Wrapper object for simple configuration from diff.settings.yml. | |
ConfigEntityRevisionsControllerBase:: |
protected | property | The database connection. | |
ConfigEntityRevisionsControllerBase:: |
protected | property | Container instance. | |
ConfigEntityRevisionsControllerBase:: |
protected | property | Date formatter service. | |
ConfigEntityRevisionsControllerBase:: |
protected | property | Wrapper object for simple configuration from diff.settings.yml. | |
ConfigEntityRevisionsControllerBase:: |
protected | property | The renderer service. | |
ConfigEntityRevisionsControllerBase:: |
protected | property | Serialiser service. | |
ConfigEntityRevisionsControllerBase:: |
public static | function |
Instantiates a new instance of this class. Overrides ControllerBase:: |
|
ConfigEntityRevisionsControllerBase:: |
public | function |
Create an initial revision record. Overrides ConfigEntityRevisionsControllerInterface:: |
|
ConfigEntityRevisionsControllerBase:: |
public | function |
Create revision when a new config entity version is saved. Overrides ConfigEntityRevisionsControllerInterface:: |
|
ConfigEntityRevisionsControllerBase:: |
public | function | Delete a single revision. | |
ConfigEntityRevisionsControllerBase:: |
public | function |
Delete revisions when a config entity is deleted. Overrides ConfigEntityRevisionsControllerInterface:: |
|
ConfigEntityRevisionsControllerBase:: |
public | function | Get a list of revision IDs for a content entity. | |
ConfigEntityRevisionsControllerBase:: |
public | function | Load a particular revision of a config entity. | |
ConfigEntityRevisionsControllerBase:: |
public | function | Make default the most recently published revision or the most recent revision. | |
ConfigEntityRevisionsControllerBase:: |
public | function |
Constructs a ConfigEntityRevisionsController object. Overrides ConfigEntityRevisionsControllerInterface:: |
|
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ConfigEntityRevisionsStorageTrait:: |
public | function | ||
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity manager. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. | |
WebformRevisionsConfigTrait:: |
private | property | ||
WebformRevisionsConfigTrait:: |
public | function | Get the number of submissions related to a revision. | |
WebformRevisionsConfigTrait:: |
public | function | Delete submissions related to a revision. | |
WebformRevisionsConfigTrait:: |
public | function | Get the entity that actually has revisions. | |
WebformRevisionsController:: |
public static | function | Updates the form language to reflect any change to the entity language. | |
WebformRevisionsController:: |
public | function |
Generates a title for the revision. Overrides ConfigEntityRevisionsControllerInterface:: |
|
WebformRevisionsController:: |
public static | function | Perform alterations before a webform submission form is rendered. | |
WebformRevisionsController:: |
public static | function | @Implements hook_webform_submission_presave(). |