- Issue created by @lily.yan
- π¨π¦Canada lily.yan
We still can merge keywords successfully if we run from the operations in the table instead.
Step 1: Go to admin/content/bibcite/keyword, select 'Merge' under Operations of 'key2'. It goes to admin/content/bibcite/keyword//merge
Step 2: Select target 'key1', then click 'Merge'. It goes to confirm/cancel page. It shows 'Are you sure you want to merge key2 to key1?', Click 'Confirm'. It shows: 'key2 has been successfully merged and deleted.'
- πΈπͺSweden thomjjames Sweden
Hi,
Also experiencing this on the views bulk action only. I checked the bibcite_keyword database table and from what I can tell it seems the "keyword" field doesn't exist which is why the query fails when it's looking for the "keyword" field. From looking at the database query it looks like it should point to "id" instead.
It seems like the field_name is passed from the route definition in
modules/bibcite_entity/bibcite_entity.routing.yml
:entity.bibcite_keyword.bibcite_merge_multiple_form: path: '/admin/content/bibcite/keyword/merge' defaults: _form: 'Drupal\bibcite_entity\Form\MergeMultipleForm' entity_type_id: 'bibcite_keyword' field_name: 'keyword' requirements: _permission: 'administer bibcite_keyword'
Patch attached against 3.0.x branch or this routeSubscriber seems to fix it too:
<?php namespace Drupal\MODULE\Routing; use Drupal\Core\Routing\RouteSubscriberBase; use Symfony\Component\Routing\RouteCollection; class MODULERouteSubscriber extends RouteSubscriberBase { public function alterRoutes(RouteCollection $collection) { if ($route = $collection->get('entity.bibcite_keyword.bibcite_merge_multiple_form')) { // Change the default 'field_name' to 'id'. $route->setDefault('field_name', 'id'); } } }
Cheers
Tom - π¨π¦Canada lily.yan
bibcite-keyword-merge-action-3359457-4.patch works for me. Thank you.