public function BynderWidgetBase::getForm in Bynder 8        
                          
                  
                        Same name and namespace in other branches
- 8.3 src/Plugin/EntityBrowser/Widget/BynderWidgetBase.php \Drupal\bynder\Plugin\EntityBrowser\Widget\BynderWidgetBase::getForm()
- 8.2 src/Plugin/EntityBrowser/Widget/BynderWidgetBase.php \Drupal\bynder\Plugin\EntityBrowser\Widget\BynderWidgetBase::getForm()
- 4.0.x src/Plugin/EntityBrowser/Widget/BynderWidgetBase.php \Drupal\bynder\Plugin\EntityBrowser\Widget\BynderWidgetBase::getForm()
2 calls to BynderWidgetBase::getForm()
  - BynderSearch::getForm in src/Plugin/EntityBrowser/Widget/BynderSearch.php
- BynderUpload::getForm in src/Plugin/EntityBrowser/Widget/BynderUpload.php
2 methods override BynderWidgetBase::getForm()
  - BynderSearch::getForm in src/Plugin/EntityBrowser/Widget/BynderSearch.php
- BynderUpload::getForm in src/Plugin/EntityBrowser/Widget/BynderUpload.php
File
 
   - src/Plugin/EntityBrowser/Widget/BynderWidgetBase.php, line 145
Class
  
  - BynderWidgetBase 
- Base class for Bynder Entity browser widgets.
Namespace
  Drupal\bynder\Plugin\EntityBrowser\Widget
Code
public function getForm(array &$original_form, FormStateInterface $form_state, array $additional_widget_parameters) {
  $form = parent::getForm($original_form, $form_state, $additional_widget_parameters);
  if (!$this
    ->checkBundle()) {
    $form_state
      ->setValue('errors', TRUE);
    return $form;
  }
  
  foreach ([
    'consumer_key',
    'consumer_secret',
    'token',
    'token_secret',
    'account_domain',
  ] as $key) {
    if ($this->config
      ->get('bynder.settings')
      ->get($key) === '') {
      $form_state
        ->setValue('errors', TRUE);
      (new UnableToConnectException())
        ->logException()
        ->displayMessage();
      return $form;
    }
  }
  
  if (!$this->bynderApi
    ->hasAccessToken() || $this->requestStack
    ->getCurrentRequest()
    ->getMethod() == 'POST' && $this->requestStack
    ->getCurrentRequest()->request
    ->get('op') == 'Reload after submit' && $form_state
    ->isProcessingInput() === NULL) {
    $form_state
      ->setValue('errors', TRUE);
    $form['message'] = [
      '#markup' => $this
        ->t('You need to <a href="#login" class="oauth-link">log into Bynder</a> before importing assets.'),
      '#prefix' => '<p>',
      '#suffix' => '</p>',
    ];
    $form['reload'] = [
      '#type' => 'button',
      '#value' => 'Reload after submit',
      '#attached' => [
        'library' => [
          'bynder/oauth',
        ],
      ],
      '#attributes' => [
        'class' => [
          'oauth-reload',
          'visually-hidden',
        ],
      ],
    ];
    return $form;
  }
  return $form;
}