Commit 3a9cfaae authored by ytsurk's avatar ytsurk
Browse files

Issue #3253966 by ytsurk: Only clear caches if vocabulary is changed on config form

parent c09e90f0
Loading
Loading
Loading
Loading
+3 −3
Changes for modules/media_directories_ui/media_directories_ui.module: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -383,14 +383,14 @@ function media_directories_ui_form_media_directories_config_form_alter(&$form, F
  $form['media_directories_ui']['hide_media_library_media_tab'] = [
    '#type' => 'checkbox',
    '#title' => t('Hide Media tab'),
    '#description' => t('If checked, the <em>Media</em> tab will be hidden.'),
    '#description' => t('If checked, the <em>Media</em> tab will be hidden. <strong>Needs manual cache rebuild!</strong>'),
    '#default_value' => $config->get('hide_media_library_media_tab'),
  ];

  $form['media_directories_ui']['hide_media_library_files_tab'] = [
    '#type' => 'checkbox',
    '#title' => t('Hide Files tab'),
    '#description' => t('If checked, the <em>Files</em> tab will be hidden.'),
    '#description' => t('If checked, the <em>Files</em> tab will be hidden. <strong>Needs manual cache rebuild!</strong>'),
    '#default_value' => $config->get('hide_media_library_files_tab'),
  ];

@@ -398,7 +398,7 @@ function media_directories_ui_form_media_directories_config_form_alter(&$form, F
    $form['media_directories_ui']['hide_admin_toolbar_links'] = [
      '#type' => 'checkbox',
      '#title' => t('Hide admin_toolbar_tools links'),
      '#description' => t("If checked, the <em>Add Media</em> menu links of admin_toolbar_tools will be hidden and also it's <em>Media</em> and <em>Files</em> links depending on the tab settings."),
      '#description' => t("If checked, the <em>Add Media</em> menu links of admin_toolbar_tools will be hidden and also it's <em>Media</em> and <em>Files</em> links depending on the tab settings. . <strong>Needs manual cache rebuild!</strong>"),
      '#default_value' => $config->get('hide_admin_toolbar_links'),
    ];
  }
+8 −2
Changes for src/Form/MediaDirectoriesConfigForm.php: 8 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -78,7 +78,8 @@ class MediaDirectoriesConfigForm extends ConfigFormBase {
    $form['directory_taxonomy'] = [
      '#type' => 'select',
      '#title' => $this->t('Taxonomy'),
      '#description' => $this->t('Select taxonomy for directory structure or  <a href=":create_vocabulary_url">create a new one</a>.', [
      '#description' => $this->t('<strong>When changing this setting, all caches will be cleared.</strong>' .
        '<br/>Select an existing vocabulary representing the directory structure or  <a href=":create_vocabulary_url">create a new one</a>.', [
        ':create_vocabulary_url' => $vocabulary_add_url,
      ]),
      '#options' => $options,
@@ -99,14 +100,19 @@ class MediaDirectoriesConfigForm extends ConfigFormBase {
   * {@inheritdoc}
   */
  public function submitForm(array &$form, FormStateInterface $form_state) {
    $current_vocabulary = $this->config('media_directories.settings')->get('directory_taxonomy');
    $new_vocabulary = $form_state->getValue('directory_taxonomy');
    $this->config('media_directories.settings')
      ->set('directory_taxonomy', $form_state->getValue('directory_taxonomy'))
      ->set('directory_taxonomy', $new_vocabulary)
      ->set('all_files_in_root', $form_state->getValue('all_files_in_root'))
      ->save();

    // Clear cache to change base field settings.
    // @see media_directories_entity_base_field_info().
    if ($current_vocabulary !== $new_vocabulary) {
      drupal_flush_all_caches();
      $this->messenger()->addStatus($this->t('Caches cleared.'));
    }

    parent::submitForm($form, $form_state);
  }