Files
gyber/apps/web/templates/includes/user/user_controls.html
2025-09-15 13:33:34 +09:00

53 lines
2.6 KiB
HTML

{# /data/gyber/apps/web/templates/includes/user/user_controls.html #}
{# 사용자 목록 페이지 상단 컨트롤 영역 #}
<form method="get" action="{% url 'gyber:user_list' %}" class="row gy-2 gx-3 align-items-center mb-4">
{# 검색어 입력 #}
<div class="col-auto">
<label class="visually-hidden" for="query">검색어</label>
<input type="text" class="form-control form-control-sm" id="query" name="query" placeholder="이름, 계정, 부서 검색" value="{{ search_query|default:'' }}">
</div>
{# 부서 필터 드롭다운 #}
<div class="col-auto">
<label class="visually-hidden" for="group">부서</label>
{# ★ onchange 이벤트 제거하고 검색 버튼으로 통일? 또는 유지? 여기서는 유지 #}
<select class="form-select form-select-sm" id="group" name="group" onchange="this.form.submit()">
<option value="">-- 전체 부서 --</option>
{% for group_item in group_list %} {# 변수 이름 충돌 피하기 위해 group_item 사용 #}
<option value="{{ group_item.group_id }}" {% if group_item.group_id == current_group %}selected{% endif %}>
{{ group_item.group_name }}
</option>
{% endfor %}
</select>
</div>
{# 페이지 크기 선택 #}
<div class="col-auto">
<label class="visually-hidden" for="page_size">페이지 크기</label>
<select class="form-select form-select-sm" id="page_size" name="page_size" onchange="this.form.submit()">
{% for size in valid_page_sizes %}
<option value="{{ size }}" {% if size == page_size %}selected{% endif %}>{{ size }}개씩 보기</option>
{% endfor %}
</select>
</div>
{# 검색 버튼 #}
<div class="col-auto">
<button type="submit" class="btn btn-primary btn-sm">
<i class="fas fa-search"></i> 검색
</button>
</div>
{# 검색/필터 초기화 버튼 #}
{% if search_query or current_group %}
<div class="col-auto">
{# 초기화 링크 #}
<a href="{% url 'gyber:user_list' %}" class="btn btn-secondary btn-sm">
<i class="fas fa-times"></i> 초기화
</a>
</div>
{% endif %}
{# 다른 필터/정렬값 유지 위한 hidden inputs (필요시 추가) #}
{% if sort_by != 'name' %}<input type="hidden" name="sort" value="{{ sort_by }}">{% endif %}
{% if sort_dir != 'asc' %}<input type="hidden" name="dir" value="{{ sort_dir }}">{% endif %}
{# page_size 는 select 에서 전달됨 #}
</form>