mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends "member/base.html" %}
 | 
						|
{% comment %}
 | 
						|
SPDX-License-Identifier: GPL-3.0-or-later
 | 
						|
{% endcomment %}
 | 
						|
{% load i18n %}
 | 
						|
{% load render_table from django_tables2 %}
 | 
						|
 | 
						|
{% block profile_content %}
 | 
						|
<div class="card bg-light">
 | 
						|
    <h3 class="card-header text-center">
 | 
						|
        {{ title }}
 | 
						|
    </h3>
 | 
						|
    <div class="card-body">
 | 
						|
        <input id="searchbar" type="text" class="form-control" placeholder="Nom/prénom/note...">
 | 
						|
        <div class="form-check">
 | 
						|
            <label class="form-check-label" for="only_active">
 | 
						|
                <input type="checkbox" class="checkboxinput form-check-input" id="only_active"
 | 
						|
                    {% if only_active %}checked{% endif %}>
 | 
						|
                {% trans "Display only active memberships" %}
 | 
						|
            </label>
 | 
						|
        </div>
 | 
						|
        <div id="div_id_roles">
 | 
						|
            <label for="roles" class="col-form-label">{% trans "Filter roles:" %}</label>
 | 
						|
            <select name="roles" class="selectmultiple form-control" id="roles" multiple="">
 | 
						|
                {% for role in applicable_roles %}
 | 
						|
                <option value="{{ role.id }}" selected>{{ role.name }}</option>
 | 
						|
                {% endfor %}
 | 
						|
            </select>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
    <div id="memberships_table">
 | 
						|
        {% if table.data %}
 | 
						|
        {% render_table table %}
 | 
						|
        {% else %}
 | 
						|
        <div class="alert alert-warning">
 | 
						|
            {% trans "There is no membership found with this pattern." %}
 | 
						|
        </div>
 | 
						|
        {% endif %}
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
{% endblock %}
 | 
						|
 | 
						|
{% block extrajavascript %}
 | 
						|
<script type="text/javascript">
 | 
						|
    $(document).ready(function () {
 | 
						|
        let searchbar_obj = $("#searchbar");
 | 
						|
        let only_active_obj = $("#only_active");
 | 
						|
        let roles_obj = $("#roles");
 | 
						|
 | 
						|
        function reloadTable() {
 | 
						|
            let pattern = searchbar_obj.val();
 | 
						|
 | 
						|
            let roles = [];
 | 
						|
            $("#roles option:selected").each(function () {
 | 
						|
                roles.push($(this).val());
 | 
						|
            });
 | 
						|
            let roles_str = roles.join(',');
 | 
						|
 | 
						|
            $("#memberships_table").load(location.pathname + "?search=" + pattern.replace(" ", "%20") +
 | 
						|
                "&only_active=" + (only_active_obj.is(':checked') ? '1' : '0') +
 | 
						|
                "&roles=" + roles_str + " #memberships_table");
 | 
						|
        }
 | 
						|
 | 
						|
        searchbar_obj.keyup(reloadTable);
 | 
						|
        only_active_obj.change(reloadTable);
 | 
						|
        roles_obj.change(reloadTable);
 | 
						|
    });
 | 
						|
</script>
 | 
						|
{% endblock %}
 |