Skip to content
Snippets Groups Projects
subject.twig 11.4 KiB
Newer Older
{% extends 'base' %} 
 
{% block media %} {# head -> css, js #}
    {{ HTML.style('media/less/student/subject.css')|raw }}
{% endblock %}

PavelBegunkov's avatar
PavelBegunkov committed
    {% macro event(event_name, event_date, event_ball, event_max_ball) %}
        <tr class="table_content">
            <td>{{ event_name }}</td>
            <td>{{ event_date }}</td>
            <td>{{ event_ball }} / {{ event_max_ball }}</td>
        </tr>											
    {% endmacro %}
xamgore's avatar
xamgore committed
{% block title %}{{ Discipline.subjectName|default('УКД') }}{% endblock %}
{% block main_top_title %}Учебная карта дисциплины{% endblock %}
{% block main_content_classes %}sidePadding{% endblock %}
pimka's avatar
pimka committed

{% block main_content %}

    <div class="pageTitle">
xamgore's avatar
xamgore committed
        <h2>{{ Discipline.subjectName|default('---') }}</h2>
    </div>

    <div class="disciplineInfo first">
Andrew Rudenets's avatar
Andrew Rudenets committed
        <div class="clearFix">
            <div class="label">Рабочий план дисциплины:</div>
xamgore's avatar
xamgore committed
            {% if Discipline.DWPLink %}
                <div class="content">{{ Discipline.DWPLink|default('-- ссылка на рабочий план дисциплины --') }}</div>
            {% endif %}
Andrew Rudenets's avatar
Andrew Rudenets committed
        </div>

            <div class="label">Форма аттестации:</div>
xamgore's avatar
xamgore committed
            <div class="content">{{ Discipline.control|default('---') }}</div>
            <div class="label">Семестр:</div>
            <div class="content">
xamgore's avatar
xamgore committed
                {{ Discipline.semesterNum }} семестр {{ Discipline.semesterYear }}/{{ Discipline.semesterYear + 1 }} учебного года
    </div>

    <div class="disciplineInfo last">
        {% if Discipline.depName %}
            <div class="clearFix">
                <div class="label">Кафедра:</div>
xamgore's avatar
xamgore committed
                <div class="content">{{ Discipline.depName }}</div>
            </div>
        {% endif %}
            <div class="label">Преподаватели:</div>
            <div class="content">
xamgore's avatar
xamgore committed
                {% for teacher in Discipline.teachers %}
                    {{ teacher }}{% if not loop.last %},{% endif %}
                {% endfor %}
            </div>
            <div class="label">Учебная нагрузка:</div>
            <div class="content">

xamgore's avatar
xamgore committed
                {% if (Discipline.practice) and (Discipline.labs) %}
                    {% set FirstConjuction = ',' %}
                    {% set SecondConjuction = ' и' %}
xamgore's avatar
xamgore committed
                {% elseif (Discipline.practice) or (Discipline.labs) %}
                    {% if Discipline.lectures %}
                        {% set FirstConjuction = ' и' %}
xamgore's avatar
xamgore committed
                    {% elseif Discipline.labs %}
                        {% set SecondConjuction = ' и' %}
                    {% endif %}
                {% endif %}

xamgore's avatar
xamgore committed
                {% if Discipline.lectures %}
                    {{ Discipline.lectures }}
                    {{ Rus.NumEnding(Discipline.lectures, ['час', 'часа', 'часов']) }}
                    теории{{ FirstConjuction }}
                {% endif %}
xamgore's avatar
xamgore committed
                {% if Discipline.practice %}
                    {{ Discipline.practice }}
                    {{ Rus.NumEnding(Discipline.practice, ['час', 'часа', 'часов']) }}
                    практики{{ SecondConjuction }}
                {% endif %}
xamgore's avatar
xamgore committed
                {% if Discipline.labs %}
                    {{ Discipline.labs }}
                    {{ Rus.NumEnding(Discipline.labs, ['час', 'часа', 'часов']) }}
                    лабораторных занятий
                {% endif %}

            </div>

    <h3 class="blockTitle">Баллы за семестр</h3>

    <div class="blockMargin">
    {% for Module in DisciplineMap.Modules %}
        <div class="tableTitle Module">
            {{ Module.Title|default('Модуль ' ~ loop.index) }}
        </div>
        {% for Submodule in Module.Submodules %}
            <div class="submoduleBlock">
                <div class="submoduleTitle">{{ Submodule.Title|default('Мероприятие ' ~ loop.index) }}</div>
                <div class="submoduleRate">
                    {{ Submodule.Rate }} / {{ Submodule.MaxRate }}
                <div class="submodulePercent">
                    {% if Submodule.MaxRate <= 0 %}
                    {% else %}
                        {{ (Submodule.Rate  * 100) // Submodule.MaxRate }} %
PavelBegunkov's avatar
PavelBegunkov committed
                    {% endif %}
                <div class="submoduleDate">
                    {% if Submodule.Date != 0 %}
                        {{ Submodule.Date|date('d.m.Y') }}
            {% if loop.last %}
                <div class="moduleResult">
                    Итого за модуль: {{ Module.Rate }} / {{ Module.MaxRate }}
                </div>
            {% endif %}
        {% endfor %}
    {% endfor %}
    </div>
xamgore's avatar
xamgore committed
    {% if Discipline.type == 'exam' %}
    <h3 class="blockTitle">Допуск к экзамену</h3>
    <div class="blockMargin">
        {% set Admission = 38 - (DisciplineMap.SemesterRate + DisciplineMap.Extra.Rate) %}
        {% if Admission > 0 %}
            Для допуска к экзамену Вам необходимо получить еще {{ Admission }} {{ Rus.NumEnding(Admission, ['балл', 'балла', 'баллов']) }}.
        {% else %}
            Поздравляем, заработанных Вами баллов достаточно для получения допуска к экзамену!
        {% endif %}
        {% if ExtraRate %}
            <div class="blockMargin">
                <div class="submoduleBlock topBorder">
                    <div class="submoduleTitle">Добор баллов</div>
                    <div class="submoduleRate">{{ DisciplineMap.Extra.Rate }}</div>
                    <div class="submodulePercent">&nbsp;</div>
                    <div class="submoduleDate">---</div>
                </div>
            </div>
    </div>

    <div class="totalRate">
        Промежуточный итог: {{ DisciplineMap.SemesterRate + DisciplineMap.ExtraRate }} / {{ DisciplineMap.SemesterMaxRate }}
    </div>

    <h3 class="blockTitle">Экзамен</h3>
    <div class="blockMargin">
        <div class="tableTitle Extra">
xamgore's avatar
xamgore committed
            Экзамен по курсу &laquo;{{ Discipline.subjectName|default('---') }}&raquo;
        </div>
        {% if DisciplineMap.Bonus is not empty %}
        <div class="submoduleBlock">
            <div class="submoduleTitle">Бонусные баллы</div>
            <div class="submoduleRate">
                {{ DisciplineMap.Bonus.Rate }} / {{ DisciplineMap.Bonus.MaxRate }}
RomanSteinberg's avatar
RomanSteinberg committed
            </div>
            <div class="submodulePercent">
                {% if DisciplineMap.Bonus.MaxRate == 0 %} 0 {% else %} {{ (DisciplineMap.Bonus.Rate  * 100) // DisciplineMap.Bonus.MaxRate }} %
                {% endif %}
            </div>
            <div class="submoduleDate">
                {% if DisciplineMap.Bonus.Date != 0 %}
                    {{ DisciplineMap.Bonus.Date|date('d.m.Y') }}
                {% else %}
                    ---
                {% endif %}
            </div>
        </div>
RomanSteinberg's avatar
RomanSteinberg committed
        {% endif %}
        {% if DisciplineMap.Exam is not empty %}
            <div class="submoduleBlock">
xamgore's avatar
xamgore committed
                <div class="submoduleTitle">Экзамен по курсу &laquo;{{ Discipline.subjectName|default('---') }}&raquo;</div>
                <div class="submoduleRate">{{ DisciplineMap.Exam.Rate }} / {{ DisciplineMap.Exam.MaxRate }}</div>
                <div class="submodulePercent">
PavelBegunkov's avatar
PavelBegunkov committed
                    {% if DisciplineMap.Exam.MaxRate == 0 %} 0 {% else %} {{ (DisciplineMap.Exam.Rate  * 100) // DisciplineMap.Exam.MaxRate }} % {% endif %}
                <div class="submoduleDate">
                    {% if DisciplineMap.Exam.Date != 0 %}
                        {{ DisciplineMap.Exam.Date|date('d.m.Y') }}
    </div>

    <div class="totalRate">
        {% set Rating = DisciplineMap.SemesterRate + DisciplineMap.Extra.Rate + DisciplineMap.Bonus.Rate + DisciplineMap.Exam.Rate %}
        {% if Rating > 100 %}
            {% set Rating = 100 %}
        {% endif %}
        Итоговый рейтинг: {{ Rating }} / 100
pimka's avatar
pimka committed
    </div>
xamgore's avatar
xamgore committed
    {% elseif Discipline.type == 'credit' %}
        <h3 class="blockTitle">Зачет</h3>
        <div class="blockMargin">
            {% set Admission = 60 - (DisciplineMap.SemesterRate + DisciplineMap.Extra.Rate) %}
            {% if Admission > 0 %}
                Для получения зачета необходимо набрать ещё {{ Admission }} {{ Rus.NumEnding(Admission, ['балл', 'балла', 'баллов']) }}.
            {% else %}
xamgore's avatar
xamgore committed
                Поздравляем, Вы получили зачет по курсу &laquo;{{ Discipline.subjectName|default('---') }}&raquo;!
            {% endif %}
            {% if ExtraRate or not Admission or DisciplineMap.Bonus is not empty %}
            <div class="tableTitle Extra">
xamgore's avatar
xamgore committed
                Зачет по курсу &laquo;{{ Discipline.subjectName|default('---') }}&raquo;
            </div>
            {% if ExtraRate or not Admission %}
                <div class="blockMargin">
                    <div class="submoduleBlock topBorder">
                        <div class="submoduleTitle">Добор баллов</div>
                        <div class="submoduleRate">{{ DisciplineMap.Extra.Rate }}</div>
                        <div class="submodulePercent">&nbsp;</div>
                        <div class="submoduleDate">---</div>
                    </div>
                </div>
            {% endif %}
            {% if DisciplineMap.Bonus is not empty %}
                <div class="submoduleBlock">
                    <div class="submoduleTitle">Бонусные баллы</div>
                    <div class="submoduleRate">
                        {{ DisciplineMap.Bonus.Rate }} / {{ DisciplineMap.Bonus.MaxRate }}
                    </div>
                    <div class="submodulePercent">
                        {% if DisciplineMap.Bonus.MaxRate == 0 %} 0 {% else %} {{ (DisciplineMap.Bonus.Rate  * 100) // DisciplineMap.Bonus.MaxRate }} %
                        {% endif %}
                    </div>
                    <div class="submoduleDate">
                        {% if DisciplineMap.Bonus.Date != 0 %}
                            {{ DisciplineMap.Bonus.Date|date('d.m.Y') }}
                        {% else %}
                            ---
                        {% endif %}
                    </div>
                </div>
            {% endif %}
            {% endif %}
        </div>

        <div class="totalRate">
            {% set Rating = DisciplineMap.SemesterRate + DisciplineMap.Extra.Rate + DisciplineMap.Bonus.Rate %}
            {% if Rating > 100 %}
                {% set Rating = 100 %}
            {% endif %}
            Итоговый рейтинг: {{ Rating }} / 100
        </div>
    {% endif %}