From 9561dfcff6394a9833384b16d053901c6688c122 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Wed, 18 Oct 2017 13:26:10 -0400 Subject: [PATCH] Rebuilt cart output into table format with totals. --- classes/data/dataRegRequestEvent.php | 11 ++ classes/data/dataRegRequestRate.php | 1 - classes/data/dataRegRequestRegistrant.php | 11 ++ classes/regCartSupport.php | 10 +- models/front/registrations/cart.php | 4 +- views/front/registrations/cart.html | 124 ++++++++++++---------- 6 files changed, 102 insertions(+), 59 deletions(-) diff --git a/classes/data/dataRegRequestEvent.php b/classes/data/dataRegRequestEvent.php index ffcaa06..ecca510 100644 --- a/classes/data/dataRegRequestEvent.php +++ b/classes/data/dataRegRequestEvent.php @@ -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', diff --git a/classes/data/dataRegRequestRate.php b/classes/data/dataRegRequestRate.php index 97a799a..d031243 100644 --- a/classes/data/dataRegRequestRate.php +++ b/classes/data/dataRegRequestRate.php @@ -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' ), diff --git a/classes/data/dataRegRequestRegistrant.php b/classes/data/dataRegRequestRegistrant.php index c0ae9a5..52e90da 100644 --- a/classes/data/dataRegRequestRegistrant.php +++ b/classes/data/dataRegRequestRegistrant.php @@ -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', diff --git a/classes/regCartSupport.php b/classes/regCartSupport.php index 1eb5795..cfe8ac9 100644 --- a/classes/regCartSupport.php +++ b/classes/regCartSupport.php @@ -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 diff --git a/models/front/registrations/cart.php b/models/front/registrations/cart.php index e7e03e3..c5491ed 100644 --- a/models/front/registrations/cart.php +++ b/models/front/registrations/cart.php @@ -146,8 +146,6 @@ class GlmMembersFront_registrations_cart extends GlmRegCartSupport } - echo "
".print_r($this->cart,1)."
"; - // 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 "
".print_r($templateData,1)."
"; + // echo "
".print_r($templateData,1)."
"; // Return status, any suggested view, and any data to controller return array( diff --git a/views/front/registrations/cart.html b/views/front/registrations/cart.html index 5241fc6..730f10f 100644 --- a/views/front/registrations/cart.html +++ b/views/front/registrations/cart.html @@ -1,65 +1,81 @@ {include file='front/registrations/header.html'} -

Temporary output for testing cart data

- {if $haveCart} -

Cart Contents

- {foreach $cart.events as $event} -
- -

- Event: {$event.event_name} (id={$event.id})
-

+

Selected Registrations

+ + + + -
+
+ + + + + + - {foreach $event.classes as $class} - -

- Level: {$class.class_name}
-

- -
- {foreach $class.rates as $rate} - -

- Rate: {$rate.rate_name}
- Base Rate: {$rate.base_rate}
- Per Registrant: {$rate.per_registrant}
- Registrant Credits: {$rate.registrant_credits}
-

- -
- - {foreach $rate.registrants as $registrant} - -

- - {$account = $cart.accounts} - {$aid = $registrant.account} - - Registrant Name: {$account.$aid.fname} {$account.$aid.lname}
- Date & Time: {$registrant.event_datetime.datetime}
- Charges: {$registrant.totalCharges}
- Discounts: {$registrant.totalDiscounts}
- Net Charges: {$registrant.rateTotal}
-

- - {/foreach} - -
- - {/foreach} - -
- + + + {foreach $cart.events as $event} + + + + {foreach $event.classes as $class} + + + + {foreach $class.rates as $rate} + + + + + {foreach $rate.registrants as $registrant} + + + + + + + {/foreach} - - - - + {/foreach} {/foreach} + {/foreach} + + + + + + + + + +
RegisteringRegistrantDate/TimeDiscountRate
Event: {$event.event_name}
    {$class.class_name}
+         {$rate.rate_name} + - Base Rate ({$rate.registrant_credits} registrants included) + {$rate.rateBaseCharge|number_format:2}
 {$registrant.fname} {$registrant.lname}{$registrant.event_time} + {if $registrant.registrantDiscount > 0} + {$registrant.registrantDiscount|number_format:2} + {else} +   + {/if} + + {if $registrant.registrantRate > 0} + {$registrant.registrantRate|number_format:2} + {else} + (included) + {/if} +
 Total registrants: {$cart.totalRegistrants} + {if $cart.totalDiscounts > 0} + ${$cart.totalDiscounts|number_format:2} + {else} +   + {/if} + ${$cart.totalCharges|number_format:2}
+ + (if there's no problems the checkout button goes here) {else} No cart data {/if} -- 2.17.1