Issue #2500977 by olli: History module triggers a post request for anonymous users on all node pages
parent
fbeaa7eecb
commit
2b20dd205e
|
@ -134,12 +134,15 @@ function history_cron() {
|
|||
*/
|
||||
function history_node_view_alter(array &$build, EntityInterface $node, EntityViewDisplayInterface $display) {
|
||||
// Update the history table, stating that this user viewed this node.
|
||||
if (($display->getOriginalMode() === 'full') && \Drupal::currentUser()->isAuthenticated()) {
|
||||
// When the window's "load" event is triggered, mark the node as read.
|
||||
// This still allows for Drupal behaviors (which are triggered on the
|
||||
// "DOMContentReady" event) to add "new" and "updated" indicators.
|
||||
$build['#attached']['library'][] = 'history/mark-as-read';
|
||||
$build['#attached']['drupalSettings']['history']['nodesToMarkAsRead'][$node->id()] = TRUE;
|
||||
if ($display->getOriginalMode() === 'full') {
|
||||
$build['#cache']['contexts'][] = 'user.roles:authenticated';
|
||||
if (\Drupal::currentUser()->isAuthenticated()) {
|
||||
// When the window's "load" event is triggered, mark the node as read.
|
||||
// This still allows for Drupal behaviors (which are triggered on the
|
||||
// "DOMContentReady" event) to add "new" and "updated" indicators.
|
||||
$build['#attached']['library'][] = 'history/mark-as-read';
|
||||
$build['#attached']['drupalSettings']['history']['nodesToMarkAsRead'][$node->id()] = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -117,6 +117,7 @@ class HistoryTest extends WebTestBase {
|
|||
|
||||
// View the node.
|
||||
$this->drupalGet('node/' . $nid);
|
||||
$this->assertCacheContext('user.roles:authenticated');
|
||||
// JavaScript present to record the node read.
|
||||
$settings = $this->getDrupalSettings();
|
||||
$libraries = explode(',', $settings['ajaxPageState']['libraries']);
|
||||
|
|
Loading…
Reference in New Issue