{% extends 'base.html' %}
{% load static %}
{% block content %}
{% include 'profile/header.html' %}
{% include 'profile/drawer.html' %}

<br />
<br />
<br />
<br />

<div class="container mt-5 ">
    <h1 class="text-center mb-4">لیست کارنامه های کاربران</h1>
    {% include 'profile/message.html' %}

    <!-- فرم جستجو -->
    <form method="GET" class="mb-4">
        <div class="row g-2 animate__animated animate__delay-0.1s animate__fadeIn">
            <div class="col-md-6">
                <input type="text" name="search" value="{% if search_query %}{{ search_query }}{% else %}{{ '' }}{% endif %}" placeholder="جستجو" class="form-control mt-5">
            </div>
            <div class="col-md-4 mt-5">
                <label for="searchField" class="form-label">فیلد جستجو:</label>
                <select name="search_field" class="btn btn-outline-dark">
                    <option value="first_name" {% if search_field == 'first_name' %}selected{% endif %}>نام</option>
                    <option value="last_name" {% if search_field == 'last_name' %}selected{% endif %}>نام خانوادگی</option>
                    <option value="national_code" {% if search_field == 'national_code' %}selected{% endif %}>کد ملی</option>
                    <option value="birthday" {% if search_field == 'birthday' %}selected{% endif %}>تاریخ تولد</option>
                    <option value="sardoshi_categories" {% if search_field == 'sardoshi_categories' %}selected{% endif %}>سردوشی</option>
                    <option value="ozviat_categories" {% if search_field == 'ozviat_categories' %}selected{% endif %}>نوع عضویت</option>
                    <option value="tarbyat_categories" {% if search_field == 'tarbyat_categories' %}selected{% endif %}>رده تربیتی</option>
                </select>
            </div>
            <div class="col-md-2 mt-5">
                <button type="submit" class="btn btn-primary w-100">جستجو</button>
            </div>
        </div>
    </form>
<!-- فرم جستجو و جدول کاربران -->
<form id="scoreForm" method="POST">
    {% csrf_token %}
    <div class="d-flex justify-content-center">
        <table class="table table-striped table-bordered">
            <thead class="table-dark">
                <tr>
                    <th>#</th>
                    <th>نام</th>
                    <th>نام خانوادگی</th>
                    <th>سردوشی</th>
                    {% for index in indices %}
                        <th>{{ index.title }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody>
                {% if people_data %}
                    {% for person in people_data %}
                        <tr>
                            <td>{{ forloop.counter }}</td>
                            <td>{{ person.first_name }}</td>
                            <td>{{ person.last_name }}</td>
                            <td>{{ person.sardoshi_categories }}</td>
                            {% for index in indices %}
                                <td>
                                    {% for score in person.report_card_scores %}
                                        {% if score.index_id == index.id %}
                                            <span class="score-text" id="score_span_{{ index.id }}_{{ person.id }}">{{ score.score }}</span>
                                            <input type="number" name="score_{{ index.id }}_{{ person.id }}" value="{{ score.score }}" class="form-control score-input" id="score_input_{{ index.id }}_{{ person.id }}" style="display: none;" readonly />
                                        {% endif %}
                                    {% endfor %}
                                </td>
                            {% endfor %}
                        </tr>
                    {% endfor %}
                {% else %}
                    <tr>
                        <td colspan="10" class="text-center text-danger">هیچ نتیجه‌ای برای جستجو یافت نشد.</td>
                    </tr>
                {% endif %}
            </tbody>
        </table>
    </div>
    <button type="button" id="editButton" class="btn btn-warning">ویرایش</button>
    <button type="submit" id="saveScoresButton" class="btn btn-success d-none">ذخیره نمرات</button>
</form>


<script>
    // عملکرد برای دکمه "ویرایش"
    document.getElementById('editButton').addEventListener('click', function() {
        toggleEditMode(true); // فعال کردن حالت ویرایش
    });

    // عملکرد برای دکمه "ذخیره نمرات"
    document.getElementById('saveScoresButton').addEventListener('click', function(event) {
        event.preventDefault();  // جلوگیری از ارسال فرم به صورت معمول
        saveScores();  // ذخیره نمرات
    });

    function toggleEditMode(isEdit) {
        const scoreTexts = document.querySelectorAll('.score-text');
        const scoreInputs = document.querySelectorAll('.score-input');
        
        scoreTexts.forEach(span => {
            span.style.display = isEdit ? 'none' : 'inline';  // مخفی کردن span در حالت ویرایش
        });
        scoreInputs.forEach(input => {
            input.style.display = isEdit ? 'inline' : 'none';  // نمایش دادن input در حالت ویرایش
            if (isEdit) {
                input.removeAttribute('readonly');  // از حالت readonly خارج کردن در حالت ویرایش
            } else {
                input.setAttribute('readonly', 'readonly');  // بازگشت به حالت readonly
            }
        });

        // تنظیم وضعیت دکمه‌ها
        document.getElementById('editButton').classList.toggle('d-none', isEdit);
        document.getElementById('saveScoresButton').classList.toggle('d-none', !isEdit);
    }

    function saveScores() {
        const formData = new FormData(document.getElementById('scoreForm'));
        fetch("{% url 'save_scores' role_key %}", {
            method: 'POST',
            body: formData
        })
        .then(response => response.json())
        .then(data => {
            // پس از ذخیره، حالت‌ها به حالت اولیه برمی‌گردد
            toggleEditMode(false);  // بازگشت به حالت نمایش
            location.reload();  // ریلود کردن صفحه
        })
        .catch(error => {
            console.error('Error:', error);
        });
    }
</script>

</div>


{% endblock %}
