From 09397543d9f9a8881ab1497cde0327d4dee77faa Mon Sep 17 00:00:00 2001
From: Dan Chadwick <dan899@gmail.com>
Date: Tue, 24 Mar 2015 14:05:09 -0400
Subject: [PATCH] Issue #1919872 by torotil, DanChadwick: Don't skip
 hook_node_view() for blocks and views.

---
 views/webform_handler_field_form_body.inc |    2 +-
 webform.module                            |    5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/views/webform_handler_field_form_body.inc b/views/webform_handler_field_form_body.inc
index 4c8b206..6816b90 100644
--- a/views/webform_handler_field_form_body.inc
+++ b/views/webform_handler_field_form_body.inc
@@ -30,7 +30,7 @@ class webform_handler_field_form_body extends views_handler_field {
 
     if (node_access('view', $node)) {
       // Populate $node->content['webform'] by reference.
-      webform_node_view($node, 'full');
+      webform_node_view($node, 'form');
       $form_body = isset($node->content['webform']) ? drupal_render($node->content['webform']) : NULL;
     }
     else {
diff --git a/webform.module b/webform.module
index 6cd6910..2d34eda 100644
--- a/webform.module
+++ b/webform.module
@@ -1826,8 +1826,9 @@ function webform_node_view($node, $view_mode) {
   }
 
   // If the webform is not set to display in this view mode, return early.
+  // View mode of 'form' is exempted to allow blocks and views to force display.
   $extra_fields = field_extra_fields_get_display('node', $node->type, $view_mode);
-  if (empty($extra_fields['webform']['visible'])) {
+  if ($view_mode != 'form' && empty($extra_fields['webform']['visible'])) {
     return;
   }
 
@@ -2150,7 +2151,7 @@ function webform_block_view($delta = '') {
 
   // Generate the content of the block based on display settings.
   if ($settings['display'] == 'form') {
-    webform_node_view($node, 'full');
+    webform_node_view($node, 'form');
     $content = isset($node->content['webform']) ? $node->content['webform'] : array();
   }
   else {
-- 
1.7.8.msysgit.0

