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 / 278
{#
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' %}
{% set menus = ['product', 'product_master'] %}
{% block title %}商品管理{% endblock %}
{% block sub_title %}商品登録(商品規格){% endblock %}
{% if not_product_class  %}
    {% form_theme form 'Form/bootstrap_3_horizontal_layout.html.twig' %}
{% else %}
    {% form_theme classForm 'Form/bootstrap_3_horizontal_layout.html.twig' %}
{% endif %}
{% block javascript %}
<script>
    $(function() {
        // 無制限チェックボックス初期表示
        $('input[id$=_stock_unlimited]').each(function() {
            var check = $(this).prop('checked');
            var index = $(this).attr('id').match(/\d+/);
            if (check) {
                $('#form_product_classes_' + index +'_stock').prop('disabled', true);
            } else {
                $('#form_product_classes_' + index +'_stock').prop('disabled', false);
            }
        });
        // 無制限チェックボックス
        $('input[id$=_stock_unlimited]').click(function() {
            var check = $(this).prop('checked');
            var index = $(this).attr('id').match(/\d+/);
            if (check) {
                $('#form_product_classes_' + index +'_stock').prop('disabled', true);
            } else {
                $('#form_product_classes_' + index +'_stock').prop('disabled', false);
            }
        });
        // 登録チェックボックス
        $('#add-all').click(function() {
            var addall = $('#add-all').prop('checked');
            if (addall) {
                $('input[id$=_add]').prop('checked', true);
            } else {
                $('input[id$=_add]').prop('checked', false);
            }
        });
        // 1行目をコピーボタン
        $('#copy').click(function() {
            var check = $('#form_product_classes_0_add').prop('checked');
            $('input[id$=_add]').prop('checked', check);
            var product_code = $('#form_product_classes_0_code').val();
            $('input[id$=_code]').val(product_code);
            var stock = $('#form_product_classes_0_stock').val();
            $('input[id$=_stock]').val(stock);
            var stock_unlimited = $('#form_product_classes_0_stock_unlimited').prop('checked');
            // 無制限チェックボックス
            $('input[id$=_stock_unlimited]').each(function() {
                var index = $(this).attr('id').match(/\d+/);
                if (stock_unlimited) {
                    $(this).prop('checked', true);
                    $('#form_product_classes_' + index +'_stock').prop('disabled', true);
                } else {
                    $(this).prop('checked', false);
                    $('#form_product_classes_' + index +'_stock').prop('disabled', false);
                }
            });
            var sale_limit = $('#form_product_classes_0_sale_limit').val();
            $('input[id$=_sale_limit]').val(sale_limit);
            var price01 = $('#form_product_classes_0_price01').val();
            $('input[id$=_price01]').val(price01);
            var price02 = $('#form_product_classes_0_price02').val();
            $('input[id$=_price02]').val(price02);
            var delivery_fee = $('#form_product_classes_0_delivery_fee').val();
            $('input[id$=_delivery_fee]').val(delivery_fee);
            var delivery_date = $('#form_product_classes_0_delivery_date').val();
            $('select[id$=_delivery_date]').val(delivery_date);
            var tax_rate = $('#form_product_classes_0_tax_rate').val();
            $('input[id$=_tax_rate]').val(tax_rate);
            var product_type = $('#form_product_classes_0_product_type_1').prop('checked');
            if (product_type) {
                $('input[id$=_product_type_1]').prop('checked', true);
            } else {
                $('input[id$=_product_type_2]').prop('checked', true);
            }
        });
        $('#delete').click(function() {
            if (confirm('一度削除したデータは、元に戻せません。\n削除しても宜しいですか?')) {
                $('#mode').val('delete');
                $('#product-class-form').submit();
                return true;
            }
            return false;
        });
    });
</script>
{% endblock javascript %}
{% block main %}
<div id="edit_info_wrap" class="row">
    <div id="edit_info_box" class="col-md-12">
        <form class="form-inline" method="post" action="{{ url('admin_product_product_class', {id : Product.id}) }}">
            <div id="edit_info_box__body" class="box">
                <div id="edit_info_box__header" class="box-header">
                    商品名 : <h3 class="box-title">{{ Product.name }}</h3>
                </div><!-- /.box-header -->
                <div id="edit_info_box__body" class="box-body" style="padding-bottom: 30px;">
                    {% if not_product_class  %}
                        {{ form_widget(form._token) }}
                        <button type="submit" class="btn btn-primary pull-right">商品規格の設定</button>
                        <div id="edit_info_box__class_name" class="form-horizontal">
                            {{ form_widget(form.class_name1) }}
                            {{ form_errors(form.class_name1) }}
                            {{ form_widget(form.class_name2) }}
                            {{ form_errors(form.class_name2) }}
                        </div>
                        <div class="extra-form form-inline row">
                            {% for f in form.getIterator %}
                                {% if f.vars.name matches '[^plg*]' %}
                                    <div class="col-sm-12 form-group">
                                    {{ form_label(f) }}
                                    {{ form_widget(f) }}
                                    {{ form_errors(f) }}
                                    </div>
                                {% endif %}
                            {% endfor %}
                        </div>
                    {% else %}
                        <button type="button" id="delete" class="btn btn-default pull-right" name="mode" value="delete">商品規格を初期化</button>
                        <div id="edit_info_box__class_name">
                          規格1 : <strong>{{ class_name1 }}</strong>
                          {% if class_name2 is not null %}
                          <br>規格2 : <strong>{{ class_name2 }}</strong>
                          {% endif %}
                        </div>
                    {% endif %}
                </div><!-- /.box-body -->
            </div><!-- /.box -->
        </form>
    </div><!-- /.col -->
</div>
{% if classForm is not null %}
<form id="product-class-form" class="form-inline" method="post" action="{{ url('admin_product_product_class_edit', { id : Product.id}) }}">
{{ form_widget(classForm._token) }}
<div id="result_wrap" class="row">
    <div id="result_box" class="col-md-12">
        <div id="result_box__body" class="box">
            {% if classForm.product_classes|length > 0 and has_class_category_flg %}
            <div id="result_box__header" class="box-header">
                <button type="button" id="copy" class="btn btn-default pull-right btn-xs">1行目のデータをコピーする</button>
                <h3 class="box-title">検索結果 <span class="normal"><strong>{{ classForm.product_classes|length }} 件</strong> が該当しました</span></h3>
                {% if error is not null %}
                    <div id="result_box__error" class="text-danger">{{ error.message }}</div>
                {% endif %}
            </div><!-- /.box-header -->
            <div id="result_box__body_inner" class="box-body no-padding">
                <div id="result_box__list_box" class="table_list">
                    <div id="result_box__list" class="table-responsive with-border table-menu table-responsive-overflow">
                        <table class="table table-striped">
                            <thead>
                                <tr id="result_box__header">
                                    <th id="result_box__header_add" class="text-center">登録<input id="add-all" type="checkbox" value="0"></th>
                                    <th id="result_box__header_class_category1">規格1</th>
                                    <th id="result_box__header_class_category2">規格2</th>
                                    <th id="result_box__header_code">商品コード</th>
                                    <th id="result_box__header_stock">在庫数</th>
                                    <th id="result_box__header_sale_limit">販売制限数</th>
                                    <th id="result_box__header_price01">通常価格(円)</th>
                                    <th id="result_box__header_price02">販売価格(円)</th>
                                    {% if BaseInfo.option_product_delivery_fee %}
                                    <th id="result_box__header_delivery_fee">送料</th>
                                    {% endif %}
                                    <th id="result_box__header_delivery_date">お届け可能日</th>
                                    {% if BaseInfo.option_product_tax_rule %}
                                    <th id="result_box__header_tax_rate">販売税率</th>
                                    {% endif %}
                                    <th id="result_box__header_product_type">商品種別</th>
                                </tr>
                            </thead>
                            <tbody>
                            {% for product_class_form in classForm.product_classes %}
                            <tr  id="result_box__item--{{ product_class_form.vars.name }}">
                                <td id="result_box__add--{{ product_class_form.vars.name }}" class="text-center">
                                    {{ form_widget(product_class_form.add) }}
                                </td>
                                <td id="result_box__class_category1--{{ product_class_form.vars.name }}">
                                    {{ product_class_form.vars.value.ClassCategory1 }}
                                    {{ form_widget(product_class_form.ClassCategory1) }}
                                </td>
                                <td id="result_box__class_category2--{{ product_class_form.vars.name }}">
                                    {{ product_class_form.vars.value.ClassCategory2 }}
                                    {{ form_widget(product_class_form.ClassCategory2) }}
                                </td>
                                <td id="result_box__code--{{ product_class_form.vars.name }}">
                                    {{ form_widget(product_class_form.code) }}
                                    {{ form_errors(product_class_form.code) }}
                                </td>
                                <td id="result_box__stock--{{ product_class_form.vars.name }}">
                                    {% if  product_class_form.vars.value.stock_unlimited %}
                                    {# 在庫無制限時のdisable #}
                                    {% endif %}
                                    {{ form_widget(product_class_form.stock) }}
                                    {{ form_errors(product_class_form.stock) }}
                                    {{ form_widget(product_class_form.stock_unlimited) }}
                                    {{ form_errors(product_class_form.stock_unlimited) }}
                                </td>
                                <td id="result_box__sale_limit--{{ product_class_form.vars.name }}">
                                    {{ form_widget(product_class_form.sale_limit) }}
                                    {{ form_errors(product_class_form.sale_limit) }}
                                </td>
                                <td id="result_box__price01--{{ product_class_form.vars.name }}" class="price_cell">
                                    {{ form_widget(product_class_form.price01, {'attr': {'class': 'notmoney'}}) }}
                                    {{ form_errors(product_class_form.price01) }}
                                </td>
                                <td id="result_box__price02--{{ product_class_form.vars.name }}" class="price_cell">
                                    {{ form_widget(product_class_form.price02, {'attr': {'class': 'notmoney'}}) }}
                                    {{ form_errors(product_class_form.price02) }}
                                </td>
                                {% if BaseInfo.option_product_delivery_fee %}
                                <td id="result_box__delivery_fee--{{ product_class_form.vars.name }}">
                                    {{ form_widget(product_class_form.delivery_fee, {'attr': {'class': 'notmoney'}}) }}
                                    {{ form_errors(product_class_form.delivery_fee) }}
                                </td>
                                {% endif %}
                                <td id="result_box__delivery_date--{{ product_class_form.vars.name }}">
                                    {{ form_widget(product_class_form.delivery_date) }}
                                    {{ form_errors(product_class_form.delivery_date) }}
                                </td>
                                {% if BaseInfo.option_product_tax_rule %}
                                <td id="result_box__tax_rate--{{ product_class_form.vars.name }}">
                                    {{ form_widget(product_class_form.tax_rate) }}
                                    {{ form_errors(product_class_form.tax_rate) }}
                                </td>
                                {% endif %}
                                <td id="result_box__product_type--{{ product_class_form.vars.name }}">
                                    {{ form_widget(product_class_form.product_type) }}
                                    {{ form_errors(product_class_form.product_type) }}
                                </td>
                            </tr>
                            {% endfor %}
                            </tbody>
                        </table>
                    </div>
                </div>
            </div><!-- /.box-body -->
            {% else %}
            <div id="result_box__error_message" class="box-header">
                <h3 class="box-title">検索条件に該当するデータがありませんでした。</h3>
            </div><!-- /.box-header -->
            {% endif %}
        </div><!-- /.box -->
    </div><!-- /.col -->
</div>
{% if classForm.product_classes|length > 0 and has_class_category_flg %}
<div id="edit_box__footer" class="row">
    <div id="edit_box__button_menu" class="col-xs-10 col-xs-offset-1 col-sm-6 col-sm-offset-3 text-center btn_area">
{% if not_product_class  %}
        <button type="submit" class="btn btn-primary btn-lg btn-block" name="mode" value="edit">登録</button>
{% else %}
        <input id="mode" type="hidden" name="mode">
        <button type="submit" class="btn btn-primary btn-lg btn-block" name="mode" value="update">更新</button>
{% endif %}
        <p><a href="{{ url('admin_product_page', { page_no : app.session.get('eccube.admin.product.search.page_no')|default('1') } ) }}?resume=1">前のページに戻る</a></p>
    </div>
</div>
</form>
{% endif %}
{% endif %}
{% endblock %}