]> git.imager.perl.org - bse.git/blobdiff - site/templates/admin/order_detail.tmpl
save the product tier on ordering
[bse.git] / site / templates / admin / order_detail.tmpl
index 61f3ea22c99dc3ad8fb7687d1bfe364abbd81df1..363a27a6395088d680402faa5e264dd1c1e36e33 100644 (file)
-<html><head><title>Order <:order id:> details</title>
-<link rel="stylesheet" href="/css/admin.css">
-</head>
-<body>
+<:wrap admin/base.tmpl title => [concatenate "Order " [order id] " details"] bodyid => bse-order-detail :> 
 <h1>Shop Administration</h1>
-<p>| <a href="/cgi-bin/admin/menu.pl">Admin menu</a> | <a href="<:script:>"></a><a href="<:script:>">Manage 
-  catalogs</a> | <a href="<:script:>?order_list=1">Manage orders</a> | <a href="<:script:>?order_list=1&template=order_list_unfilled">Unfilled 
-  orders</a> | <a href="<:script:>?order_list=1&template=order_list_filled">Filled 
+<p>| <a href="<:adminurl menu:>">Admin menu</a> |
+<a href="<:adminurl shopadmin:>">Manage catalogs</a> |
+<a href="<:adminurl shopadmin order_list 1:>">Manage orders</a> |
+<a href="<:adminurl shopadmin order_list 1 template order_list_unfilled:>">Unfilled 
   orders</a> |
-<:ifSiteuser id:><a href="/cgi-bin/admin/siteusers.pl?a_edit=1&amp;id=<:siteuser id:>">Edit Member</a> |
-<a href="/cgi-bin/admin/siteusers.pl?a_edit=1&amp;id=<:siteuser id:>&amp;_t=orders">Other member orders</a> |<:or:><:eif:>
+<a href="<:adminurl shopadmin order_list 1 template order_list_filled:>">Filled 
+  orders</a> |
+<:ifSiteuser id:><a href="<:adminurl siteusers a_edit 1 id [siteuser id]:>">Edit Member</a> |
+<a href="<:adminurl siteusers a_edit 1 id [siteuser id] _t orders:>">Other member orders</a> |<:or:><:eif:>
 </p>
+<:ifMessage:><div class="message"><:message:></div><:or:><:eif:>
 <h2>Order details - No: #<:order id:></h2>
-<:ifOrder complete:><:or:><p><b><font size="+1">This order is incomplete and should not be filled.</font></b></p><:eif:>
-<table cellpadding="6" cellspacing="1" border="0">
-  <tr> 
-    <td align="left"><b>E-mail:</b></td>
-    <td><a href="mailto:<:order emailAddress:>"><:order emailAddress:></a></td>
-    <td>&nbsp;</td>
-    <td align="left"><b>Phone:</b></td>
-    <td><:order telephone:></td>
-  </tr>
-  <tr> 
-    <td align="left"><b>Date:</b></td>
-    <td><:date order orderDate:></td>
-    <td>&nbsp;</td>
-    <td align="left"><b>Mobile:</b></td>
-    <td><:order delivMobile:></td>
+<h3>Received: <span class="date order-date" data-datetime="<:date "%y-%m-%dT%H:%M:%S" order orderDate:>"><:date "%d/%m/%Y %I:%M%P" order orderDate:></span></h3>
+<:ifOrder purchase_order:>
+<h3 class="purchase-order">Purchase Order: <span class="purchase-order"><:order purchase_order:></span></h3>
+<:or:><:eif:>
+<:ifOrder complete:><:or:><p>This order is incomplete and should not be filled.</p><:eif:>
+<table class="editform orderdetail_head">
+  <tr>
+    <th colspan="2" class="col_typehead">Billing</th>
+    <td rowspan="6">&nbsp;</td>
+    <th colspan="2" class="col_typehead">Delivery</th>
   </tr>
   <tr> 
-    <td align="left"><b>Delivery:</b></td>
-    <td><:order delivFirstName:> <:order delivLastName:></td>
-    <td rowspan="6">&nbsp;&nbsp;</td>
-    <td align="left"><b>Billing:</b></td>
-    <td><:order billFirstName:> <:order billLastName:></td>
+    <th class="col_head">E-mail:</th>
+    <td class="col_value"><a href="mailto:<:order billEmail:>"><:order billEmail:></a></td>
+    <th class="col_head">Email:</th>
+    <td class="col_value"><a href="mailto:<:order emailAddress:>"><:order emailAddress:></a></td>
   </tr>
   <tr> 
-    <td rowspan="5">&nbsp;</td>
-    <td><:order delivOrganization:></td>
-    <td rowspan="5">&nbsp;</td>
-    <td><:order billOrganization:></td>
+    <th class="col_head">Phone:</th>
+    <td class="col_value"><a href="tel:<:order billTelephone:>"><:order billTelephone:></a></td>
+    <th class="col_head">Phone:</th>
+    <td class="col_value"><a href="tel:<:order telephone:>"><:order telephone:></a></td>
   </tr>
   <tr> 
-    <td><:order delivStreet:></td>
-    <td><:order billStreet:></td>
+    <th class="col_head">Mobile:</th>
+    <td class="col_value"><a href="tel:<:order billMobile:>"><:order billMobile:></a></td>
+    <th class="col_head">Mobile:</th>
+    <td class="col_value"><a href="tel:<:order delivMobile:>"><:order delivMobile:></a></td>
   </tr>
   <tr> 
-    <td><:order delivStreet2:></td>
-    <td><:order billStreet2:></td>
+    <th class="col_head">Facsimile:</th>
+    <td class="col_value"><a href="fax:<:order billFacsimile:>"><:order billFacsimile:></a></td>
+    <th class="col_head">Facsimile:</th>
+    <td class="col_value"><a href="fax:<:order facsimile:>"><:order facsimile:></a></td>
   </tr>
   <tr> 
-    <td><:order delivSuburb:> <:order delivState:> <:order delivPostCode:></td>
-    <td><:order billSuburb:> <:order billState:> <:order billPostCode:></td>
+    <th class="col_head">Address:</th>
+    <td class="col_value">
+      <:order billFirstName:> <:order billLastName:>
+      <:ifOrder billOrganization:><br /><:order billOrganization:><:or:><:eif:>
+      <br /><:order billStreet:>
+      <:ifOrder billStreet2:><br /><:order billStreet2:><:or:><:eif:>
+      <br /><:order billSuburb:> <:order billState:> <:order billPostCode:>
+      <br /><:order billCountry:>
+    </td>
+    <th class="col_head">Address:</th>
+    <td class="col_value"><:order delivFirstName:> <:order delivLastName:>
+      <:ifOrder delivOrganization:><br /><:order delivOrganization:><:or:><:eif:>
+      <br /><:order delivStreet:>
+      <:ifOrder delivStreet2:><br /><:order delivStreet2:><:or:><:eif:>
+      <br /><:order delivSuburb:> <:order delivState:> <:order delivPostCode:>
+      <br /><:order delivCountry:></td>
   </tr>
-  <tr> 
-    <td><:order delivCountry:></td>
-    <td><:order billCountry:></td>
+<:ifOrder instructions:>
+  <tr>
+    <th>Special Instructions:</th>
+    <td colspan="4" class="col_instructions"><:order instructions:></td>
   </tr>
-  <:include custom/order_detail.include optional:>
+<:or:><:eif:>
+  <:include custom/order_detail.include optional:><:include admin/include/custom/order_detail_custom.tmpl optional:><:include admin/include/order_detail_custom.tmpl optional:>
 </table>
 
-<br>
-<table bgcolor="#000000" cellpadding="0" cellspacing="0" border="0" class="table">
-  <tr>
-<td>
-
-      <table border=0 cellpadding="6" cellspacing="1">
-        <tr bgcolor="#FFFFFF"> 
-          <th width="100%">Description</th>
-          <th nowrap>Units</th>
-          <th nowrap>Unit Price</th>
-          <th nowrap>Extension</th>
-          <th nowrap>Unit Wsale</th>
-          <th nowrap>Ext Wsale</th>
-          <th nowrap>Unit GST</th>
-          <th nowrap>Ext GST</th>
+<br />
+      <table class="editform orderdetail">
+        <tr> 
+          <th class="col_description">Description</th>
+          <th class="col_units">Units</th>
+          <th class="col_unit_wsale">Unit Wsale</th>
+          <th class="col_ext_wsale">Ext Wsale</th>
+          <th class="col_unit_gst">Unit GST</th>
+          <th class="col_ext_gst">Ext GST</th>
+          <th class="col_unitprice">Unit Price</th>
+          <th class="col_extension">Extension</th>
 </tr>
-<:iterator begin items:>
-        <tr bgcolor="#FFFFFF"> 
-          <td width="100%"><a href="<:script:>?product_detail=1&id=<:product id:>"><:product 
-            title:></a> <:options:></td>
-          <td align=center nowrap><:item units:></td>
-          <td align=right nowrap><:money item price:></td>
-          <td align=right nowrap><:extension price:></td>
-          <td align=right nowrap><:money item wholesalePrice:></td>
-          <td align=right nowrap><:extension wholesalePrice:></td>
-          <td align=right nowrap><:money item gst:></td>
-          <td align=right nowrap><:extension gst:></td>
+<:.for item in [order.items] -:>
+  <:.set product = @undef -:>
+  <:.if item.productId > 0 -:>
+    <:.set product = bse.products.getByPkey(item.productId) -:>
+  <:.end if -:>
+        <tr> 
+          <td class="col_description"><:.if product :><a href="<:= product.admin :>"><:= product.title :></a><:.else:><:= item.title :> (product deleted)<:.end if:> <:= item.nice_options:>
+         <:.if item.tier_id:><br><span class="price_tier"><:= item.tier.description :></span><:.end if:></td>
+          <td class="col_units"><:= item.units:></td>
+          <td class="col_unit_wsale"><:= bse.number("money", item.wholesalePrice) :></td>
+          <td class="col_ext_wsale"><:= bse.number("money", item.extended("wholesalePrice")) :></td>
+          <td class="col_unit_gst"><:= bse.number("money", item.gst):></td>
+          <td class="col_ext_gst"><:= bse.number("money", item.extended("gst")):></td>
+          <td class="col_unitprice"><:= bse.number("money", item.price):></td>
+          <td class="col_extension"><:= bse.number("money", item.extended("price")) :></td>
 </tr>
-<:iterator end items:>
-        <tr bgcolor="#FFFFFF"> 
-          <td colspan=3 align=right>Total:</td>
-          <td align=right nowrap><:money order total:></td>
-          <td>&nbsp;</td>
-          <td align=right nowrap><:money order wholesaleTotal:></td>
-          <td>&nbsp;</td>
-          <td align=right nowrap><:money order gst:></td>
+<:.end for -:>
+<tr>
+  <td colspan="7" class="col_label_right">Total Price of goods:</td>
+  <td  class="col_extension"><:= bse.number("money", order.total_cost) -:></td>
 </tr>
-</table>
+<:.if order.coupon -:>
+<tr>
+   <td>Coupon code <b><:= order.coupon_code -:></b></td>
+   <td colspan="6" class="col_label_right">Discount:</td>
+   <td class="col_extension">(<:= bse.number("money", order.product_cost_discount) -:>)</td>
+</tr>
+<tr>
+   <td colspan="7" class="col_label_right">Discounted total:</td>
+   <td class="col_extension"><:= bse.number("money", order.discounted_product_cost) -:></td>
+</tr>
+<:.end if -:>
+        <tr> 
+          <td colspan="7" class="col_contact">
+<:if Eq [order shipping_name] "none":>
+Nothing to ship.
+<:or:>
+<form method="post" action="<:adminurl shopadmin a_order_save 1:>">
+Shipping via <:shipping_method_select:>
+    <input type="hidden" name="id" value="<:order id:>" />
+    <:csrfp shop_order_save hidden:>
+    <label>tracking code: <input type="text" name="freight_tracking" value="<:order freight_tracking:>" /></label>
+    <input type="submit" name="a_order_save" value="Save" />
+    </form>
+<:eif:>
 </td>
+          <td class="col_extension"><:money order shipping_cost:></td>
+</tr>
+        <tr> 
+          <td colspan="3" class="col_total">Total:</td>
+          <td class="col_ext_wsale total"><:money order wholesaleTotal:></td>
+          <td>&nbsp;</td>
+          <td class="col_ext_gst total"><:money order gst:></td>
+          <td>&nbsp;</td>
+          <td class="col_extension total"><:money order total:></td>
 </tr>
 </table>
-<:switch:>
-<:case order ccOnline:>
+<p>Order progress: <:stage_description:> <a href="#" onclick="document.getElementById('update_stage').style.display='block'; this.style.display='none'; return false;">update</a></p>
+
+<form id="update_stage" action="<:adminurl shopadmin:>" style="display: none" method="post">
+  <input type="hidden" name="id" value="<:order id:>" />
+  <:csrfp shop_order_save hidden:>
+  <:stage_select:>
+  <label>Log note: <input type="text" name="stage_note" size="40" /> (optional)</label>
+  <input type="submit" name="a_order_save" value="Save" />
+</form>
+
+<:.if !order.paidFor :>
+<p>This order hasn't been paid</p>
+
+<form action="<:adminurl2 shopadmin:>" method="post">
+<input type="hidden" name="id" value="<:= order.id :>" />
+<:csrfp shop_order_paid hidden:>
+Payment type: <:.call "make_select", "name": "paymentType", "list": payment_types, "id": "id", "desc": "desc", "default": order.paymentType -:>
+<input type="submit" name="a_order_paid" value="Mark this order paid" /></form>
+<:.elsif order.is_manually_paid -:>
+<form action="<:adminurl2 shopadmin:>" method="post">
+This order has been manually marked paid via <:= payment_type_desc | html :>
+<input type="hidden" name="id" value="<:= order.id :>" />
+<:csrfp shop_order_unpaid hidden:>
+<input type="submit" name="a_order_unpaid" value="Mark this order unpaid" /></form>
+
+<:.elsif order.ccOnline:>
 <p>This was processed as an online credit card transaction.</p>
-<:if Order ccSuccess:>
+<:.if order.ccSuccess:>
 <p>This transaction was <b>SUCCESSFUL</b>.</p>
 <table>
 <tr><th>Receipt Number:</th><td><:order ccReceipt:></td></tr>
-<:ifOrder ccTranId:>
+<:.if order.ccTranId:>
 <tr><th>Transaction Id:</th><td><:order ccTranId:></td></tr>
-<:or:><:eif:>
+<:.end if:>
+<:.if order.ccName:>
+<tr><th>Card Holder:</th><td><:order ccName:></td>
+<:.end if:>
+<:.if order.ccPAN:>
+<tr><th>Card Number (partial):</th><td>...<:order ccPAN:></td>
+<:.end if:>
 </table>
-<:or Order:>
+<:.else:>
 <p>This transaction <b>FAILED</b>.</p>
 <table>
 <tr><th>Status:</th><td><:order ccStatus:></td>
 <tr><th>Error:</th><td><:order ccStatusText:></td>
-<:ifOrder ccStatus2:>
+<:.if order.ccStatus2:>
 <tr><th>More status</th><td><:order ccStatus2:></td>
-<:or:><:eif:>
+<:.end if:>
 </table>
-<:eif Order:>
-<:case Eq [order paymentType] "0":><p>Payment made by credit card.  Credit card details can be found in the encrypted email you received when the customer made the order.</p>
-<:case Eq [order paymentType] "1":><p>Payment will be made by cheque.</p>
-<:case Eq [order paymentType] "2":><p>Contact the customer to arrange for payment.</p>
-<:endswitch:>
+<:.end if:>
+<:.elsif order.paymentType == 0:>
+<p>Payment made by credit card.  Credit card details can be found in the encrypted email you received when the customer made the order.</p>
+<:.if order.ccPAN or order.ccName :>
+<table>
+<:.if order.ccName:>
+<tr><th>Card Holder</th><td><:order ccName:></td>
+<:.end if:>
+<:.if order.ccPAN:>
+<tr><th>Card Number (partial)</th><td>...<:order ccPAN:></td>
+<:.end if:>
+</table>
+<:.end if:>
+<:.elsif order.paymentType == 1 -:>
+  <p>Payment will be made by cheque.</p>
+<:.elsif order.paymentType == 2 -:>
+  <p>Contact the customer to arrange for payment.</p>
+<:.elsif order.paymentType == 4:><p>Paid via PayPal, transaction id <:order paypal_tran_id:><:ifUserCan bse_shop_order_refund_paypal:> <a href="<:adminurl shopadmin a_paypal_refund 1 id [order id]:>">Refund</a><:or:><:eif:></p>
+<:.end if:>
 <:include custom/order_detail_payment.include optional:>
-<:if Order filled:>
+<:.if order.filled:>
 <p>This order was filled on <:date order whenFilled:> by <:order whoFilled:>.</p>
-<:or Order:>
-<:ifOrder complete:>
-<p>This order hasn't been filled yet.  <a href="/cgi-bin/admin/shopadmin.pl?id=<:order id:>&order_filled=Yep&filled=1&detail=1">Mark order filled</a>.</p><:or:><:eif:>
-<:eif Order:>
-</body></html>
+<:.elsif order.complete:>
+<p>This order hasn't been filled yet.  <a href="<:adminurl shopadmin id [order id] order_filled Yep filled 1 detail 1:>">Mark order filled</a>.</p>
+<:.end if:>
+<:.if order.instructions:>
+<p style="white-space: pre-wrap;"><:order instructions:></p>
+<:.end if:>
+
+<table class="editform" id="auditlog">
+<:include admin/include/audithead.tmpl:>
+<:iterator begin auditlog object_id [order id] object_type BSE::TB::Order:>
+<:include admin/include/auditentry.tmpl:>
+<:iterator end auditlog:>
+</table>