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

Issue #3027705 by claudiu.cristea, Pancho, smustgrave: Allow ?edit[field_xyz]...

Issue #3027705 by claudiu.cristea, Pancho, smustgrave: Allow ?edit[field_xyz] as query parameter in contextual filter

(cherry picked from commit 471c0afd)
parent 137b26e1
No related branches found
No related tags found
27 merge requests!11628Update file MediaLibraryWidget.php,!7564Revert "Issue #3364773 by roshnichordiya, Chris Matthews, thakurnishant_06,...,!5752Issue #3275828 by joachim, quietone, bradjones1, Berdir: document the reason...,!5627Issue #3261805: Field not saved when change of 0 on string start,!5427Issue #3338518: send credentials in ajax if configured in CORS settings.,!5395Issue #3387916 by fjgarlin, Spokje: Each GitLab job exposes user email,!5217Issue #3386607 by alexpott: Improve spell checking in commit-code-check.sh,!5064Issue #3379522 by finnsky, Gauravvvv, kostyashupenko, smustgrave, Chi: Revert...,!5040SDC ComponentElement: Transform slots scalar values to #plain_text instead of throwing an exception,!4958Issue #3392147: Whitelist IP for a Ban module.,!4942Issue #3365945: Errors: The following table(s) do not have a primary key: forum_index,!4894Issue #3280279: Add API to allow sites to opt in to upload SVG images in CKEditor 5,!4857Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!4856Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!4788Issue #3272985: RSS Feed header reverts to text/html when cached,!4716Issue #3362929: Improve 400 responses for broken/invalid image style routes,!4553Draft: Issue #2980951: Permission to see own unpublished comments in comment thread,!4273Add UUID to sections,!4192Issue #3367204: [CKEditor5] Missing dependency on drupal.ajax,!3679Issue #115801: Allow password on registration without disabling e-mail verification,!3106Issue #3017548: "Filtered HTML" text format does not support manual teaser break (<!--break-->),!3066Issue #3325175: Deprecate calling \Drupal\menu_link_content\Form\MenuLinkContentForm::_construct() with the $language_manager argument,!3004Issue #2463967: Use .user.ini file for PHP settings,!2851Issue #2264739: Allow multiple field widgets to not use tabledrag,!1484Exposed filters get values from URL when Ajax is on,!925Issue #2339235: Remove taxonomy hard dependency on node module,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links
......@@ -2,6 +2,7 @@
namespace Drupal\views\Plugin\views\argument_default;
use Drupal\Component\Utility\NestedArray;
use Drupal\Core\Cache\Cache;
use Drupal\Core\Cache\CacheableDependencyInterface;
use Drupal\Core\Form\FormStateInterface;
......@@ -64,9 +65,12 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
*/
public function getArgument() {
$current_request = $this->view->getRequest();
// Convert a[b][c][d] into ['a', 'b', 'c', 'd'].
$path = array_filter(preg_split('#(\[|\]\[|\])#', $this->options['query_param']));
if ($current_request->query->has($this->options['query_param'])) {
$param = $current_request->query->all()[$this->options['query_param']];
if ($current_request->query->has($path[0])) {
$query = $current_request->query->all();
$param = NestedArray::getValue($query, $path);
if (is_array($param)) {
$conjunction = ($this->options['multiple'] == 'and') ? ',' : '+';
$param = implode($conjunction, $param);
......
......@@ -69,6 +69,24 @@ public function providerGetArgument() {
'blub',
];
$data[] = [
['query_param' => 'test[tier1][tier2][tier3]'],
new Request(['test' => ['tier1' => ['tier2' => ['tier3' => 'foo']]]]),
'foo',
];
$data[] = [
['query_param' => 'test[tier1][tier2]'],
new Request(['test' => ['tier1' => ['tier2' => ['foo', 'bar']]]]),
'foo,bar',
];
$data[] = [
['query_param' => 'test[tier1][tier2]'],
new Request(['test' => 'foo']),
NULL,
];
return $data;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment