{% extends 'base' %} {% block media %} {# head -> css, js #} {{ HTML.style('static/css/student/subject.css')|raw }} {% endblock %} {% 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 %} {% import _self as map %} {% block title %}{{ Discipline.SubjectName|default('УКД') }}{% endblock %} {% block main_top_title %}Учебная карта дисциплины{% endblock %} {% block main_content_classes %}sidePadding{% endblock %} {% block main_content %} <div class="pageTitle"> <h2>{{ Discipline.SubjectName|default('—') }}</h2> </div> <div class="disciplineInfo first"> <div class="clearFix"> <div class="label">Форма аттестации:</div> <div class="content">{{ Rus[Discipline.Type] |default('—') }}</div> </div> <div class="clearFix"> <div class="label">Семестр:</div> <div class="content"> {{ Semester.Season == 'autumn' ? 'Осенний' : 'Весенний' }} семестр {{ Semester.Year }}/{{ Semester.Year + 1 }} учебного года </div> </div> </div> <div class="disciplineInfo last"> <div class="clearFix"> <div class="label">Преподаватели:</div> <div class="content"> {% for Teacher in Teachers %} <div>{{ Teacher.Name }}</div> {% else %} — {% endfor %} </div> </div> <div class="clearFix"> <div class="label">Учебная нагрузка:</div> <div class="content"> {% if (Discipline.Practice) and (Discipline.Labs) %} {% set FirstConjuction = ',' %} {% set SecondConjuction = ' и' %} {% elseif (Discipline.Practice) or (Discipline.Labs) %} {% if Discipline.Lectures %} {% set FirstConjuction = ' и' %} {% elseif Discipline.Labs %} {% set SecondConjuction = ' и' %} {% endif %} {% endif %} {% set Hours = [ { Type: 'Lectures', Text: 'теории' ~ FirstConjuction }, { Type: 'Practice', Text: 'практики' ~ SecondConjuction }, { Type: 'Labs', Text: 'лабораторных занятий' } ] %} {% for Hour in Hours if Discipline[Hour.Type] %} {{ Discipline[Hour.Type] }} {{ Rus.NumEnding(Discipline[Hour.Type], ['час', 'часа', 'часов']) }} {{ Hour.Text }} {% endfor %} </div> </div> </div> <h3 class="blockTitle">Баллы за семестр</h3> {% set SemesterRate = 0 %} {% set SemesterMaxRate = 0 %} <div class="blockMargin"> {% for Module in DisciplineMap.Modules %} {% set ModuleRate = 0 %} {% set ModuleMaxRate = 0 %} <div class="tableTitle Module"> {{ Module.Title|default('Модуль ' ~ loop.index) }} </div> {% for SubmoduleID in Module.Submodules %} {% set Submodule = Submodules[SubmoduleID] %} <div class="submoduleBlock"> <div class="submoduleTitle"> {{ Submodule.Title|default('Мероприятие ' ~ loop.index) }} </div> <div class="submoduleRate"> {{ +Submodule.Rate }} / {{ +Submodule.MaxRate }} {% set ModuleRate = ModuleRate + Submodule.Rate %} </div> <div class="submodulePercent"> {{ Submodule.MaxRate ? (Submodule.Rate * 100) // Submodule.MaxRate ~ ' %' : '—' }} {% set ModuleMaxRate = ModuleMaxRate + Submodule.MaxRate %} </div> <div class="submoduleDate"> {{ Submodule.Date ? Submodule.Date|date('d.m.Y') : '—' }} </div> </div> {% if loop.last %} <div class="moduleResult"> Итого за модуль: {{ ModuleRate }} / {{ ModuleMaxRate }} {% set SemesterRate = SemesterRate + ModuleRate %} {% set SemesterMaxRate = SemesterMaxRate + ModuleMaxRate %} </div> {% endif %} {% endfor %} {% endfor %} </div> {% if Discipline.Type == 'exam' %} <h3 class="blockTitle">Допуск к экзамену</h3> <div class="blockMargin"> {% set Admission = 38 - (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"> </div> <div class="submoduleDate">—</div> </div> </div> {% endif %} </div> <div class="Middle totalRate"> Промежуточный итог: {{ SemesterRate + DisciplineMap.ExtraRate }} / {{ SemesterMaxRate }} </div> {% set Bonus = Submodules[DisciplineMap.Bonus] %} <h3 class="blockTitle">Экзамен</h3> <div class="blockMargin"> <div class="tableTitle Extra"> Экзамен по курсу «{{ Discipline.SubjectName|default('—') }}» </div> {% if Bonus is not empty %} <div class="submoduleBlock"> <div class="submoduleTitle">Бонусные баллы</div> <div class="submoduleRate"> {{ +Bonus.Rate }} / {{ +Bonus.MaxRate }} </div> <div class="submodulePercent"> {% if Bonus.MaxRate == 0 %} 0 {% else %} {{ (Bonus.Rate * 100) // Bonus.MaxRate }} % {% endif %} </div> <div class="submoduleDate"> {% if Bonus.Date != 0 %} {{ Bonus.Date|date('d.m.Y') }} {% else %} — {% endif %} </div> </div> {% endif %} {% if DisciplineMap.Exam is not empty %} <div class="submoduleBlock"> <div class="submoduleTitle">Экзамен по курсу «{{ Discipline.SubjectName|default('—') }}»</div> <div class="submoduleRate">{{ DisciplineMap.Exam.Rate }} / {{ DisciplineMap.Exam.MaxRate }}</div> <div class="submodulePercent"> {% if DisciplineMap.Exam.MaxRate == 0 %} 0 {% else %} {{ (DisciplineMap.Exam.Rate * 100) // DisciplineMap.Exam.MaxRate }} % {% endif %} </div> <div class="submoduleDate"> {% if DisciplineMap.Exam.Date != 0 %} {{ DisciplineMap.Exam.Date|date('d.m.Y') }} {% else %} — {% endif %} </div> </div> {% endif %} </div> <div class="Final totalRate"> {% set Rating = SemesterRate + DisciplineMap.Extra.Rate + Bonus.Rate + DisciplineMap.Exam.Rate %} Итоговый рейтинг: {{ min(Rating, 100) }} / 100 </div> {% elseif Discipline.Type == 'credit' %} <h3 class="blockTitle">Зачет</h3> <div class="blockMargin"> {% set Admission = 60 - (SemesterRate + DisciplineMap.Extra.Rate) %} {% if Admission > 0 %} Для получения зачета необходимо набрать ещё {{ Admission }} {{ Rus.NumEnding(Admission, ['балл', 'балла', 'баллов']) }}. {% else %} Поздравляем, Вы получили зачет по курсу «{{ Discipline.SubjectName|default('—') }}»! {% endif %} {% if ExtraRate or not Admission or Bonus is not empty %} <div class="tableTitle Extra"> Зачет по курсу «{{ Discipline.SubjectName|default('—') }}» </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"> </div> <div class="submoduleDate">—</div> </div> </div> {% endif %} {% if Bonus is not empty %} <div class="submoduleBlock"> <div class="submoduleTitle">Бонусные баллы</div> <div class="submoduleRate"> {{ +Bonus.Rate }} / {{ +Bonus.MaxRate }} </div> <div class="submodulePercent"> {% if Bonus.MaxRate == 0 %} 0 {% else %} {{ (Bonus.Rate * 100) // Bonus.MaxRate }} % {% endif %} </div> <div class="submoduleDate"> {% if Bonus.Date != 0 %} {{ Bonus.Date|date('d.m.Y') }} {% else %} — {% endif %} </div> </div> {% endif %} {% endif %} </div> <div class="Final totalRate"> {% set Rating = SemesterRate + DisciplineMap.Extra.Rate + Bonus.Rate %} Итоговый рейтинг: {{ min(Rating, 100) }} / 100 </div> {% endif %} {% endblock %}