{% extends 'base' %}

{% block title %}Выставление баллов{% endblock %} {# head -> title #}
{% block media %} {# head -> css, js #}
	{{ HTML.script('static/js/functions.js')|raw }}
	{{ HTML.script('static/js/libs/jquery.fileDownload.js')|raw }}
	{{ HTML.script('static/js/discipline/rating/rate.js')|raw }}

	{{ HTML.style('static/css/teacher/rating.css')|raw }}
{% endblock %}

{% block main_top_title %}Выставление баллов{% endblock %}
{% block main_content %}
	{% if Discipline.Milestone > 0 %}
		<p class="canNotEdit">
			Семестр завершен. Выставление баллов <u>запрещено</u>.
		</p>
	{% endif %}
	{#
    {% if Discipline.Type == 'exam' %}
        <p class="canNotEdit">
            Выставление баллов за экзамен возможно только на странице "Сессия".
        </p>
    {% endif %}
    #}
	<h2 class="h2_titleSubject">{{ Discipline.SubjectName }}</h2>

	<button class="downloadExcel" style="display: none">Скачать в excel формате [dev version]</button>

	{{ HTML.anchor('discipline/' ~ Discipline.ID ~ '/exam', 'Перейти к сессии →', {
		'title': 'Сессия', 'class': 'exam_a'
	})|raw }}

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

					{{ Group.GroupNum }} группа
				</option>
			{% endfor %}
		</select>
	</div>

	<p class="notification notif_rating" style="display: none">Обратите внимание, что пустая клетка эквивалентна нулю</p>


	<table class="studentsRate" border="0" cellspacing="0" cellpadding="0">

		<tr class="RatingTableModulesHead">
			<td class="title">Модуль</td>

			{% for Module in Modules %}
				{% set bonus = (Module.Type == 'bonus' ? 'bonus') %}
				{% set rowSpan = (Module.Type == 'regular' ? 1 : 2) %}
				{% set colSpan = (Module.Type != 'extra' ? Module.Submodules|length) %}
				<td class="subject {{ bonus }}" rowspan="{{ rowSpan }}" colspan="{{ colSpan }}">
					{% set names = { 'bonus':'Бонус', 'extra':'Добор баллов', 'exam':'Экзамен', 'regular':Module.Name } %}
					{{ names[Module.Type] | default('—') }}
				</td>
			{% endfor %}

			<td class="subject" rowspan="3">Итог</td>
		</tr>

		<tr class="RatingTableSubmodulesHead">
			<td class="title">Мероприятие</td>

			{% set col = 0 %}
			{% for Module in Modules if Module.Type == 'regular' %}
				{% for Submodule in Module.Submodules %}
					{% set col = col + 1 %}
					<td class="subject col_{{ col }}">{{ Submodule.Name }}</td>
				{% endfor %}
			{% endfor %}
		</tr>

		<tr class="RatingTableSubmodulesHeadMaxRate">
			<td class="title">Макс. балл</td>

			{% set CellCount = 0 %}
			{% set col = 0 %}

			{% for Module in Modules %}
				{% set CellCount = CellCount + Module.Submodules|length %}
				{% for Submodule in Module.Submodules %}
					<script>console.log({{ Module|json_encode|raw }});</script>
					{% if Module.Type == "exam" %}
						<td class="subject" id="{{ Submodule.ID }}">{{ Submodule.Rate }}</td>
					{% elseif Module.Type == "extra" %}
						{% if loop.first %}
							<td class="subject" id="{{ Submodule.ID }}"></td>
						{% else %}
							{# при наличии второго сабмодуля у добора выводим только первый #}
							{% set CellCount = CellCount - 1 %}
						{% endif %}
					{% else %}
						{% set col = col + 1 %}
						<td class="subject col_{{ col }}" id="{{ Submodule.ID }}">{{ Submodule.Rate }}</td>
					{% endif %}
				{% endfor %}
			{% endfor %}
		</tr>

		<tr class="RatingTableSubmodulesInfo">
			<td class="info"></td>
			{% set col = 0 %}
			{% for Module in Modules %}
				{% for Submodule in Module.Submodules %}
					{% if Module.Type != "extra" or loop.first %}
						{% set col = col + 1 %}
						<td class="info col_{{ col }}" id="{{ Submodule.ID }}"></td>
					{% endif %}
				{% endfor %}
			{% endfor %}
			<td class="info"></td>
		</tr>

		{% set row = 0 %}
		{% for GroupID, StudentsList in Students %}
			<tr id="group_{{ GroupID }}" class="group_{{ GroupID }}">
				<td class="group" colspan="{{ CellCount + 2 }}">
					{% set Group = Groups[GroupID] %}

					{% if Group.Degree == 'master' %}
						Магистратура, {{ Group.GradeNum }} год
					{% else %}
						{{ Group.GradeNum }} курс
					{% endif %}

					{{ Group.GroupNum }} группа
				</td>
			</tr>

			{% for student in StudentsList %}
				{% set extraRate = 0 %}
				{% set sumRate = 0 %}
				{% set j = 0 %}
				{% set row = row + 1 %}

				<tr id="row_{{ row }}" class="group_{{ GroupID }}">
					<td id="student_{{ student.ID }}" class="studentCell staticCell">
						{{ student.LastName }} {{ student.FirstName }}
					</td>

					{% for Submodule in Submodules %}
						{% set Module = Modules[Submodule.ModuleID] %}
						{% set rate = Rates[Student.ID][Submodule.ID] %}
						{% set sumRate = sumRate + rate %}

						{% set j = j + 1 %}

						{% if Discipline.Milestone == 0 and Module.Type != 'extra' %}
							<td id="col_{{ j }}" class="commonCell">
								<input type="text" value="{{ rate }}">
							</td>
						{% else %}
							{% set j = j - 1 %}
							{% if Module.Type == 'extra' %}
								{% set extraRate = extraRate + rate %}
							{% else %}
								<td class="staticCell {{ Module.Type == 'exam' ? 'examCell' }}">
									<p>{{ rate }}</p>
								</td>
							{% endif %}
						{% endif %}
					{% endfor %}

					<td class="staticCell">
						<p>{{ extraRate ? extraRate }}</p>
					</td>

					<td class="rateResultCell staticCell">
						{{ sumRate > 100 ? '100+' : sumRate }}
					</td>
				</tr>
			{% endfor %}

		{% endfor %}
	</table>
	<div id="tdInfo_wrap">
		<div id="tdInfo">
			<span id="student">Студент: <b></b></span>
			<span id="submodule">Мероприятие: <b></b></span>
			<span id="maxRate">Максимальный балл: <b></b></span>
		</div>
	</div>
	<div id="hidden_div" style="display: none;">
		{{ Discipline|json_encode|raw }}
	</div>
	<input type="hidden" id="pageType" value="rating"/>
{% endblock %}