Skip to content
Snippets Groups Projects
rate.twig 5.55 KiB
Newer Older
{% extends 'base' %}
{% block title %}Выставление баллов{% endblock %}
{% block media %}
    {{ HTML.script('static/js/functions.js')|raw }}
    {{ HTML.script('static/js/libs/jquery.fileDownload.js')|raw }}
    {{ HTML.script('static/js/libs/tabulator.min.js')|raw }}
   {#  {{ HTML.script('static/js/libs/jquery_wrapper.min.js')|raw }} #}
    {{ HTML.script('static/js/rateHistory.js')|raw }}
    {{ HTML.script('static/js/discipline/rating.js')|raw }}

    {{ HTML.script('https://unpkg.com/tabulator-tables@4.2.3/dist/js/tabulator.min.js')|raw }}
    {{ HTML.script('http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js')|raw }}
    {{ HTML.script('https://unpkg.com/jspdf@latest/dist/jspdf.min.js')|raw }}
    {{ HTML.script('https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.0.5/jspdf.plugin.autotable.js')|raw }}
    {{ HTML.script('https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.0.5/jspdf.plugin.autotable.js')|raw }}

    {{ HTML.style('static/css/teacher/discipline/rating.css')|raw }}
    {{ HTML.style('https://unpkg.com/tabulator-tables@4.2.3/dist/css/tabulator_modern.min.css')|raw }}
{% endblock %}

{% macro AnchorButton(URL, Text, AnchorTitle, AnchorClass) %}
    {{ HTML.anchor(URL, Text, {
        'title': AnchorTitle,
        'class': AnchorClass
    })|raw }}
{% endmacro %}

{# Вывод данных "прилеплен" для выдачи корректного ответа #}
{% macro RateCellCheck(Discipline, ModuleType) %}{{
    Discipline.Milestone == 0 and (ModuleType == 'regular' or ModuleType == 'bonus')
}}{% endmacro %}

{% macro RateCell(Col, Row, Discipline, ModuleType, Rate) %}
    {% if _self.RateCellCheck(Discipline, ModuleType) %}
        <td id="col_row_{{ Col }}_{{ Row }}" class="rate {{ ModuleType }}">
            <input type="text" value="{{ Rate }}">
        </td>
    {% else %}
        <td class="rate static {{ ModuleType }}">{{ Rate }}</td>
    {% endif %}
{% endmacro %}

{% block main_top_title %}Выставление баллов{% endblock %}
{% block main_content %}
    {% if Discipline.Milestone %}
        <p class="noEdit">Семестр завершен, выставление баллов запрещено</p>

    <div class="rateHeader ClearFix">
        <h2 class="subject">{{ Discipline.SubjectName }}</h2>

        {{ _self.AnchorButton('discipline/' ~ Discipline.ID ~ '/exam', 'Сессия', 'Сессия', 'button') }}
        {{ _self.AnchorButton('discipline/' ~ Discipline.ID ~ '/history', 'История', 'История', 'button') }}
        {#{{ _self.AnchorButton('discipline/' ~ Discipline.ID ~ '/structure', Discipline.IsLocked ? 'Просмотр' : 'Редактирование', 'История', 'button') }}#}
        {{ _self.AnchorButton('discipline/' ~ Discipline.ID ~ '/journal', 'Журнал', 'Журнал', 'button') }}

        <div class="groupSelector">
            <span class="defaultForm">Фильтр:</span>
            <select class="defaultForm" id="groupSelector">
                <option value="0">Все группы</option>
                {% for Group in Groups %}
                    <option value="{{ Group.ID }}">
                        {% if Group.Degree == 'master' %}
                            Магистратура, {{ Group.GradeNum }} год
                        {% elseif Group.Degree == 'specialist' %}
                            Специалитет, {{ Group.GradeNum }} курс
                        {% elseif Group.Degree == 'postgraduate' %}
                            Аспирантура, {{ Group.GradeNum }} год
                        {% else %}
                            {{ Group.GradeNum }} курс
                        {% endif %}

                        {{ Group.GroupNum }} группа
                        {% if Group.FormID == 'очно-заочная' %}
                            ВО
                        {% endif %}

                        {% if Group.FormID == 'заочная' %}
                            ЗО
                        {% endif %}
                    </option>
                {% endfor %}
            </select>
        </div>
    </div>

    <div class="rateContent">
        <button id="download-xlsx"> Скачать xlsx </button>
        <button id="download-pdf"> Скачать pdf </button>
        <button id="history-undo"> Отменить </button>
        <button id="history-redo"> Повторить </button>
        <div id="studentsRate"></div>
    </div>

    <div id="cellInfo" class="cellInfo">
        <span id="student" class="field">
            <span class="name">Студент:</span>
            <span class="value"></span>
        </span>
        <span id="submodule" class="field">
            <span class="name">Мероприятие:</span>
            <span class="value"></span>
        </span>
        <span id="maxRate" class="field">
            <span class="name">Максимальный балл:</span>
            <span class="value"></span>
        </span>
    </div>

    <div id="json_discipline" style="display: none">
        {{ Discipline|json_encode|raw }}
    </div>
    <div id="json_modules" style="display: none">
        {{ Modules|json_encode|raw }}
    </div>
    <div id="json_groups" style="display: none">
        {{ Groups|json_encode|raw }}
    </div>
    <div id="json_students" style="display: none">
        {{ Students|json_encode|raw }}
    </div>
    <div id="json_rates" style="display: none">
        {{ Rates|json_encode|raw }}
    </div>
    <div id="json_exams" style="display: none">
        {{ Exams|json_encode|raw }}
    </div>
PavelBegunkov's avatar
PavelBegunkov committed
{% endblock %}