class SettingsForm in Salesforce Suite 8.3
Same name in this branch
- 8.3 src/Form/SettingsForm.php \Drupal\salesforce\Form\SettingsForm
- 8.3 modules/salesforce_logger/src/Form/SettingsForm.php \Drupal\salesforce_logger\Form\SettingsForm
- 8.3 modules/salesforce_encrypt/src/Form/SettingsForm.php \Drupal\salesforce_encrypt\Form\SettingsForm
Base form for key add and edit forms.
Hierarchy
- class \Drupal\Core\Form\FormBase implements ContainerInjectionInterface, FormInterface uses DependencySerializationTrait, LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\salesforce_encrypt\Form\SettingsForm
Expanded class hierarchy of SettingsForm
1 string reference to 'SettingsForm'
- salesforce_encrypt.routing.yml in modules/
salesforce_encrypt/ salesforce_encrypt.routing.yml - modules/salesforce_encrypt/salesforce_encrypt.routing.yml
File
- modules/
salesforce_encrypt/ src/ Form/ SettingsForm.php, line 17
Namespace
Drupal\salesforce_encrypt\FormView source
class SettingsForm extends FormBase {
/**
* Profile manager.
*
* @var \Drupal\encrypt\EncryptionProfileManagerInterface
*/
protected $encryptionProfileManager;
/**
* SettingsForm constructor.
*
* @param \Drupal\Core\State\StateInterface $state
* State service.
* @param \Drupal\encrypt\EncryptionProfileManagerInterface $encryptionProfileManager
* Encryption profile manager service.
* @param \Drupal\salesforce_encrypt\Rest\EncryptedRestClientInterface $client
* Rest client service.
*/
public function __construct(StateInterface $state, EncryptionProfileManagerInterface $encryptionProfileManager, EncryptedRestClientInterface $client) {
$this->encryptionProfileManager = $encryptionProfileManager;
$this->state = $state;
$this->client = $client;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('state'), $container
->get('encrypt.encryption_profile.manager'), $container
->get('salesforce.client'));
}
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'salesforce_encrypt_config';
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$options = $this->encryptionProfileManager
->getEncryptionProfileNamesAsOptions();
$default = NULL;
try {
$profile = $this->client
->getEncryptionProfile();
if (!empty($profile)) {
$default = $profile
->id();
}
} catch (EntityNotFoundException $e) {
drupal_set_message($e
->getFormattableMessage(), 'error');
drupal_set_message($this
->t('Error while loading encryption profile. You will need to <a href=":encrypt">assign a new encryption profile</a>, then <a href=":oauth">re-authenticate to Salesforce</a>.', [
':encrypt' => Url::fromRoute('salesforce_encrypt.settings')
->toString(),
':oauth' => Url::fromRoute('salesforce.authorize')
->toString(),
]), 'error');
}
$form['profile'] = [
'#type' => 'select',
'#title' => $this
->t('Encryption Profile'),
'#description' => $this
->t('Choose an encryption profile with which to encrypt Salesforce information.'),
'#options' => $options,
'#default_value' => $default,
'#empty_option' => $this
->t('Do not use encryption'),
];
$form['actions']['#type'] = 'actions';
$form['actions']['submit'] = [
'#type' => 'submit',
'#value' => $this
->t('Save configuration'),
'#button_type' => 'primary',
];
// By default, render the form using system-config-form.html.twig.
$form['#theme'] = 'system_config_form';
return $form;
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
$old_profile_id = $this->state
->get('salesforce_encrypt.profile');
$profile_id = $form_state
->getValue('profile');
if ($old_profile_id == $profile_id) {
// No change to encryption profile. Do nothing.
return;
}
$profile = $this->encryptionProfileManager
->getEncryptionProfile($profile_id);
if (empty($profile_id)) {
// New profile id empty: disable encryption.
$this->client
->disableEncryption();
}
elseif (empty($old_profile_id)) {
// Old profile id empty: enable encryption anew.
$this->client
->enableEncryption($profile);
}
else {
// Changing encryption profiles: disable, then re-enable.
$this->client
->disableEncryption();
$this->client
->enableEncryption($profile);
}
$this->state
->resetCache();
drupal_set_message($this
->t('The configuration options have been saved.'));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
FormBase:: |
protected | property | The config factory. | 1 |
FormBase:: |
protected | property | The request stack. | 1 |
FormBase:: |
protected | property | The route match. | |
FormBase:: |
protected | function | Retrieves a configuration object. | |
FormBase:: |
protected | function | Gets the config factory for this form. | 1 |
FormBase:: |
private | function | Returns the service container. | |
FormBase:: |
protected | function | Gets the current user. | |
FormBase:: |
protected | function | Gets the request object. | |
FormBase:: |
protected | function | Gets the route match. | |
FormBase:: |
protected | function | Gets the logger for a specific channel. | |
FormBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
FormBase:: |
public | function | Resets the configuration factory. | |
FormBase:: |
public | function | Sets the config factory for this form. | |
FormBase:: |
public | function | Sets the request stack object to use. | |
FormBase:: |
public | function |
Form validation handler. Overrides FormInterface:: |
62 |
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. | |
SettingsForm:: |
protected | property | Profile manager. | |
SettingsForm:: |
public | function |
Form constructor. Overrides FormInterface:: |
|
SettingsForm:: |
public static | function |
Instantiates a new instance of this class. Overrides FormBase:: |
|
SettingsForm:: |
public | function |
Returns a unique string identifying the form. Overrides FormInterface:: |
|
SettingsForm:: |
public | function |
Form submission handler. Overrides FormInterface:: |
|
SettingsForm:: |
public | function | SettingsForm constructor. | |
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. |