Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
0.00% |
0 / 307 |
|
| {# | |
| This file is part of EC-CUBE | |
| Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved. | |
| http://www.lockon.co.jp/ | |
| This program is free software; you can redistribute it and/or | |
| modify it under the terms of the GNU General Public License | |
| as published by the Free Software Foundation; either version 2 | |
| of the License, or (at your option) any later version. | |
| This program is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU General Public License for more details. | |
| You should have received a copy of the GNU General Public License | |
| along with this program; if not, write to the Free Software | |
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| #} | |
| {% extends 'default_frame.twig' %} | |
| {% block javascript %} | |
| <script> | |
| $(function() { | |
| $('.delivery').on('change', function() { | |
| $('#shopping-form').attr('action', '{{ url("shopping_delivery") }}').submit(); | |
| }); | |
| $('.payment').on('change', function() { | |
| $('#shopping-form').attr('action', '{{ url("shopping_payment") }}').submit(); | |
| }); | |
| $('.btn-shipping').click(function() { | |
| $('#shopping-form').attr('action', $(this).attr('href')).submit(); | |
| $('#shopping-form').attr('action', '{{ url("shopping_confirm") }}'); | |
| return false; | |
| }); | |
| $('.btn-shipping-edit').click(function() { | |
| $('#shopping-form').attr('action', $(this).attr('href')).submit(); | |
| $('#shopping-form').attr('action', '{{ url("shopping_confirm") }}'); | |
| return false; | |
| }); | |
| $('.btn-shipping-multiple').click(function() { | |
| $('#shopping-form').attr('action', $(this).attr('href')).submit(); | |
| $('#shopping-form').attr('action', '{{ url("shopping_confirm") }}'); | |
| return false; | |
| }); | |
| {% if is_granted('ROLE_USER') == false %} | |
| var ref = []; | |
| var name = []; | |
| var input = []; | |
| var customerin = []; | |
| $('#customer').click(function() { | |
| // ref = $('.customer-name01'); | |
| var edit = $('.customer-edit'); | |
| var hidden = $('.customer-in'); | |
| $(edit).each(function(index) { | |
| ref[index] = $(this); | |
| }); | |
| $(hidden).each(function(index) { | |
| customerin[index] = $(this); | |
| }); | |
| $(ref).each(function(index) { | |
| name[index] = $(this).text(); | |
| }); | |
| $(name).each(function(index) { | |
| input[index] = $('<input id="edit' + index + '" type="text" />').val(name[index]); | |
| }); | |
| $(input).each(function(index) { | |
| ref[index].empty().append(input[index]); | |
| }); | |
| $('#customer').prop("disabled", true); | |
| $('.mod-button').show(); | |
| }); | |
| $('#customer-ok').click(function() { | |
| $(ref).each(function(index) { | |
| var nameAfter = input[index].val(); | |
| ref[index].empty().text(nameAfter); | |
| customerin[index].val(nameAfter); | |
| input[index].remove(); | |
| }); | |
| var postData = {}; | |
| $('.customer-in').each(function() { | |
| postData[$(this).attr('name')] = $(this).val(); | |
| }); | |
| $.ajax({ | |
| url: "{{ url('shopping_customer') }}", | |
| type: 'POST', | |
| data: postData, | |
| dataType: 'json', | |
| }).done(function(){ | |
| }).fail(function(){ | |
| alert('更新に失敗しました。入力内容を確認してください。'); | |
| $(ref).each(function(index) { | |
| ref[index].empty().text(name[index]); | |
| input[index].remove(); | |
| }); | |
| }); | |
| $('#customer').prop("disabled", false); | |
| $('.mod-button').hide(); | |
| }); | |
| $('#customer-cancel').click(function() { | |
| $(ref).each(function(index) { | |
| ref[index].empty().text(name[index]); | |
| input[index].remove(); | |
| }); | |
| $('#customer').prop("disabled", false); | |
| $('.mod-button').hide(); | |
| }); | |
| {% endif %} | |
| }); | |
| </script> | |
| {% endblock javascript %} | |
| {% block main %} | |
| <h1 class="page-heading">ご注文内容のご確認</h1> | |
| <div id="confirm_wrap" class="container-fluid"> | |
| <div id="confirm_flow_box" class="row"> | |
| <div id="confirm_flow_box__body" class="col-md-12"> | |
| {% if is_granted('ROLE_USER') %} | |
| <div id="confirm_flow_box__flow_state" class="flowline step3"> | |
| {% else %} | |
| <div id="confirm_flow_box__flow_state" class="flowline step4"> | |
| {% endif %} | |
| <ul id="confirm_flow_box__flow_state_list" class="clearfix"> | |
| <li><span class="flow_number">1</span><br>カートの商品</li> | |
| {% if is_granted('ROLE_USER') %} | |
| <li class="active"><span class="flow_number">2</span><br>ご注文内容確認</li> | |
| <li><span class="flow_number">3</span><br>完了</li> | |
| {% else %} | |
| <li><span class="flow_number">2</span><br>お客様情報</li> | |
| <li class="active"><span class="flow_number">3</span><br>ご注文内容確認</li> | |
| <li><span class="flow_number">4</span><br>完了</li> | |
| {% endif %} | |
| </ul> | |
| </div> | |
| {% for error in app.session.flashbag.get('eccube.front.request.error') %} | |
| <div id="confirm_flow_box__message" class="message"> | |
| <p class="errormsg bg-danger"> | |
| <svg class="cb cb-warning"><use xlink:href="#cb-warning" /></svg>{{ error|trans|nl2br }} | |
| </p> | |
| </div> | |
| {% endfor %} | |
| </div><!-- /.col --> | |
| </div><!-- /.row --> | |
| <form id="shopping-form" method="post" action="{{ url('shopping_confirm') }}"> | |
| {{ form_widget(form._token) }} | |
| <div id="shopping_confirm" class="row"> | |
| <div id="confirm_main" class="col-sm-8"> | |
| <div id="cart_box" class="cart_item table"> | |
| <div id="cart_box_list" class="tbody"> | |
| {% for orderDetail in Order.orderDetails %} | |
| <div id="cart_box_list__item_box--{{ loop.index }}" class="item_box tr"> | |
| <div id="cart_box_list__item--{{ loop.index }}" class="td table"> | |
| <div id="cart_box_list__photo--{{ loop.index }}" class="item_photo"><img src="{{ app.config.image_save_urlpath }}/{{ orderDetail.product.MainListImage|no_image_product }}" alt="{{ orderDetail.productName }}" /></div> | |
| <dl id="cart_box_list__detail--{{ loop.index }}" class="item_detail"> | |
| <dt id="cart_box_list__name--{{ loop.index }}" class="item_name text-default">{{ orderDetail.productName }}</dt> | |
| <dd id="cart_box_list__class_category--{{ loop.index }}" class="item_pattern small"> | |
| {% if orderDetail.productClass.classCategory1 %} | |
| {{ orderDetail.productClass.classCategory1.className }}:{{ orderDetail.productClass.classCategory1 }} | |
| {% endif %} | |
| {% if orderDetail.productClass.classCategory2 %} | |
| <br>{{ orderDetail.productClass.classCategory2.className }}:{{ orderDetail.productClass.classCategory2 }} | |
| {% endif %} | |
| </dd> | |
| <dd id="cart_box_list__price--{{ loop.index }}" class="item_price">{{ orderDetail.priceIncTax|price }} × {{ orderDetail.quantity|number_format }}</dd> | |
| <dd id="cart_box_list__subtotal--{{ loop.index }}" class="item_subtotal">小計:{{ orderDetail.totalPrice|price }}</dd> | |
| </dl> | |
| </div> | |
| </div><!--/item_box--> | |
| {% endfor %} | |
| </div> | |
| </div><!--/cart_item--> | |
| <p><a id="confirm_box__quantity_edit_button" href="{{ url('cart') }}" class="btn btn-default btn-sm">数量を変更または削除する</a></p> | |
| <h2 class="heading02">お客様情報</h2> | |
| <div id="customer_detail_box" class="column is-edit"> | |
| <p id="customer_detail_box__customer_address" class="address"><span class="customer-edit customer-name01">{{ Order.name01 }}</span> <span class="customer-edit customer-name02">{{ Order.name02 }}</span> 様<br> | |
| 〒<span class="customer-edit customer-zip01">{{ Order.zip01 }}</span>-<span class="customer-edit customer-zip02">{{ Order.zip02 }}</span> <span class="customer-edit customer-pref">{{ Order.pref }}</span><span class="customer-edit customer-addr01">{{ Order.addr01 }}</span><span class="customer-edit customer-addr02">{{ Order.addr02 }}</span><br> | |
| <span class="customer-edit customer-tel01">{{ Order.tel01 }}</span>-<span class="customer-edit customer-tel02">{{ Order.tel02 }}</span>-<span class="customer-edit customer-tel03">{{ Order.tel03 }}</span></p> | |
| {% if is_granted('ROLE_USER') == false %} | |
| <div class="customer-edit customer-email">{{ Order.email }}</div> | |
| <div class="customer-edit customer-company_name">{{ Order.companyName }}</div> | |
| <div class="mod-button" style="display:none;"> | |
| <span id="customer-ok"><button type="button" class="btn btn-default btn-sm">OK</button></span> | |
| <span id="customer-cancel"><button type="button" class="btn btn-default btn-sm">キャンセル</button></span> | |
| </div> | |
| <p class="btn_edit"><button type="button" id="customer" class="btn btn-default btn-sm">変更</button></p> | |
| <input type="hidden" id="customer-name01" class="customer-in" name="customer_name01" value="{{ Order.name01 }}"> | |
| <input type="hidden" id="customer-name02" class="customer-in" name="customer_name02" value="{{ Order.name02 }}"> | |
| <input type="hidden" id="customer-zip01" class="customer-in" name="customer_zip01" value="{{ Order.zip01 }}"> | |
| <input type="hidden" id="customer-zip02" class="customer-in" name="customer_zip02" value="{{ Order.zip02 }}"> | |
| <input type="hidden" id="customer-pref" class="customer-in" name="customer_pref" value="{{ Order.pref }}"> | |
| <input type="hidden" id="customer-addr01" class="customer-in" name="customer_addr01" value="{{ Order.addr01 }}"> | |
| <input type="hidden" id="customer-addr02" class="customer-in" name="customer_addr02" value="{{ Order.addr02 }}"> | |
| <input type="hidden" id="customer-tel01" class="customer-in" name="customer_tel01" value="{{ Order.tel01 }}"> | |
| <input type="hidden" id="customer-tel02" class="customer-in" name="customer_tel02" value="{{ Order.tel02 }}"> | |
| <input type="hidden" id="customer-tel03" class="customer-in" name="customer_tel03" value="{{ Order.tel03 }}"> | |
| <input type="hidden" id="customer-email" class="customer-in" name="customer_email" value="{{ Order.email }}"> | |
| <input type="hidden" id="customer-company-name" class="customer-in" name="customer_company_name" value="{{ Order.companyName }}"> | |
| {% endif %} | |
| </div> | |
| <h2 class="heading02">配送情報</h2> | |
| {% for shipping in Order.shippings %} | |
| {% set idx = loop.index0 %} | |
| <div id="shipping_confirm_box--{{ idx }}" class="column is-edit"> | |
| <h3>お届け先{% if Order.multiple %}({{ loop.index }}){% endif %}</h3> | |
| <div id="shipping_confirm_box__body--{{ idx }}" class="cart_item table"> | |
| <div id="shipping_confirm_box__list--{{ idx }}" class="tbody"> | |
| {% for shipmentItem in shipping.shipmentItems %} | |
| <div id="shipping_confirm_box__item--{{ idx }}_{{ shipmentItem.id }}" class="item_box tr"> | |
| <div id="shipping_box__body_inner--{{ idx }}_{{ shipmentItem.id }}" class="td table"> | |
| <div id="shipping_box__photo--{{ idx }}_{{ shipmentItem.id }}" class="item_photo"><img src="{{ app.config.image_save_urlpath }}/{{ shipmentItem.product.MainListImage|no_image_product }}" alt="{{ shipmentItem.productName }}" /></div> | |
| <dl id="shipping_box__detail--{{ idx }}_{{ shipmentItem.id }}" class="item_detail"> | |
| <dt id="shipping_box__name--{{ idx }}_{{ shipmentItem.id }}" class="item_name text-default">{{ shipmentItem.productName }}</dt> | |
| <dd id="shipping_box__class_category--{{ idx }}_{{ shipmentItem.id }}" class="item_pattern small"> | |
| {% if shipmentItem.productClass.classCategory1 %} | |
| {{ shipmentItem.productClass.classCategory1.className }}:{{ shipmentItem.productClass.classCategory1 }} | |
| {% endif %} | |
| {% if shipmentItem.productClass.classCategory2 %} | |
| <br>{{ shipmentItem.productClass.classCategory2.className }}:{{ shipmentItem.productClass.classCategory2 }} | |
| {% endif %} | |
| </dd> | |
| <dd id="shipping_box__price--{{ idx }}_{{ shipmentItem.id }}" class="item_price">{{ shipmentItem.priceIncTax|price }} × {{ shipmentItem.quantity|number_format }}</dd> | |
| <dd id="shipping_box__subtotal--{{ idx }}_{{ shipmentItem.id }}" class="item_subtotal">小計:{{ shipmentItem.totalPrice|price }}</dd> | |
| </dl> | |
| </div> | |
| </div><!--/item_box--> | |
| {% endfor %} | |
| </div> | |
| </div> | |
| <p id="shopping_confirm_box__shipping_address_detail--{{ idx }}" class="address">{{ shipping.name01 }} {{ shipping.name02 }} 様<br> | |
| 〒{{ shipping.zip01 }}-{{ shipping.zip02 }} {{ shipping.pref }}{{ shipping.addr01 }}{{ shipping.addr02 }}<br> | |
| {{ shipping.tel01 }}-{{ shipping.tel02 }}-{{ shipping.tel03 }}</p> | |
| <div id="shopping_confirm_box__shipping_delivery--{{ idx }}" class="form-inline form-group"> | |
| <label>配送方法</label> | |
| {{ form_widget(form.shippings[idx].delivery, {'attr': {'class': 'delivery'}}) }} | |
| {{ form_errors(form.shippings[idx].delivery) }} | |
| </div> | |
| <div id="shopping_confirm_box__shipping_delivery_date_time--{{ idx }}" class="form-inline form-group"> | |
| <label>お届け日</label> | |
| {{ form_widget(form.shippings[idx].shippingDeliveryDate) }}<br class="sp"> | |
| <label>お届け時間</label> | |
| {{ form_widget(form.shippings[idx].deliveryTime) }} | |
| </div> | |
| {% if is_granted('ROLE_USER') %} | |
| <p id="shopping_confirm_box__edit_button--{{ idx }}" class="btn_edit"><a href="{{ url('shopping_shipping_change', {'id': shipping.id}) }}" class="btn btn-default btn-sm btn-shipping">変更</a></p> | |
| {% else %} | |
| <p id="shopping_confirm_box__edit_button--{{ idx }}" class="btn_edit"><a href="{{ url('shopping_shipping_edit_change', {'id': shipping.id}) }}" class="btn btn-default btn-sm btn-shipping-edit">変更</a></p> | |
| {% endif %} | |
| </div> | |
| {% if loop.last == false%}<hr>{% endif %} | |
| {% endfor %} | |
| {% if BaseInfo.optionMultipleShipping %} | |
| <hr> | |
| <div><a id="shopping_confirm_box__button_edit_multiple" href="{{ url('shopping_shipping_multiple_change') }}" class="btn btn-default btn-sm btn-shipping-multiple">お届け先を追加する</a></div> | |
| {% endif %} | |
| <h2 class="heading02">お支払方法</h2> | |
| <div id="payment_list" class="column"> | |
| <div id="payment_list__body" class="form-group"> | |
| <ul id="payment_list__list" class="payment_list"> | |
| {% for key, child in form.payment %} | |
| <li> | |
| {{ form_widget(child, {'attr': {'class': 'payment' }}) }} | |
| {% if form.payment.vars.choices[key].data.payment_image is not null %} | |
| <img src="{{ app.config.image_save_urlpath }}/{{ form.payment.vars.choices[key].data.payment_image }}"> | |
| {% endif %} | |
| </li> | |
| {% endfor %} | |
| {{ form_errors(form.payment) }} | |
| </ul> | |
| </div> | |
| </div> | |
| <h2 class="heading02">お問い合わせ欄</h2> | |
| <div id="contact_message" class="column"> | |
| {{ form_widget(form.message, {'attr': {'placeholder': 'お問い合わせ事項がございましたら、こちらにご入力ください。(3000文字まで)', 'rows': '6'}}) }} | |
| {{ form_errors(form.message) }} | |
| </div> | |
| <div class="extra-form column"> | |
| {% for f in form.getIterator %} | |
| {% if f.vars.name matches '[^plg*]' %} | |
| {{ form_row(f) }} | |
| {% endif %} | |
| {% endfor %} | |
| </div> | |
| </div><!-- /.col --> | |
| <div id="confirm_side" class="col-sm-4"> | |
| <div id="summary_box__total_box" class="total_box"> | |
| <dl id="summary_box__subtotal"> | |
| <dt>小計</dt> | |
| <dd class="text-primary">{{ Order.subtotal|price }}</dd> | |
| </dl> | |
| <dl id="summary_box__quantity_price"> | |
| <dt>手数料</dt> | |
| <dd>{{ Order.charge|price }}</dd> | |
| </dl> | |
| <dl id="summary_box__shipping_price"> | |
| <dt>送料</dt> | |
| <dd>{{ Order.deliveryFeeTotal|price }}</dd> | |
| </dl> | |
| {% if Order.discount > 0 %} | |
| <dl id="summary_box__discount_price"> | |
| <dt>値引き</dt> | |
| <dd>{{ (0 - Order.discount)|price}}</dd> | |
| </dl> | |
| {% endif %} | |
| <div id="summary_box__result" class="total_amount"> | |
| <p id="summary_box__total_amount" class="total_price">合計 <strong class="text-primary">{{ Order.total|price }}<span class="small">税込</span></strong></p> | |
| <p id="summary_box__confirm_button"><button id="order-button" type="submit" class="btn btn-primary btn-block prevention-btn prevention-mask">注文する</button></p> | |
| </div> | |
| </div> | |
| </div> | |
| </div><!-- /.row --> | |
| </form> | |
| </div> | |
| {% endblock %} |