Rebuilt cart output into table format with totals.
authorChuck Scott <cscott@gaslightmedia.com>
Wed, 18 Oct 2017 17:26:10 +0000 (13:26 -0400)
committerChuck Scott <cscott@gaslightmedia.com>
Wed, 18 Oct 2017 17:26:10 +0000 (13:26 -0400)
classes/data/dataRegRequestEvent.php
classes/data/dataRegRequestRate.php
classes/data/dataRegRequestRegistrant.php
classes/regCartSupport.php
models/front/registrations/cart.php
views/front/registrations/cart.html

index ffcaa06..ecca510 100644 (file)
@@ -140,6 +140,17 @@ class GlmDataRegistrationsRequestEvent extends GlmDataAbstract
                 'use'       => 'lgneud'
             ),
 
+            // Date/Time specific
+            'time_specific' => array (
+                'field'     => 'reg_event',
+                'as'        => 'time_specific',
+                'type'      => 'pointer',
+                    'p_table'   => GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_event',
+                    'p_field'   => 'time_specific',
+                    'p_static'  => true,
+                'use'       => 'lg'
+            ),
+
             // Selected Start Time
             'event_datetime' => array (
                 'field'     => 'event_datetime',
index 97a799a..d031243 100644 (file)
@@ -149,7 +149,6 @@ class GlmDataRegistrationsRegRequestRate extends GlmDataAbstract
                     'p_table'   => GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_event',
                     'p_field'   => 'event_name',
                     'p_static'  => true,
-                'required'  => true,
                 'use'       => 'lg'
             ),
 
index c0ae9a5..52e90da 100644 (file)
@@ -140,6 +140,17 @@ class GlmDataRegistrationsRequestRegistrant extends GlmDataAbstract
                 'use'       => 'lgneud'
             ),
 
+            // Event Name
+            'event_time' => array (
+                'field'     => 'reg_time',
+                'as'        => 'event_time',
+                'type'      => 'pointer',
+                    'p_table'   => GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_time',
+                    'p_field'   => 'start_datetime',
+                    'p_static'  => true,
+                'use'       => 'lg'
+            ),
+
             // Selected Start Time
             'event_datetime' => array (
                 'field'     => 'event_datetime',
index 1eb5795..cfe8ac9 100644 (file)
@@ -410,10 +410,17 @@ class GlmRegCartSupport
                                                 $this->cart['events'][$eventKey]['classes'][$classKey]['rates'][$rateKey]['registrants'][$registrantKey]['removed'] = false;
 
                                                 // Check the if registrant still has a time slot hold
+                                                // if () {
 
+                                                // } else {
+
+                                                    // $this->cart['events'][$eventKey]['classes'][$classKey]['rates'][$rateKey]['registrants'][$registrantKey]['removed'] = true;
+
+
+                                                // }
 
                                                 // If this registrant is flagged for removal from cart
-                                                if ($this->cart['events'][$eventKey]['classes'][$classKey]['rates'][$rateKey]['removed']) {
+                                                if ($this->cart['events'][$eventKey]['classes'][$classKey]['rates'][$rateKey]['registrants'][$registrantKey]['removed']) {
 // *** remove registrant from cart in Database
                                                 // Otherwise add registrant to totals
                                                 } else {
@@ -429,6 +436,7 @@ class GlmRegCartSupport
 
                                                     $rateRegistrantCharges += $registrantCharges;
                                                     $rateDiscounts += $registrantDiscounts;
+
                                                 }
 
                                                 // Save totals for this registrant
index e7e03e3..c5491ed 100644 (file)
@@ -146,8 +146,6 @@ class GlmMembersFront_registrations_cart extends GlmRegCartSupport
 
         }
 
-        echo "<pre>".print_r($this->cart,1)."</pre>";
-
         // Compile template data
         $templateData = array(
             'cartId'        => $cartId,
@@ -157,7 +155,7 @@ class GlmMembersFront_registrations_cart extends GlmRegCartSupport
             'loggedIn'      => ( isset( $_SESSION['LoginAccount'] ) ) ? $_SESSION['LoginAccount']: false,
         );
 
-//echo "<pre>".print_r($templateData,1)."</pre>";
+        // echo "<pre>".print_r($templateData,1)."</pre>";
 
              // Return status, any suggested view, and any data to controller
         return array(
index 5241fc6..730f10f 100644 (file)
@@ -1,65 +1,81 @@
 {include file='front/registrations/header.html'}
 
-<h3>Temporary output for testing cart data</h3>
-
 {if $haveCart}
-    <h2>Cart Contents</h2>
-    {foreach $cart.events as $event}
-    <div>
-        
-        <p>
-            Event: {$event.event_name} (id={$event.id})<br>
-        </p>
+    <h2>Selected Registrations</h2>
+    
+    <table class="glm-admin-table">
+    
+        <thead>
         
-        <div style="margin-left: 2em;">
+            <tr>
+                <th>Registering</th>
+                <th>Registrant</th>
+                <th>Date/Time</th>
+                <th>Discount</th>
+                <th>Rate</th>
+            </tr>
         
-        {foreach $event.classes as $class}
-           
-             <p>    
-             Level: {$class.class_name}<br>
-             </p>
-
-                <div style="margin-left: 2em;">
         
-                {foreach $class.rates as $rate}
-  
-                    <p>                
-                    Rate: {$rate.rate_name}<br>
-                    Base Rate: {$rate.base_rate}<br>
-                    Per Registrant: {$rate.per_registrant}<br>
-                    Registrant Credits: {$rate.registrant_credits}<br>
-                    </p>
-                
-                    <div style="margin-left: 2em;">
-                    
-                    {foreach $rate.registrants as $registrant}
-                    
-                        <p>
-                        
-                        {$account = $cart.accounts}
-                        {$aid = $registrant.account}
-                        
-                        Registrant Name: {$account.$aid.fname} {$account.$aid.lname}<br>
-                        Date &amp; Time: {$registrant.event_datetime.datetime}<br>
-                        Charges: {$registrant.totalCharges}<br>
-                        Discounts: {$registrant.totalDiscounts}<br>
-                        Net Charges: {$registrant.rateTotal}<br>
-                        </p>
-                    
-                    {/foreach}
-                    
-                    </div>
-                    
-                {/foreach}
-                
-                </div>
-                
+        </thead>
+        <tbody>
+  {foreach $cart.events as $event}
+            <tr>
+                <th colspan="5">Event: {$event.event_name}</th>
+            </tr>        
+    {foreach $event.classes as $class}
+            <tr>
+                <td colspan="5">&nbsp;&nbsp;&nbsp;&nbsp;{$class.class_name}</td>
+            </tr>
+      {foreach $class.rates as $rate}
+            <tr>
+                <td colspan="4">
+                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$rate.rate_name}
+                    - Base Rate ({$rate.registrant_credits} registrants included)
+                </td>
+                <td style="text-align: right;">{$rate.rateBaseCharge|number_format:2}</td>
+            </tr>      
+        {foreach $rate.registrants as $registrant}
+            <tr>
+                <td>&nbsp;</td>
+                <td>{$registrant.fname} {$registrant.lname}</td>
+                <td>{$registrant.event_time}</td>
+                <td style="text-align: right;">
+                    {if $registrant.registrantDiscount > 0}
+                        {$registrant.registrantDiscount|number_format:2}
+                    {else}
+                        &nbsp;
+                    {/if}
+                </td>
+                <td style="text-align: right;">
+                    {if $registrant.registrantRate > 0}
+                        {$registrant.registrantRate|number_format:2}
+                    {else}
+                        (included)
+                    {/if}
+                </td>
+            </tr>
         {/foreach}
-        
-        </div>
-    </div>
-
+      {/foreach}          
     {/foreach}
+  {/foreach} 
+            <tfoot>
+                <td colspan="2">&nbsp;</td>
+                <td>Total registrants: {$cart.totalRegistrants}</td>
+                <td style="text-align: right;">
+                    {if $cart.totalDiscounts > 0}
+                        ${$cart.totalDiscounts|number_format:2}
+                    {else}
+                        &nbsp;
+                    {/if}
+                </td>
+                <td style="text-align: right;">${$cart.totalCharges|number_format:2}</td>
+            </tfoot>
+         
+        </tbody>
+    </table>
+    
+    (if there's no problems the checkout button goes here)
 {else}
             <tr class="alternate"><td colspan="2">No cart data</td></tr>
 {/if}