mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-03 08:58:47 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends "base.html" %}
 | 
						|
{% load render_table from django_tables2 %}
 | 
						|
{% load crispy_forms_tags %}
 | 
						|
{% load i18n %}
 | 
						|
{% load perms %}
 | 
						|
 | 
						|
{% block content %}
 | 
						|
    <input id="searchbar" type="text" class="form-control" placeholder="Nom/prénom/note/section ...">
 | 
						|
 | 
						|
    <hr>
 | 
						|
 | 
						|
    <div id="user_table">
 | 
						|
        {% if table.data %}
 | 
						|
            {% render_table table %}
 | 
						|
        {% else %}
 | 
						|
            <div class="alert alert-warning">
 | 
						|
                {% trans "There is no user with this pattern." %}
 | 
						|
            </div>
 | 
						|
        {% endif %}
 | 
						|
    </div>
 | 
						|
 | 
						|
    <hr>
 | 
						|
 | 
						|
    {% if "member.change_profile_registration_valid"|has_perm:user %}
 | 
						|
        <a class="btn btn-block btn-secondary" href="{% url 'registration:future_user_list' %}">
 | 
						|
            <i class="fas fa-user-plus"></i> {% trans "Registrations" %}
 | 
						|
        </a>
 | 
						|
    {% endif %}
 | 
						|
{% endblock %}
 | 
						|
 | 
						|
{% block extrajavascript %}
 | 
						|
<script type="text/javascript">
 | 
						|
    $(document).ready(function() {
 | 
						|
        let old_pattern = null;
 | 
						|
        let searchbar_obj = $("#searchbar");
 | 
						|
        var timer_on = false;
 | 
						|
        var timer;
 | 
						|
 | 
						|
        function reloadTable() {
 | 
						|
            let pattern = searchbar_obj.val();
 | 
						|
 | 
						|
            if (pattern === old_pattern || pattern === "")
 | 
						|
                return;
 | 
						|
 | 
						|
            $("#user_table").load(location.pathname + "?search=" + pattern.replace(" ", "%20") + " #user_table", init);
 | 
						|
        }
 | 
						|
 | 
						|
        searchbar_obj.keyup(function() {
 | 
						|
            if (timer_on)
 | 
						|
                clearTimeout(timer);
 | 
						|
            timer_on = true;
 | 
						|
            setTimeout(reloadTable, 0);
 | 
						|
        });
 | 
						|
 | 
						|
        function init() {
 | 
						|
            $(".table-row").click(function() {
 | 
						|
                window.document.location = $(this).data("href");
 | 
						|
                timer_on = false;
 | 
						|
            });
 | 
						|
 | 
						|
            $("tr").each(function() {
 | 
						|
                $(this).find("td:eq(0), td:eq(1), td:eq(2), td:eq(3), td:eq(5)").each(function() {
 | 
						|
                    $(this).html($(this).text().replace(new RegExp(searchbar_obj.val(), 'i'), "<mark>$&</mark>"));
 | 
						|
                });
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        init();
 | 
						|
    });
 | 
						|
</script>
 | 
						|
{% endblock %}
 |