pay_request.pt 15.2 KB
<html metal:use-macro="load: base.pt">
<div metal:fill-slot="content">
<style>
    button {
        margin:0px 3px;
    }
    #main{min-height: 1px;
          padding-bottom: 1px;}
</style>
<form method="post" accept-charset="utf-8" id="deform" class="form-horizontal"
      enctype="multipart/form-data"  
      style="background-color:white;"
      autocomplete="off">

  <div class="panel-body col-md-6"> 
    <div class="col-md-12" style="padding-left: 0px; padding-right: 0px; margin-bottom: 5px;">
        <button id="btn_submit" class="btn btn-primary" type="submit" name="lanjut" value="Lanjut">Lanjutkan Pembayaran ></button>
    </div>
    <div class="col-md-12 col-xs-12 well">
        <!-- Proses Template Form -->

      <input type="hidden" name="_charset_">
      <input type="hidden" value="deform" name="__formid__">

      <!-- Tampilan untuk general error -->
      <div tal:define="field formParams" class="alert alert-danger" tal:condition="field.error">
        <div class="errorMsgLbl" i18n:translate="">
          Terdapat kesalahan pengisian
        </div>
        <p class="errorMsg">${field.errormsg}</p>
      </div>
      <!-- END Tampilan untuk general error -->

      <div class="col-md-12">
        <!-- Looping Semua Field-->
        <div tal:repeat="f formParams">
          <div tal:condition="f.widget.hidden">
            <!-- Proses Saat Field hidden-->
            ${structure:f.serialize()}
          </div>

          <div tal:condition="not f.widget.hidden and not f.children"
               class="form-group" >
            <!-- Proses Saat Field Normal dan bukan Children-->
            <!-- Field Reqired menggunakan class required -->
            <label for="${f.oid}"
                   class="control-label col-md-4 ${f.required and 'required' or ''}"
                   id="req-${f.oid}">
                ${f.title}</label>
            <div class="col-md-8">
              ${structure:f.serialize()}
              <p tal:condition="f.error" id="error-${f.oid}" class="help-block"
                 tal:repeat="error f.error.messages()">
                 ${error}</p>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div class="col-md-12 panel panel-default" style="padding-left: 0px; padding-right: 0px;">
      <div class="panel-heading">
          <h3 class="panel-title">Biller</h3>
      </div>

      <div class="panel-body">

        <input type="hidden" name="_charset_">
        <input type="hidden" value="deform" name="__formid__">

        <!-- Tampilan untuk general error -->
        <div tal:define="field formBiller" class="alert alert-danger" tal:condition="field.error">
          <div class="errorMsgLbl" i18n:translate="">
            Terdapat kesalahan pengisian
          </div>
          <p class="errorMsg">${field.errormsg}</p>
        </div>
        <!-- END Tampilan untuk general error -->

        <div class="col-md-12">
          <!-- Looping Semua Field-->
          <div tal:repeat="f formBiller">
            <div tal:condition="f.widget.hidden">
              <!-- Proses Saat Field hidden-->
              ${structure:f.serialize()}
            </div>

            <div tal:condition="not f.widget.hidden and not f.children"
                 class="form-group" >
              <!-- Proses Saat Field Normal dan bukan Children-->
              <!-- Field Reqired menggunakan class required -->
              <label for="${f.oid}"
                     class="control-label col-md-4 ${f.required and 'required' or ''}"
                     id="req-${f.oid}">
                  ${f.title}</label>
              <div class="col-md-8">
                ${structure:f.serialize()}
                <p tal:condition="f.error" id="error-${f.oid}" class="help-block"
                   tal:repeat="error f.error.messages()">
                   ${error}</p>
              </div>
            </div>
          </div>
        </div>

      </div>
    </div>


    <div class="col-md-12 panel panel-default" style="padding-left: 0px; padding-right: 0px;">
      <div class="panel-heading">
          <h3 class="panel-title">Deliver To</h3>
      </div>

      <div class="panel-body">

        <input type="hidden" name="_charset_">
        <input type="hidden" value="deform" name="__formid__">

        <!-- Tampilan untuk general error -->
        <div tal:define="field formDeliver" class="alert alert-danger" tal:condition="field.error">
          <div class="errorMsgLbl" i18n:translate="">
            Terdapat kesalahan pengisian
          </div>
          <p class="errorMsg">${field.errormsg}</p>
        </div>
        <!-- END Tampilan untuk general error -->

        <div class="col-md-12">
          <!-- Looping Semua Field-->
          <div tal:repeat="f formDeliver">
            <div tal:condition="f.widget.hidden">
              <!-- Proses Saat Field hidden-->
              ${structure:f.serialize()}
            </div>

            <div tal:condition="not f.widget.hidden and not f.children"
                 class="form-group" >
              <!-- Proses Saat Field Normal dan bukan Children-->
              <!-- Field Reqired menggunakan class required -->
              <label for="${f.oid}"
                     class="control-label col-md-4 ${f.required and 'required' or ''}"
                     id="req-${f.oid}">
                  ${f.title}</label>
              <div class="col-md-8">
                ${structure:f.serialize()}
                <p tal:condition="f.error" id="error-${f.oid}" class="help-block"
                   tal:repeat="error f.error.messages()">
                   ${error}</p>
              </div>
            </div>
          </div>
        </div>



      </div>
    </div>

    <div class="col-md-12 panel panel-default" style="padding-left: 0px; padding-right: 0px;">
      <div class="panel-heading">
          <h3 class="panel-title">Server</h3>
      </div>

      <div class="panel-body">

        <input type="hidden" name="_charset_">
        <input type="hidden" value="deform" name="__formid__">

        <!-- Tampilan untuk general error -->
        <div tal:define="field formDeliver" class="alert alert-danger" tal:condition="field.error">
          <div class="errorMsgLbl" i18n:translate="">
            Terdapat kesalahan pengisian
          </div>
          <p class="errorMsg">${field.errormsg}</p>
        </div>
        <!-- END Tampilan untuk general error -->


        <div class="col-md-12">
          <!-- Looping Semua Field-->
          <div tal:repeat="f formServer">
            <div tal:condition="f.widget.hidden">
              <!-- Proses Saat Field hidden-->
              ${structure:f.serialize()}
            </div>

            <div tal:condition="not f.widget.hidden and not f.children"
                 class="form-group" >
              <!-- Proses Saat Field Normal dan bukan Children-->
              <!-- Field Reqired menggunakan class required -->
              <label for="${f.oid}"
                     class="control-label col-md-4 ${f.required and 'required' or ''}"
                     id="req-${f.oid}">
                  ${f.title}</label>
              <div class="col-md-8">
                ${structure:f.serialize()}
                <p tal:condition="f.error" id="error-${f.oid}" class="help-block"
                   tal:repeat="error f.error.messages()">
                   ${error}</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

  </div>

  <div  class="col-md-6">
    <div class="col-md-12 panel panel-default" style="padding-left: 0px; padding-right: 0px;">
      <div class="panel-heading">
          <h3 class="panel-title">Customer</h3>
      </div>

      <div class="panel-body">
        <input type="hidden" name="_charset_">
        <input type="hidden" value="deform" name="__formid__">

        <!-- Tampilan untuk general error -->
        <div tal:define="field formCustomer" class="alert alert-danger" tal:condition="field.error">
          <div class="errorMsgLbl" i18n:translate="">
            Terdapat kesalahan pengisian
          </div>
          <p class="errorMsg">${field.errormsg}</p>
        </div>
        <!-- END Tampilan untuk general error -->

        <div class="col-md-12">
          <!-- Looping Semua Field-->
          <div tal:repeat="f formCustomer">
            <div tal:condition="f.widget.hidden">
              <!-- Proses Saat Field hidden-->
              ${structure:f.serialize()}
            </div>

            <div tal:condition="not f.widget.hidden and not f.children"
                 class="form-group" >
              <!-- Proses Saat Field Normal dan bukan Children-->
              <!-- Field Reqired menggunakan class required -->
              <label for="${f.oid}"
                     class="control-label col-md-4 ${f.required and 'required' or ''}"
                     id="req-${f.oid}">
                  ${f.title}</label>
              <div class="col-md-8">
                ${structure:f.serialize()}
                <p tal:condition="f.error" id="error-${f.oid}" class="help-block"
                   tal:repeat="error f.error.messages()">
                   ${error}</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div style="padding-left: 0px; padding-right: 0px;" class="col-md-12 panel panel-default">
      <div class="panel-heading">
          <h3 class="panel-title">Produk</h3>
      </div>

      <div class="panel-body">
        <div tal:define="fieldItem formCart['count']" id="item-${fieldItem.oid}">
            <label for="${fieldItem.oid}" class="control-label col-md-3 required" id="req-${fieldItem.oid}">
                    ${fieldItem.title}</label>
            <div class="col-md-5">
               ${structure:fieldItem.serialize()}
                <p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>
            </div>

            <button tal:repeat="fb formCart.buttons" type="${fb.type}"
                  class="btn ${fb.css_class} "
                  name="${fb.name}" id="${fb.name}">${fb.title}</button>
        </div>
        <div class="col-md-12" id="itemsnya"> 



        </div> 
      </div>
    </div>


  </div>




</form>

</div>
<div metal:fill-slot="scripts">

  <script>
    var detdet = ${itemDet};
    $(document).ready(function () {


      $("[name=count]").prop("readonly", true);
      // $("[name=count]").prop("style", "width: 100px;");

      $("#deform").each(function(){

          $(this).find(':input').attr("required", "required"); //<-- Should return all input elements in that specific form.
      });
      $("[name=description]").removeAttr("required", "");
      $("[name=address_biller]").removeAttr("required", "");
      $("[name=email_deliver]").removeAttr("required", "");
      $("[name=address_deliver]").removeAttr("required", "");
      $("[name=domain_server]").removeAttr("required", "");
      $("[name=ip_server]").removeAttr("required", "");
      $("[name=address_cust]").removeAttr("required", "");

      // $("[name=req_dt]").prop("style", "width: 150px;");
      // $("[name=req_dt]").datepicker({
      //     format: 'dd-mm-yyyy',
      //     autoclose: true
      // });
      // $("[name=req_tm]").prop("style", "width: 100px;");
      // $("[name=req_tm]").clockpicker();
    })
    function a(){
    }
    function getItemsCount(){
      return $("#itemsnya #judul")['length'];
    }
    function removeItem(idnya){
      $("#" + idnya).remove();
      $("[name=count]").val(getItemsCount());
    }
    function doAdditem(cnt = 0, jml = 0){

        $("#itemsnya").append(
                `<div class="col-md-12" id="pack-`+cnt+`">`+ 
                `<legend id="judul"></legend>`+
                    `<button type="button" onclick="removeItem('pack-`+cnt+`')">Hapus</button> `+
                    `<div tal:define="fieldItem formItemCart['img_url']" id="item-${fieldItem.oid}">`+
                      `<div class="col-md-8">`+
                        `<input type="text" name="${fieldItem.name}-`+cnt+`" value="" id="${fieldItem.name}-`+cnt+`">`+
                      `</div>`+
                    `</div>`+
                    `<br></br>`+
                    `<div tal:define="fieldItem formItemCart['goods_name']" id="item-${fieldItem.oid}">`+
                        `<label for="${fieldItem.oid}" class="control-label col-md-4 required" id="req-${fieldItem.oid}">`+
                                `${fieldItem.title}</label>`+
                        `<div class="col-md-8">`+
                            `<select class="form-control" name="${fieldItem.name}-`+cnt+`" id="${fieldItem.name}-`+cnt+`" required="required">`+
                            `<option disabled selected value> -- pilih produk -- </option>`+
                            `<option tal:repeat="item produks" value="${item[1]}">${item[1]}</option>`+
                            `</select>`+
                            `<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
                        `</div>`+
                    `</div>`+
                    `<br></br>`+
                    `<div tal:define="fieldItem formItemCart['goods_detail']" id="item-${fieldItem.oid}">`+
                        `<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+
                                `${fieldItem.title}</label>`+
                        `<div class="col-md-8">`+
                          `<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" readonly="">`+
                            `<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
                        `</div>`+
                    `</div>`+
                    `<br></br>`+
                    `<div tal:define="fieldItem formItemCart['goods_amt']" id="item-${fieldItem.oid}">`+
                        `<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+
                                `${fieldItem.title}</label>`+
                        `<div class="col-md-8" style="width: 150px;">`+
                          `<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" readonly="">`+
                            `<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
                        `</div>`+
                    `</div>`+
                  `</div>`

          );

          var itemControl = $("#${formItemCart['goods_name'].name}-" + cnt);
          var detailControl = $("#${formItemCart['goods_detail'].name}-" + cnt);
          var hargaControl = $("#${formItemCart['goods_amt'].name}-" + cnt);

          $(itemControl).change(function () {
            var selectedIndex = itemControl.find(":selected").index();
            detailControl.val(${itemDet}[selectedIndex][1]);
            hargaControl.val(${itemDet}[selectedIndex][2]);
          });
    }

    $("#add_item").click(function (){
      doAdditem(Math.random().toString(36).substr(2, 5), getItemsCount() + 1);
      $("[name=count]").val(getItemsCount());
    })



  </script>
</div>
</html>