Updating flow after update
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 19 Jun 2019 13:25:16 +0000 (09:25 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 19 Jun 2019 13:25:16 +0000 (09:25 -0400)
After update show same form with confirmation success message or alert
message saying there was an error saving the data.

models/admin/messages/index.php
views/admin/messages/editHtmlEmail.html

index 7af3f55..de3f416 100644 (file)
@@ -99,11 +99,24 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
      */
     public function modelAction ( $actionData = false )
     {
-        $view     = 'index';
-        $success  = true;
-        $option   = '';
-        $option2  = false;
-        $viewPath = 'admin/messages/';
+        $view      = 'index';
+        $success   = true;
+        $option    = '';
+        $option2   = false;
+        $viewPath  = 'admin/messages/';
+        $mergeTags = array(
+            'Member Name', '{$member.name}',
+            'Contact First Name', '{$contact.fname}',
+            'Contact Last Name', '{$contact.lname}',
+            'Contact Address Line 1', '{$contact.addr1}',
+            'Contact Address Line 2', '{$contact.addr2}',
+            'Contact City', '{$contact.city}',
+            'Contact State', '{$contact.state}',
+            'Contact Zip', '{$contact.zip}',
+            'Contact Office Phone', '{$contact.office_phone}',
+            'Contact Home Phone', '{$contact.home_phone}',
+            'Contact Mobile Phone', '{$contact.mobile_phone}',
+        );
 
         // Setup Foundation 6
         wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . 'css/foundation-6.min.css' );
@@ -411,9 +424,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                     'error'    => $error,
                     'success'  => $success,
                 );
-                break;
             } else {
-                $template = $Templates->editEntry( $id );
                 $success  = true;
                 $view     = 'editTemplate';
                 $tData    = array(
@@ -422,8 +433,8 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                     'error'    => $error,
                     'success'  => $success,
                 );
-                break;
             }
+            break;
 
         case 'deleteTemplate':
             $view = 'list';
@@ -445,6 +456,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
         case 'editHtmlEmail':
             $view     = 'editHtmlEmail';
             $newEntry = false;
+            $success  = false;
             if ( isset( $_REQUEST['id'] ) && $id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) ) {
                 $message = $this->editEntry( $id );
             } else {
@@ -452,25 +464,15 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                 $newEntry = true;
             }
             $tData = array(
-                'message'  => $message,
-                'newEntry' => $newEntry,
-                'merge_tags'  => array(
-                    'Member Name', '{$member.name}',
-                    'Contact First Name', '{$contact.fname}',
-                    'Contact Last Name', '{$contact.lname}',
-                    'Contact Address Line 1', '{$contact.addr1}',
-                    'Contact Address Line 2', '{$contact.addr2}',
-                    'Contact City', '{$contact.city}',
-                    'Contact State', '{$contact.state}',
-                    'Contact Zip', '{$contact.zip}',
-                    'Contact Office Phone', '{$contact.office_phone}',
-                    'Contact Home Phone', '{$contact.home_phone}',
-                    'Contact Mobile Phone', '{$contact.mobile_phone}',
-                )
+                'message'    => $message,
+                'newEntry'   => $newEntry,
+                'merge_tags' => $mergeTags,
             );
             break;
 
         case 'updateHtmlEmail':
+            $error   = false;
+            $success = false;
             $templateData['thisOption'] = 'list';
             $_REQUEST['last_updated'] = date( 'Y-m-d H:i:s' );
             if ( isset( $_REQUEST['id'] ) && $id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) ) {
@@ -480,13 +482,27 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                 $message = $this->insertEntry();
             }
             if ( $message['status'] != 1 ) {
-                $view = 'editHtmlEmail';
+                $error = true;
+                $view  = 'editHtmlEmail';
                 $tData = array(
-                    'message'  => $message,
-                    'newEntry' => $newEntry,
+                    'message'    => $message,
+                    'newEntry'   => $newEntry,
+                    'merge_tags' => $mergeTags,
+                    'error'      => $error,
+                    'success'    => $success,
+                );
+            } else {
+                $success = true;
+                $view    = 'editHtmlEmail';
+                $tData   = array(
+                    'message'    => $message,
+                    'newEntry'   => $newEntry,
+                    'merge_tags' => $mergeTags,
+                    'error'      => $error,
+                    'success'    => $success,
                 );
-                break;
             }
+            break;
 
         case 'deleteMessage':
             $view = 'list';
index 5a8ef75..5852876 100644 (file)
@@ -8,7 +8,22 @@
     {assign var="deleteUrl" value="{$thisUrl}?page={$thisPage}&option=deleteMessage&id={$message.fieldData.id}"}
     {include file='admin/ui/deleteDialog.html'}
 {/if}
-
+{if $error}
+    <div class="callout alert" data-closable>
+        There was an error saving your data.
+        <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+            <span aria-hidden="true">&times;</span>
+        </button>
+    </div>
+{/if}
+{if $success}
+    <div class="callout success" data-closable>
+        Your data was Saved!
+        <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+            <span aria-hidden="true">&times;</span>
+        </button>
+    </div>
+{/if}
 <form action="{$thisUrl}?page={$thisPage}" method="post" style="max-width: 600px;">
     <input type="hidden" name="option" value="updateHtmlEmail" />
     {if !$newEntry}