Skip to content
Snippets Groups Projects
Commit f96b7fba authored by catch's avatar catch
Browse files

Issue #3232095 by daffie, dww, longwave, andypost, catch, larowlan: [Symfony...

Issue #3232095 by daffie, dww, longwave, andypost, catch, larowlan: [Symfony 6] Refactor the "update.root" service to return an object not a string
parent ea01173e
No related branches found
No related tags found
32 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!2074Issue #2707689: NodeForm::actions() checks for delete access on new entities,!1896Issue #2940605: Can only intentionally re-render an entity with references 20 times,!1459Issue #3087632: menu_name max length is too long,!1398Issue #3186992 by hinal05, djsagar, kiran.kadam911, hitvika_verma,...,!1283Issue #2922435: "Add new comment" and "@count comments" links are not following accessibility good practices,!1255Issue #3238922: Refactor (if feasible) uses of the jQuery serialize function to use vanillaJS,!1254Issue #3238915: Refactor (if feasible) uses of the jQuery ready function to use VanillaJS,!1213Issue #3236497: Allow other modules to opt out of security release message from update_page_top,!1185Issue 318778: Rerolled patch.,!1162Issue #3100350: Unable to save '/' root path alias,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!1018Issue #2793343: Dialog drupalAutoButtons option should be respected on initial load,!1014Issue #3226806: Move filter implementations from filter.module to plugin classes,!957Added throwing of InvalidPluginDefinitionException from getDefinition().,!939Issue #2971209: Allow the MediaLibraryUiBuilder service to use an alternative view display,!878Issue #3221534: throw an exception when IDs passed to loadMultiple() are badly formed,!877Issue #2708101: Default value for link text is not saved,!873Issue #2875228: Site install not using batch API service,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links,!866Issue #2845319: The highlighting of the 'Home' menu-link does not respect query strings and fragment identifiers,!844Resolve #3036010 "Updaters",!8293023322 - Contextual Links Style Update,!712Issue #2909128: Autocomplete intermittent on Chrome Android,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493,!485Sets the autocomplete attribute for username/password input field on login form.,!449Issue #2784233: Allow multiple vocabularies in the taxonomy filter,!30Issue #3182188: Updates composer usage to point at ./vendor/bin/composer
......@@ -8,7 +8,7 @@
/**
* Gets the root path used by the Update Manager to install or update projects.
*/
class UpdateRootFactory {
class UpdateRoot {
/**
* The Drupal kernel.
......@@ -24,6 +24,13 @@ class UpdateRootFactory {
*/
protected $requestStack;
/**
* The update root.
*
* @var string
*/
protected $updateRoot;
/**
* Constructs an UpdateRootFactory instance.
*
......@@ -37,6 +44,16 @@ public function __construct(DrupalKernelInterface $drupal_kernel, RequestStack $
$this->requestStack = $request_stack;
}
/**
* Sets the root path under which projects are installed or updated.
*
* @param string $update_root
* The update root.
*/
public function set(string $update_root): void {
$this->updateRoot = $update_root;
}
/**
* Gets the root path under which projects are installed or updated.
*
......@@ -45,7 +62,12 @@ public function __construct(DrupalKernelInterface $drupal_kernel, RequestStack $
*
* @return string
*/
public function get() {
public function __toString(): string {
// Return the $updateRoot when it is set.
if (isset($this->updateRoot)) {
return $this->updateRoot;
}
// Normally the Update Manager's root path is the same as the app root (the
// directory in which the Drupal site is installed).
$root_path = $this->drupalKernel->getAppRoot();
......
......@@ -63,8 +63,7 @@ protected function setUp() {
// test child site.
$request = \Drupal::request();
$update_root = $this->container->get('update.root') . '/' . DrupalKernel::findSitePath($request);
$this->container->set('update.root', $update_root);
\Drupal::setContainer($this->container);
$this->container->get('update.root')->set($update_root);
// Create the directories within the root path within which the Update
// Manager will install projects.
......
......@@ -14,11 +14,5 @@ services:
class: Drupal\update\UpdateFetcher
arguments: ['@config.factory', '@http_client', '@settings']
update.root:
class: SplString
factory: ['@update.root.factory', 'get']
tags:
- { name: parameter_service }
update.root.factory:
class: Drupal\update\UpdateRootFactory
class: Drupal\update\UpdateRoot
arguments: ['@kernel', '@request_stack']
public: false
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment