Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      0 / 0  | 
              | 
      100.00%  | 
      0 / 0  | 
      CRAP |         | 
      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 %} |