re-work coupons to allow multiple coupon types
[bse.git] / site / templates / admin / coupons / edit.tmpl
index d91ed0b..cf5fb2f 100644 (file)
@@ -7,7 +7,7 @@
 </p>
 <:.call "messages"-:>
 <:.set object = coupon -:>
-<form action="<:= cfg.admin_url("shopadmin") :>" method="post">
+<form action="<:= cfg.admin_url("shopadmin") :>" method="post" id="coupon_form">
   <:csrfp admin_bse_coupon_edit hidden:>
   <input type="hidden" name="id" value="<:= coupon.id :>">
   <fieldset>
     <:.call "field", "name":"description" :>
     <:.call "field", "name":"release" :>
     <:.call "field", "name":"expiry" :>
-    <:.call "field", "name":"discount_percent" :>
-    <:.call "field", "name":"untiered" :>
+    <:.call "field", "name":"classid" :>
+    <:.set classid = cgi.param("classid") ? [ cgi.param("classid") ][0] : coupon.classid -:>
+    <:.set config = coupon.config_obj -:>
+    <:.for bh in behaviours -:>
+      <:.set fs = bh.behaviour.config_fields -:>
+      <:.set ordered_f = fs.keys.sort(@{a,b: fs[a].order <=> fs[b].order }) -:>
+      <:.set attr = { "data-behaviour": bh.id } -:>
+      <:.set inputattr = { } -:>
+      <:.if classid ne bh.id -:>
+        <:% attr.set("style", "display: none") -:>
+        <:% inputattr.set("disabled", "disabled") -:>
+      <:.end if -:>
+      <:.for f in ordered_f -:>
+        <:.call "field", name:f, fields: fs, options: { htmlattr: attr, inputattr: inputattr }, object: config -:>
+      <:.end for -:>
+    <:.end for -:>
     <:.call "field", "name":"campaign" :>
   </fieldset>
   <:.call "fieldset", "name":"tiers" :>
@@ -25,3 +39,4 @@
     <input type="submit" name="a_coupon_save" value="Save Coupon">
   </p>
 </form>
+<script type="text/javascript" src="/js/admin_coupons.js"></script>