Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
0.00% |
0 / 303 |
{# | |
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 = ['customer', 'customer_master'] %} | |
{% block title %}会員管理{% endblock %} | |
{% block sub_title %}会員マスター{% endblock %} | |
{% form_theme searchForm 'Form/bootstrap_3_horizontal_layout.html.twig' %} | |
{% block stylesheet %} | |
<link rel="stylesheet" href="{{ app.config.admin_urlpath }}/assets/css/bootstrap-datetimepicker.min.css"> | |
{% endblock stylesheet %} | |
{% block javascript %} | |
<script src="{{ app.config.admin_urlpath }}/assets/js/vendor/moment.min.js"></script> | |
<script src="{{ app.config.admin_urlpath }}/assets/js/vendor/moment-ja.js"></script> | |
<script src="{{ app.config.admin_urlpath }}/assets/js/vendor/bootstrap-datetimepicker.min.js"></script> | |
<script> | |
$(function() { | |
var inputDate = document.createElement('input'); | |
inputDate.setAttribute('type', 'date'); | |
if (inputDate.type !== 'date') { | |
$('input[id$=_date_start]').datetimepicker({ | |
locale: 'ja', | |
format: 'YYYY-MM-DD', | |
useCurrent: false, | |
showTodayButton: true | |
}); | |
$('input[id$=_date_end]').datetimepicker({ | |
locale: 'ja', | |
format: 'YYYY-MM-DD', | |
useCurrent: false, | |
showTodayButton: true | |
}); | |
$('#admin_search_customer_birth_start').datetimepicker({ | |
locale: 'ja', | |
format: 'YYYY-MM-DD', | |
useCurrent: false, | |
showTodayButton: true | |
}); | |
$('#admin_search_customer_birth_end').datetimepicker({ | |
locale: 'ja', | |
format: 'YYYY-MM-DD', | |
useCurrent: false, | |
showTodayButton: true | |
}); | |
$('#admin_search_customer_last_buy_start').datetimepicker({ | |
locale: 'ja', | |
format: 'YYYY-MM-DD', | |
useCurrent: false, | |
showTodayButton: true | |
}); | |
$('#admin_search_customer_last_buy_end').datetimepicker({ | |
locale: 'ja', | |
format: 'YYYY-MM-DD', | |
useCurrent: false, | |
showTodayButton: true | |
}); | |
} | |
// フォーム値を確認し、アコーディオンを制御 | |
// 値あり : 開く / 値なし : 閉じる | |
(function($, f) { | |
//フォームがないページは処理キャンセル | |
var $ac = $(".accpanel"); | |
if (!$ac) { | |
return false | |
} | |
//フォーム内全項目取得 | |
var c = f(); | |
if (c.formState()) { | |
if ($ac.css("display") == "none") { | |
$ac.siblings('.toggle').addClass("active"); | |
$ac.slideDown(0); | |
} | |
} else { | |
$ac.siblings('.toggle').removeClass("active"); | |
$ac.slideUp(0); | |
} | |
})($, formPropStateSubscriber); | |
}); | |
</script> | |
{% endblock javascript %} | |
{% block main %} | |
<form name="search_form" id="search_form" method="post" action=""> | |
{{ form_widget(searchForm._token) }} | |
<!--検索条件設定テーブルここから--> | |
<div id="search_wrap" class="search-box"> | |
<div id="search_box" class="row"> | |
<div id="search_box_main" class="col-md-12 accordion"> | |
{{ form_widget(searchForm.multi, { attr: { placeholder: '会員ID・メールアドレス・お名前', class : 'input_search' } } ) }} | |
<a id="search_box_main__toggle" href="#" class="toggle{% if active %} active{% endif %}"><svg class="cb cb-minus"> <use xlink:href="#cb-minus"/></svg> <svg class="cb cb-minus"> <use xlink:href="#cb-minus"/></svg></a> | |
<div id="search_box_main__body" class="search-box-inner accpanel" {% if active %} style="display: block;"{% endif %}> | |
<div class="row"> | |
<div id="search_box_main__body_inner" class="col-sm-12 col-lg-10 col-lg-offset-1 search"> | |
<div class="col-xs-6 col-md-4"> | |
<div id="search_box_main__customer_status" class="form-group"> | |
<label>会員種別</label> | |
{{ form_widget(searchForm.customer_status) }} | |
</div> | |
</div> | |
<div class="col-xs-6 col-md-4"> | |
<div id="search_box_main__sex" class="form-group"> | |
<label>性別</label> | |
{{ form_widget(searchForm.sex) }} | |
</div> | |
</div> | |
<div class="col-xs-12 col-md-4"> | |
<div id="search_box_main__birth_month" class="form-group"> | |
<label>誕生月</label> | |
{{ form_widget(searchForm.birth_month) }} | |
</div> | |
</div> | |
<div id="search_box_main__birth" class="col-xs-12 col-sm-12 col-md-6"> | |
<label>誕生日</label> | |
<div class="form-group range"> | |
{{ form_widget(searchForm.birth_start, {'attr': {'class': 'input_cal'}}) }} ~ {{ form_widget(searchForm.birth_end, {'attr': {'class': 'input_cal'}}) }} | |
</div> | |
</div> | |
<div class="col-xs-6"> | |
<div id="search_box_main__pref" class="form-group"> | |
<label>都道府県</label> | |
{{ form_widget(searchForm.pref) }} | |
</div> | |
</div> | |
<div class="col-xs-6 col-sm-6"> | |
<div id="search_box_main__tel" class="form-group"> | |
<label>電話番号</label> | |
{{ form_widget(searchForm.tel) }} | |
{{ form_errors(searchForm.tel) }} | |
</div> | |
</div> | |
<div id="search_box_main__crate_date" class="col-xs-12 col-sm-6"> | |
<label>登録日</label> | |
<div class="form-group range"> | |
{{ form_widget(searchForm.create_date_start, {'attr': {'class': 'input_cal'}}) }} ~ {{ form_widget(searchForm.create_date_end, {'attr': {'class': 'input_cal'}}) }} | |
</div> | |
</div> | |
<div id="search_box_main__update_date" class="col-xs-12 col-sm-6"> | |
<label>更新日</label> | |
<div class="form-group range"> | |
{{ form_widget(searchForm.update_date_start, {'attr': {'class': 'input_cal'}}) }} ~ {{ form_widget(searchForm.update_date_end, {'attr': {'class': 'input_cal'}}) }} | |
</div> | |
</div> | |
<div class="col-xs-12 col-sm-6"> | |
<div id="search_box_main__buy_total" class="form-group range"> | |
<label>購入金額</label> | |
{{ form_widget(searchForm.buy_total_start) }} ~ {{ form_widget(searchForm.buy_total_end) }} | |
</div> | |
</div> | |
<div class="col-xs-12 col-sm-6"> | |
<div id="search_box_main__buy_times" class="form-group range"> | |
<label>購入回数</label> | |
{{ form_widget(searchForm.buy_times_start) }} ~ {{ form_widget(searchForm.buy_times_end) }} | |
</div> | |
</div> | |
{# | |
<div class="col-xs-12 col-sm-12 col-md-6"> | |
<div class="form-group"> | |
<label>購入商品カテゴリー</label> | |
{{ form_widget(searchForm.buy_category) }} | |
</select> | |
</div> | |
</div> | |
#} | |
<div class="col-xs-12 col-sm-12 col-md-6"> | |
<div id="search_box_main__buy_product_code" class="form-group"> | |
<label>購入商品名・コード</label> | |
{{ form_widget(searchForm.buy_product_code) }} | |
</div> | |
</div> | |
<div id="search_box_main__last_buy" class="col-xs-12 col-sm-12 col-md-6"> | |
<label>最終購入日</label> | |
<div class="form-group range"> | |
{{ form_widget(searchForm.last_buy_start, {'attr': {'class': 'input_cal'}}) }} ~ {{ form_widget(searchForm.last_buy_end, {'attr': {'class': 'input_cal'}}) }} | |
</div> | |
</div> | |
<div class="extra-form col-xs-12 col-sm-12"> | |
{% for f in searchForm.getIterator %} | |
{% if f.vars.name matches '[^plg*]' %} | |
<div class="form-group"> | |
{{ form_label(f) }} | |
{{ form_widget(f) }} | |
{{ form_errors(f) }} | |
</div> | |
{% endif %} | |
{% endfor %} | |
</div> | |
<div id="search_box_main__clear" class="col-xs-12 col-sm-12"> | |
<p class="text-center"><a href="#" class="search-clear">検索条件をクリア</a></p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- /.col --> | |
</div> | |
<div id="search_box_footer" class="row btn_area"> | |
<div id="search_box_footer__button_area" class="col-xs-8 col-xs-offset-2 col-sm-4 col-sm-offset-4 text-center"> | |
<button type="submit" class="btn btn-primary btn-block btn-lg"> | |
検索する <svg class="cb cb-angle-right"><use xlink:href="#cb-angle-right"></svg> | |
</button> | |
</div> | |
<!-- /.col --> | |
</div> | |
</div> | |
<!--検索条件設定テーブルここまで--> | |
{% if pagination %} | |
<div id="result_list" class="row"> | |
<div class="col-md-12"> | |
<div id="result_list_main" class="box"> | |
{% if pagination and pagination.totalItemCount > 0 %} | |
<div id="result_list_main__header" class="box-header with-arrow"> | |
<h3 class="box-title">検索結果 <span class="normal"><strong>{{ pagination.totalItemCount }} 件</strong> が該当しました</span></h3> | |
</div><!-- /.box-header --> | |
<div id="result_list_main__body" class="box-body"> | |
<div id="result_list_main__menu" class="row"> | |
<div class="col-md-12"> | |
<ul class="sort-dd"> | |
<li id="result_list_main__pagemax_menu" class="dropdown"> | |
{% for pageMax in pageMaxis if pageMax.name == page_count %} | |
<a class="dropdown-toggle" data-toggle="dropdown">{{ pageMax.name|e }}件<svg class="cb cb-angle-down icon_down"><use xlink:href="#cb-angle-down"></svg></a> | |
<ul class="dropdown-menu"> | |
{% endfor %} | |
{% for pageMax in pageMaxis if pageMax.name != page_count %} | |
<li><a href="{{ path('admin_customer_page', {'page_no': 1, 'page_count': pageMax.name}) }}">{{ pageMax.name|e }}件</a></li> | |
{% endfor %} | |
</ul> | |
</li> | |
<li id="result_list_main__csv_menu" class="dropdown"> | |
<a class="dropdown-toggle" data-toggle="dropdown">CSVダウンロード<svg class="cb cb-angle-down icon_down"><use xlink:href="#cb-angle-down"></svg></a> | |
<ul class="dropdown-menu"> | |
<li><a href="{{ url('admin_customer_export') }}">CSVダウンロード</a></li> | |
<li><a href="{{ url('admin_setting_shop_csv', { id : constant('\\Eccube\\Entity\\Master\\CsvType::CSV_TYPE_CUSTOMER') }) }}">出力項目設定</a></li> | |
</ul> | |
</li> | |
</ul> | |
</div> | |
</div> | |
{% for Customer in pagination %} | |
<div id="result_list_main__list" class="table_list"> | |
<div class="table-responsive with-border"> | |
<table class="table table-striped"> | |
<thead> | |
<tr id="result_list_main__header"> | |
<th id="result_list_main__header_id">会員ID</th> | |
<th id="result_list_main__header_name">会員名</th> | |
<th id="result_list_main__header_tel">電話番号</th> | |
<th id="result_list_main__header_mail">メールアドレス</th> | |
<th id="result_list_main__header_menu_box"> </th> | |
</tr> | |
</thead> | |
<tbody> | |
{% for Customer in pagination %} | |
<tr id="result_list_main__item--{{ Customer.id }}"> | |
<td id="result_list_main__id--{{ Customer.id }}" class="member_id">{{ Customer.id }}</td> | |
<td id="result_list_main__name--{{ Customer.id }}" class="member_name"><a href="{{ url('admin_customer_edit', { 'id': Customer.id}) }}">{{ Customer.name01 }} {{ Customer.name02 }}</a></td> | |
<td id="result_list_main__tel--{{ Customer.id }}" class="member_tel">{{ Customer.tel01 }}-{{ Customer.tel02 }}-{{ Customer.tel03 }}</td> | |
<td id="result_list_main__mail--{{ Customer.id }}" class="member_mail">{{ Customer.email }}</td> | |
<td id="result_list_main__menu_box--{{ Customer.id }}" class="icon_edit"> | |
<div id="result_list_main__menu_box_toggle--{{ Customer.id }}" class="dropdown"> | |
<a class="dropdown-toggle" data-toggle="dropdown"><svg class="cb cb-ellipsis-h"> <use xlink:href="#cb-ellipsis-h" /></svg></a> | |
<ul id="result_list_main__menu--{{ Customer.id }}" class="dropdown-menu dropdown-menu-right"> | |
<li><a href="{{ url('admin_customer_edit', { 'id': Customer.id}) }}">編集</a></li> | |
<li><a href="{{ url('admin_customer_delete', { 'id': Customer.id}) }}" {{ csrf_token_for_anchor() }} data-method="delete" data-message="この会員情報を削除してもよろしいですか?">削除</a></li> | |
{% if Customer.Status.id == 1 %} | |
<li><a href="{{ url('admin_customer_resend', { 'id': Customer.id}) }}" {{ csrf_token_for_anchor() }} data-method="put" data-message="仮登録メールを再送してもよろしいですか?">仮会員メール再送</a></li> | |
{% endif %} | |
</ul> | |
</div> | |
</td> | |
</tr> | |
{% endfor %} | |
</tbody> | |
</table> | |
</div> | |
</div> | |
{% endfor %} | |
</div><!-- /.box-body --> | |
{% if pagination.totalItemCount > 0 %} | |
{% include "pager.twig" with { 'pages' : pagination.paginationData, 'routes' : 'admin_customer_page' } %} | |
{% endif %} | |
{% else %} | |
<div id="result_list_main__header" class="box-header with-arrow"> | |
<h3 class="box-title">検索条件に該当するデータがありませんでした。</h3> | |
</div><!-- /.box-header --> | |
{% endif %} | |
</div><!-- /.box --> | |
</div><!-- /.col --> | |
</div> | |
{% endif %} | |
</form> | |
{% endblock %} |