From b4751c8c3491e064d74a7f6ecd1c4322a8f61ecb Mon Sep 17 00:00:00 2001
From: Dan Chadwick <dan899@gmail.com>
Date: Tue, 24 Feb 2015 16:52:38 -0500
Subject: [PATCH] Issue #2422611 by DanChadwick: Fixed text on preview page
 when editing a submission with custom Submit button label.

---
 webform.module |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/webform.module b/webform.module
index 3d2361a..ea88f64 100644
--- a/webform.module
+++ b/webform.module
@@ -2272,6 +2272,11 @@ function webform_client_form($form, &$form_state, $node, $submission = FALSE, $i
     $submission = webform_get_submission($node->nid, $form_state['values']['details']['sid']);
   }
 
+  $finished = isset($submission->is_draft) ? (!$submission->is_draft) : 0;
+  $submit_button_text = $finished
+                          ? t('Save')
+                          : (empty($node->webform['submit_text']) ? t('Submit') : t($node->webform['submit_text']));
+
   // Bind arguments to $form to make them available in theming and form_alter.
   $form['#node'] = $node;
   $form['#submission'] = $submission;
@@ -2397,7 +2402,6 @@ function webform_client_form($form, &$form_state, $node, $submission = FALSE, $i
     if ($preview && $page_num === $page_count) {
       $preview_submission = webform_submission_create($node, $user, $form_state, TRUE, $submission);
       $preview_message = $node->webform['preview_message'];
-      $submit_button_text = empty($node->webform['submit_text']) ? t('Submit') : t($node->webform['submit_text']);
       if (strlen(trim(strip_tags($preview_message))) === 0) {
         $preview_message = t('Please review your submission. Your submission is not complete until you press the "!button" button!', array('!button' => $submit_button_text));
       }
@@ -2435,7 +2439,7 @@ function webform_client_form($form, &$form_state, $node, $submission = FALSE, $i
     );
     $form['details']['finished'] = array(
       '#type' => 'hidden',
-      '#value' => isset($submission->is_draft) ? (!$submission->is_draft) : 0,
+      '#value' => $finished,
     );
 
     // Add process functions to remove the IDs forced upon buttons and wrappers.
@@ -2481,9 +2485,7 @@ function webform_client_form($form, &$form_state, $node, $submission = FALSE, $i
     if ($page_num == $page_count) {
       $form['actions']['submit'] = array(
         '#type' => 'submit',
-        '#value' => ($form['details']['finished']['#value'])
-                        ? t('Save')
-                        : (empty($node->webform['submit_text']) ? t('Submit') : t($node->webform['submit_text'])),
+        '#value' => $submit_button_text,
         '#weight' => 10,
         '#attributes' => array(
           'class' => array('webform-submit', 'button-primary'),
-- 
1.7.8.msysgit.0

