]> git.imager.perl.org - bse.git/blobdiff - site/templates/checkoutnew_base.tmpl
re-work coupons to allow multiple coupon types
[bse.git] / site / templates / checkoutnew_base.tmpl
index 4917475a7645b30fdb7ff24d9bd57e2222b448ae..c328fee68a85e71d6481cf26c0ee4a58de2af87e 100644 (file)
@@ -67,6 +67,7 @@ function BSE_validateForm {
   safe with us.<br>
 </p>
 </font> 
+<form action="<:dyntarget shop:>" method="post">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr> 
     <td align="center" bgcolor="#CCCCCC" width="100%" height="18"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
@@ -78,38 +79,95 @@ function BSE_validateForm {
     <td width="100%"> 
       <table width="100%" border="0" cellspacing="1" cellpadding="2" bgcolor="#EEEEEE">
         <tr valign="middle" align="center" bgcolor="#666666"> 
+<:.set cart = request.cart -:>
+<:.if cart.coupon_valid and !cart.coupon_active -:>
+            <td></td>
+<:.end if -:>
           <td width="100%" align="left" height="18"> &nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2" color="#FFFFFF"><b>Item:</b></font>&nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2" color="#FFFFFF">(All 
             prices in AUD &#150; includes GST and shipping costs where applicable)</font></td>
           <td nowrap height="18"> &nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2" color="#FFFFFF"><b>Qty:</b></font>&nbsp;</td>
           <td height="18"> &nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2" color="#FFFFFF"><b>Price:</b></font>&nbsp;</td>
         </tr>
-        <:iterator begin items:> 
-        <tr valign="middle" align="center" bgcolor="#FFFFFF"> 
-          <td width="100%" align="left"> &nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><a href="<:item link:>"><:item 
-            description:>  <:options:></a><:ifItem session_id:>(session at <:location description:> <:date "%H:%M %d/%m/%Y" session when_at:>)<:or:><:eif:></font></td>
-          <td nowrap align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><:item 
-            units:></font></td>
-          <td align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><b>$<: 
-            money item price :></b></font></td>
-        </tr>
-        <:iterator end items:> 
-        <:if Shipping_cost:>
+         <:-.set items = request.cart.items -:>
+          <:.if items.size -:>
+           <:.for item in items -:>
+             <:.set options = item.option_list -:>
+             <:.set session = item.session -:>
+          <tr valign="middle" align="center" bgcolor="#FFFFFF"> 
+<:.if cart.coupon_valid and !cart.coupon_active -:>
+            <td>
+<:= item.coupon_applies ? "Y" : "N" -:>
+           </td>
+<:.end if -:>
+            <td width="100%" align="left"> &nbsp;<span class="cartproducttitle"><a href="<:= item.link | html:>"><:= item.product.description | html :></a></span> <:.if options.size:>(<:.for option in options:><:= loop.index ? ", " : "" :><:= option.desc | html:>: 
+              <:= option.display |html :><:.end for:>)<:.end if -:><:.if item.session_id:>(session at <:= session.location.description | html:> <:= bse.date("%H:%M %d/%m/%Y", session.when_at) -:>)<:.end if:>
+<:-.if cart.coupon_active and !cart.coupon_cart_wide and item.product_discount_units > 0 :>
+<br><span class="itemdiscount">
+  <:-.if item.product_discount_units < item.units -:>
+Saved $<:= bse.number("money", item.product_discount) :> on the first <:= item.product_discount_units :> units
+  <:-.else -:>
+Saved $<:= bse.number("money", item.product_discount) :> on each unit
+  <:-.end if -:>
+&nbsp;(total $<:= bse.number("money", item.product_discount * item.product_discount_units) :>)
+</span>
+<:-.end if -:>
+</td>
+            <td nowrap align="center"> 
+              <input type="text" name="quantity_<:= loop.index :>" size="2" value="<:= item.units :>">
+            </td>
+            <td align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><b>$<:= bse.number("money", item.price) | html :></b></font></td>
+          </tr>
+           <:.end for -:>
+          <:.else -:>
+          <tr valign="middle" align="center" bgcolor="#FFFFFF"> 
+            <td width="100%" height="20" align="center" colspan="4"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">You have no items in your shopping cart!</font></td>
+           </tr>
+          <:.end if -:>
+        <:.if cart.shipping_cost:>
         <tr valign="middle" align="center" bgcolor="#FFFFFF"> 
-          <td colspan=2 width="100%" align="left">&nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Shipping charges (for <:shipping_method:><:if delivery_in:>, delivery in <:delivery_in:> days<:or delivery_in:><:eif delivery_in:>)</font></td>
-          <td align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><b>$<:money shipping_cost:></b></font></td>
+          <td colspan=2 width="100%" align="left">&nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Shipping charges (for <:= cart.shipping_method:><:.if cart.delivery_in.defined:>, delivery in <:= cart.delivery_in:> days<:.end if:>)</font></td>
+          <td align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><b>$<:= bse.number("money", cart.shipping_cost) :></b></font></td>
         </tr>
-        <:or Shipping_cost:><:eif Shipping_cost:>
-        <:if Eq [shipping_name] contact:>
+        <:.end if:>
+        <:.if cart.shipping_name eq "contact" :>
         <tr valign="middle" align="center" bgcolor="#FFFFFF"> 
           <td colspan=2 width="100%" align="left">&nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Shipping charges to be determined later</font></td>
           <td align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><b>$X.XX</b></font></td>
         </tr>
-        <:or Eq:><:eif Eq:>
+        <:.end if :>
       </table>
     </td>
   </tr>
 </table>
 <table width="100%" border="0" cellspacing="0" cellpadding="0">   
+    <tr>
+      <td>Coupon code: <input type="text" name="coupon" value="<:= cart.coupon_code -:>">
+<:.if cart.coupon_active -:>
+Coupon active
+<:.elsif cart.coupon_valid -:>
+<:= cart.coupon_inactive_message :>
+<:.elsif cart.coupon_code ne "" -:>
+Unknown coupon code
+<:.end if -:>
+</td>
+<:.if cart.coupon_active -:>
+      <td height="20">&nbsp;</td>
+      <td height="20" bgcolor="#666666">&nbsp;</td>
+      <td align="CENTER" height="20" bgcolor="#666666" NOWRAP><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"> 
+        <b>DISCOUNT</b></font></td>
+      <td height="20" bgcolor="#666666">&nbsp;</td>
+<:.else -:>
+      <td colspan="6"></td>
+<:.end if -:>
+    </tr>
+<:.if cart.coupon_active -:>
+    <tr>
+      <td colspan="2">&nbsp;</td>
+      <td height="20" style="border-left: 1px solid #666666">&nbsp;</td>
+      <td align="CENTER">$<:= bse.number("money", cart.product_cost_discount) -:></td>
+      <td height="20" style="border-right: 1px solid #666666">&nbsp;</td>
+    </tr>
+<:.end if -:>
   <tr> 
     <td>&nbsp;</td>
     <td height="20">&nbsp;</td>
@@ -149,7 +207,6 @@ function BSE_validateForm {
     </table>
     <br>
 <:eif User:>
-<form action="<:dyntarget shop:>" method="POST" onSubmit="BSE_validateForm();return document.MM_returnValue">
   <font face="Verdana, Arial, Helvetica, sans-serif" size="3"> <b>Billing Details:</b></font> 
   <hr noshade size="1">
   <table border="0" cellspacing="0" cellpadding="0">
@@ -244,13 +301,13 @@ function BSE_validateForm {
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
         <textarea name="instructions" rows="5" cols="40" wrap="virtual"><:old instructions:></textarea></font><:error_img instructions:></td>
     </tr>
-<:if Shipping:>
+<:.if cart.cfg_shipping and cart.any_physical_products:>
     <tr>
       <td valign="top"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Shipping<br /> method:</font></td>
       <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><:shipping_select:></font><:error_img shipping_name:> *
 </td>
     </tr>
-<:or Shipping:><:eif Shipping:>
+<:.end if:>
     <tr> 
       <td valign="top"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Purchase<br />Order:</font></td>
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
@@ -325,7 +382,7 @@ function BSE_validateForm {
     <tr> 
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Telephone:</font></td>
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
-        <input type="Text" name="delivTelephone" size=20 value="<:old delivTelephone:>" /><:error_img delivTelephone:>
+        <input type="Text" name="telephone" size=20 value="<:old telephone:>" /><:error_img telephone:>
         *</font></td>
     </tr>
     <tr> 
@@ -337,13 +394,13 @@ function BSE_validateForm {
     <tr> 
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Facsimile:</font></td>
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
-        <input type="Text" name="delivFacsimile" size=20 value="<:old delivFacsimile:>" /><:error_img delivFacsimile:>
+        <input type="Text" name="facsimile" size=20 value="<:old facsimile:>" /><:error_img facsimile:>
         </font></td>
     </tr>
     <tr> 
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> E-mail:</font></td>
       <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
-        <input type="Text" name="emailAddress" size=34 value="<:old emailAddress:>"><:error_img emailAddress:>
+        <input type="Text" name="emailAddress" size=34 value="<:= old("emailAddress"):>"><:.call "error_img", "field":"emailAddress":>
         *</font></td>
     </tr>
   </table>