Skip to content

Commit a32c1bc

Browse files
authored
fix(persisted-queries): Fix query config problems (#1082)
1 parent d51ef18 commit a32c1bc

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

src/Entity/Server.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,8 +503,11 @@ protected function getValidationRules() {
503503
*/
504504
public function preSave(EntityStorageInterface $storage) {
505505
// Write all the persisted queries configuration.
506-
$this->persisted_queries_settings = [];
507506
$persistedQueryInstances = $this->getPersistedQueryInstances();
507+
// Reset settings array after getting instances as it might be used when
508+
// obtaining them. This would break a config import containing persisted
509+
// queries settings as it would end up empty.
510+
$this->persisted_queries_settings = [];
508511
if (!empty($persistedQueryInstances)) {
509512
foreach ($persistedQueryInstances as $plugin_id => $plugin) {
510513
$this->persisted_queries_settings[$plugin_id] = $plugin->getConfiguration();

src/Form/PersistedQueriesForm.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,8 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
172172
$plugin_form_state = SubformState::createForSubform($form['settings'][$id], $form, $form_state);
173173
$plugin->submitConfigurationForm($form['settings'][$id], $plugin_form_state);
174174
}
175-
if (!empty($values['weights']['order'][$id]['weight'])) {
175+
// Use isset instead of empty to cover weight with zero index.
176+
if (isset($values['weights']['order'][$id]['weight'])) {
176177
$plugin->setWeight((int) $values['weights']['order'][$id]['weight']);
177178
}
178179
$this->entity->addPersistedQueryInstance($plugin);

0 commit comments

Comments
 (0)