Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
0 / 0
100.00% covered (success)
100.00%
0 / 0
CRAP
0.00% covered (danger)
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 %}