diff --git a/fillpdf.install b/fillpdf.install index 749b8f893165631c502570b072a753cffc138be5..b009b5924517d411d3ba9b1e164953be7623e8d2 100644 --- a/fillpdf.install +++ b/fillpdf.install @@ -402,3 +402,13 @@ function fillpdf_update_9503() { // Commit transaction. unset($transaction); } + +/** + * Rename 'local_service' plugin to 'local_server'. + */ +function fillpdf_update_9504() { + $settings = \Drupal::configFactory()->getEditable('fillpdf.settings'); + if ($settings->get('backend') == 'local_service') { + $settings->set('backend', 'local_server')->save(); + } +} diff --git a/src/Form/FillPdfSettingsForm.php b/src/Form/FillPdfSettingsForm.php index b336ad32137ff4aad90064cfa70870e93c75fdfc..1e8e2347ee04374c0c30db64844f4d35b6604828 100644 --- a/src/Form/FillPdfSettingsForm.php +++ b/src/Form/FillPdfSettingsForm.php @@ -269,11 +269,11 @@ class FillPdfSettingsForm extends ConfigFormBase { $form['local_service'] = [ '#type' => 'details', - '#title' => $this->t('Configure %label', ['%label' => $this->definitions['local_service']['label']]), + '#title' => $this->t('Configure %label', ['%label' => $this->definitions['local_server']['label']]), '#open' => TRUE, '#states' => [ 'visible' => [ - ':input[name="backend"]' => ['value' => 'local_service'], + ':input[name="backend"]' => ['value' => 'local_server'], ], ], ]; @@ -359,7 +359,7 @@ class FillPdfSettingsForm extends ConfigFormBase { // @see https://www.drupal.org/project/fillpdf/issues/3040899 break; - case 'local_service': + case 'local_server': // Set the form_state value to the Config object without saving. $config = $this->config('fillpdf.settings')->set('local_service_endpoint', $values['local_service_endpoint']); // Check for FillPDF LocalServer. @@ -414,7 +414,7 @@ class FillPdfSettingsForm extends ConfigFormBase { ->set('remote_protocol', $values['remote_protocol']); break; - case 'local_service': + case 'local_server': $config->set('local_service_endpoint', $values['local_service_endpoint']); break; diff --git a/src/Plugin/PdfBackend/LocalServerPdfBackend.php b/src/Plugin/PdfBackend/LocalServerPdfBackend.php index 3f6526789c3c4384b255cbbf621d328fd753abc1..3a09449f9b8848fb05c07009f15dbe0afbbb8c44 100644 --- a/src/Plugin/PdfBackend/LocalServerPdfBackend.php +++ b/src/Plugin/PdfBackend/LocalServerPdfBackend.php @@ -17,7 +17,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface; * LocalServer PdfBackend plugin. * * @PdfBackend( - * id = "local_service", + * id = "local_server", * label = @Translation("FillPDF LocalServer"), * description = @Translation("Network-accessible, self-installed PDF API. You will need a VPS or dedicated server."), * weight = 5 diff --git a/src/Plugin/PdfBackendManager.php b/src/Plugin/PdfBackendManager.php index ec637b400f4706a85a5257282998ffdba8aa875c..73e577d5f1b1c417ad6e98d593d1e13c884ac812 100644 --- a/src/Plugin/PdfBackendManager.php +++ b/src/Plugin/PdfBackendManager.php @@ -2,6 +2,7 @@ namespace Drupal\fillpdf\Plugin; +use Drupal\Component\Plugin\FallbackPluginManagerInterface; use Drupal\Core\Plugin\DefaultPluginManager; use Drupal\Core\Cache\CacheBackendInterface; use Drupal\Core\Extension\ModuleHandlerInterface; @@ -9,7 +10,7 @@ use Drupal\Core\Extension\ModuleHandlerInterface; /** * Provides the FillPDF PdfBackend plugin manager. */ -class PdfBackendManager extends DefaultPluginManager { +class PdfBackendManager extends DefaultPluginManager implements FallbackPluginManagerInterface { /** * Constructs a new PdfBackendManager object. @@ -29,6 +30,13 @@ class PdfBackendManager extends DefaultPluginManager { $this->setCacheBackend($cache_backend, 'fillpdf_pdfbackend_plugins'); } + /** + * {@inheritdoc} + */ + public function getFallbackPluginId($plugin_id, array $configuration = []) { + return $plugin_id === 'local_service' ? 'local_server' : $plugin_id; + } + /** * Gets the definitions of all FillPDF backend plugins. * diff --git a/tests/src/Traits/TestFillPdfTrait.php b/tests/src/Traits/TestFillPdfTrait.php index f37909aa2fac9fac64b41dcc65337fc521c345ea..4ebe67463f32f125e5c13e474d13b2954fef9c88 100644 --- a/tests/src/Traits/TestFillPdfTrait.php +++ b/tests/src/Traits/TestFillPdfTrait.php @@ -60,7 +60,7 @@ trait TestFillPdfTrait { $localServerEndpoint = getenv('FILLPDF_LOCAL_SERVER'); $edit = [ 'template_scheme' => 'public', - 'backend' => 'local_service', + 'backend' => 'local_server', 'local_service_endpoint' => $localServerEndpoint ?: 'http://127.0.0.1:8085', ]; $this->drupalGet('admin/config/media/fillpdf');