Commit 9017f19d authored by s_leu's avatar s_leu Committed by Tim Bozeman
Browse files

Issue #3296114: Redirect from component override broken when adding via theme settings form

parent 7c1aac2d
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ use Drupal\Core\Extension\ThemeExtensionList;
use Drupal\Core\Extension\ThemeHandlerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Form\SubformState;
use Drupal\Core\Http\RequestStack;
use Drupal\Core\Render\RendererInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\Template\TwigEnvironment;
@@ -69,7 +70,7 @@ final class ComponentOverrideForm extends EntityForm {
  protected ComponentOverrideManager $overrideManager;
  protected LibraryDiscoveryInterface $libraryDiscovery;

  public function __construct(ThemeHandlerInterface $theme_handler, CacheBackendInterface $cache_default, ComponentOverrideManager $override_manager, LibraryDiscoveryInterface $library_discovery, ModuleExtensionList $module_list, ProfileExtensionList $profile_list, ThemeExtensionList $theme_list, TwigEnvironment $twig, EventDispatcherInterface $event_dispatcher, RendererInterface $renderer, PrivateTempStoreFactory $temp_store, OverrideMode $override_mode) {
  public function __construct(ThemeHandlerInterface $theme_handler, CacheBackendInterface $cache_default, ComponentOverrideManager $override_manager, LibraryDiscoveryInterface $library_discovery, ModuleExtensionList $module_list, ProfileExtensionList $profile_list, ThemeExtensionList $theme_list, TwigEnvironment $twig, EventDispatcherInterface $event_dispatcher, RendererInterface $renderer, PrivateTempStoreFactory $temp_store, OverrideMode $override_mode, RequestStack $request_stack) {
    $this->twig = $twig;
    $this->renderer = $renderer;
    $this->overrideMode = $override_mode;
@@ -82,6 +83,7 @@ final class ComponentOverrideForm extends EntityForm {
    $this->libraryDiscovery = $library_discovery;
    $this->profileExtensionList = $profile_list;
    $this->cache = $temp_store->get('component_overrides');
    $this->requestStack = $request_stack;
  }

  /**
@@ -101,6 +103,7 @@ final class ComponentOverrideForm extends EntityForm {
      $container->get('renderer'),
      $container->get('tempstore.private'),
      $container->get('component_library.override_mode'),
      $container->get('request_stack')
    );
  }

@@ -465,7 +468,8 @@ final class ComponentOverrideForm extends EntityForm {

    $response = new AjaxResponse();
    $url = $this->getRedirectDestination()->get();
    if ($url === NULL) {
    $query = $this->getRequest()->query->all();
    if ($query && !array_key_exists('destination', $query)) {
      $url = Url::fromRoute(
        'system.theme_settings_theme',
        ['theme' => $this->entity->get('theme')],