Skip to content
Snippets Groups Projects
exam.twig 7.28 KiB
Newer Older
Антон Шалимов's avatar
Антон Шалимов committed
{% extends 'base' %}

{% block title %}Сессия{% endblock %} {# head -> title #}
Антон Шалимов's avatar
Антон Шалимов committed
{% block media %} {# head -> css, js #}
	{{ HTML.script('media/js/rating.js')|raw }}
Антон Шалимов's avatar
Антон Шалимов committed
	{{ HTML.script('media/js/functions.js')|raw }}
	{{ HTML.script('media/js/jquery.fileDownload.js')|raw }}

	{{ HTML.style('media/less/teacher/rating.css')|raw }}
Антон Шалимов's avatar
Антон Шалимов committed
{% endblock %}

{% block main_top_title %}Сессия{% endblock %}
Антон Шалимов's avatar
Антон Шалимов committed
{% block main_content %}
	<h2 class="h2_titleSubject"> {{ disciplineInfo.LocalizedExamType }} </h2>
    {{ HTML.anchor('rate/'~disciplineInfo.ID,
Антон Шалимов's avatar
Антон Шалимов committed
            "← Перейти к оцениванию", 
            {'title': 'Оценивание', 'class': 'rate_a'})|raw }}

Антон Шалимов's avatar
Антон Шалимов committed
	<div class="groupSelectorWrap">
		<div class="groupSelectorText">Фильтр:</div>
		<select class="groupSelector">
			<option value="0">Все группы</option>
			{% for key, group in groups %}
				<option value="{{ key }}">{{ group }}</option>
			{% endfor %}
		</select>
	</div>
	
	<table class="studentsRate" border="0" cellspacing="0" cellpadding="0">
		<tr class="RatingTableModulesHead">
			<td class="title" width="150px">Модуль</td>
PavelBegunkov's avatar
PavelBegunkov committed
			<td class="subject" rowspan="3">Итог за семестр</td>
Антон Шалимов's avatar
Антон Шалимов committed
			{% for i in 1..headerRate.ModulesCount %}
				{% set colSpan = headerRate[i].SubmodulesCount %}
				{% set rowSpan = 1 %}
				{% if headerRate[i].ModuleType == 'exam' %}
					{% set colSpan = 2*colSpan + 1 %}
				{% endif %}
				{% if headerRate[i].ModuleType == 'extra' %}{% set rowSpan = 3 %}{% endif %}
				<td class="subject" colspan="{{colSpan}}" rowspan="{{rowSpan}}">
PavelBegunkov's avatar
PavelBegunkov committed
					{{ headerRate[i].ModuleTitle }}
				</td>
Антон Шалимов's avatar
Антон Шалимов committed
			{% endfor %}
			<td class="subject" rowspan="3">Бонус</td>
PavelBegunkov's avatar
PavelBegunkov committed
			{% if disciplineInfo.isBonus == false %}
PavelBegunkov's avatar
PavelBegunkov committed
			{% endif %}
Антон Шалимов's avatar
Антон Шалимов committed
			<td class="subject" rowspan="3">Итог</td>
		</tr>
Антон Шалимов's avatar
Антон Шалимов committed
		<tr class="RatingTableSubmodulesHead">
			{% set col = 1 %}
Антон Шалимов's avatar
Антон Шалимов committed
			<td class="title">Мероприятие</td>
			{% for i in 1..headerRate.ModulesCount %}
				{% set colSpanGeneral = 1 %}
				{% if headerRate[i].ModuleType == 'exam' %}{% set colSpanGeneral = 2*colSpanGeneral%}{% endif %}
				{% for j in 1..headerRate[i].SubmodulesCount if headerRate[i].ModuleType != 'extra' %}
PavelBegunkov's avatar
PavelBegunkov committed
					{% set col = col + 1 %}
					{% set colSpan = colSpanGeneral %}
					{% if headerRate[i].ModuleType == 'exam' and j==1 %}{% set colSpan = colSpan+1 %}{% endif %}
					<td class="subject col_{{ col }}" colspan="{{colSpan}}"> {{ headerRate[i][j].Title }} </td>
PavelBegunkov's avatar
PavelBegunkov committed
				{% endfor %}
Антон Шалимов's avatar
Антон Шалимов committed
			{% endfor %}
		</tr>
Антон Шалимов's avatar
Антон Шалимов committed
		<tr class="RatingTableSubmodulesHeadMaxRate">
			{% set columnsCount = 4 %} {# студенты, итог за семестр, бонусы, итог #}
			{% set col = 1 %}
Антон Шалимов's avatar
Антон Шалимов committed
			<td class="title">Макс. балл</td>
			{% for i in 1..headerRate.ModulesCount %}
				{% set columnsCount = columnsCount + headerRate[i].SubmodulesCount %}
				{% for j in 1..headerRate[i].SubmodulesCount %}
PavelBegunkov's avatar
PavelBegunkov committed
					{% set col = col + 1 %}
					{% if headerRate[i].ModuleType != 'extra' %}
RomanSteinberg's avatar
RomanSteinberg committed
						<td class="subject col_{{ col }}"> {{ headerRate[i][j].MaxRate }} </td>
						{% if headerRate[i].ModuleType == 'exam' %}
							{% set columnsCount = columnsCount + 1 %}
							<td class="subject col_absence_{{ col }}">
								Неявка
							{% if j == 1 %}
								{% set columnsCount = columnsCount + 1 %}
								<td class="subject col_autopass_{{ col }}">
									Автомат
								</td>
							{% endif %}
						{% endif %}
					{% endif %}
PavelBegunkov's avatar
PavelBegunkov committed
				{% endfor %}
Антон Шалимов's avatar
Антон Шалимов committed
			{% endfor %}
		</tr>
		
		<tr class="RatingTableSubmodulesInfo">
PavelBegunkov's avatar
PavelBegunkov committed
			<td class="info"></td>
			<td class="info"></td>
			{% set col = 1 %}
			{% for i in 1..headerRate.ModulesCount %}
				{% set examModule = false %}
				{% if headerRate[i].ModuleType == 'exam' %}{% set examModule = true %}{% endif %}
				{% for j in 1..headerRate[i].SubmodulesCount %}
					{% set col = col + 1 %}
PavelBegunkov's avatar
PavelBegunkov committed
					<td class="info col_{{ col }}" id="{{ headerRate[i][j].SubmoduleID }}"></td>
					{% if examModule %}
PavelBegunkov's avatar
PavelBegunkov committed
						<td class="info col_absence_{{ col }}" id="absence_{{ headerRate[i][j].SubmoduleID }}"></td>
						{% if j == 1 %}
PavelBegunkov's avatar
PavelBegunkov committed
							<td class="info col_autopass_{{ col }}" id="autopass_{{ headerRate[i][j].SubmoduleID }}"></td>
						{% endif %}
					{% endif %}
				{% endfor %}
			{% endfor %}
			
PavelBegunkov's avatar
PavelBegunkov committed
			<td class="info"></td>
			<td class="info"></td>
Антон Шалимов's avatar
Антон Шалимов committed
		{% set row = 0 %}
		{% for group in rateTable %}
Антон Шалимов's avatar
Антон Шалимов committed
			<tr id="group_{{ group.GroupID }}" class="group_{{ group.GroupID }}">
				<td class="group" colspan="{{ columnsCount }}">
					{% if group.isAttached == 1 %} {{ group.GradeTitle }} {% endif %}{{ group.GroupNum }} группа.
Антон Шалимов's avatar
Антон Шалимов committed
					<span class="downloadExcelStatement" id="group_{{ group.GroupID }}">Скачать ведомость</span>
Антон Шалимов's avatar
Антон Шалимов committed
			</tr>
Антон Шалимов's avatar
Антон Шалимов committed
			{% for student in group.Students %}
				{% set row = row + 1 %}
PavelBegunkov's avatar
PavelBegunkov committed
				{% set col = 1 %}
Антон Шалимов's avatar
Антон Шалимов committed
				<tr id="row_{{ row }}" class="group_{{ group.GroupID }}">
PavelBegunkov's avatar
PavelBegunkov committed
					<td id="student_{{ student.ID }}" class="studentCell staticCell">{{ student.LastName }} {{ student.FirstName }}</td>
Антон Шалимов's avatar
Антон Шалимов committed
					<td class="semesterRateResultCell staticCell">{{ student.RateSemesterResult }}</td>
					{% set autoPassNotAdded = true %}
						{% set col = col + 1 %}
Антон Шалимов's avatar
Антон Шалимов committed
						{% if r.ModuleType == 'exam' %}
							{% set td_class = 'attemptCell' %}
						{% endif %}
						{% if r.ModuleType == 'extra' %}
							{% set td_class = 'additionalCell' %}
						{% endif %}					

						{% if r.Block == 'True' or (r.ModuleType != 'extra' and student.RateResult < 38) %}
							<td class="{{ td_class }}" id="col_{{ col }}_row_{{ row }}">
Антон Шалимов's avatar
Антон Шалимов committed
								<input type="text" value="{{ r.Rate  }}" disabled="disabled">
							</td>
						{% else %}
							<td class="commonCell {{ td_class }}" id="col_{{ col }}_row_{{ row }}"> 
								<input type="text" value="{{ r.Rate  }}" 
									{% if r.ModuleType == 'extra' %}
										{% if r.MaxRate > 0 %}
											placeholder="макс. {{r.MaxRate}}" 
										{% else %} 
											placeholder="---" 
											disabled="disabled" 
										{% endif %}
									{% endif %}
								>
							</td>
						{% endif %}
						
						{% if r.ModuleType == 'exam' %}
							<td class="absenceCell {{ td_class }}" id="absence_{{col}}_{{row}}">
								<input type="checkbox" class="absenceCheck"
								{% if r.ExamPeriodOption == 'absence' %} checked="true" {% endif %}>
							</td>
							
							{% if autoPassNotAdded %}
								<td class="autoPass {{ td_class }}" id="autopass_{{col}}_{{row}}">
									<input type="checkbox" class="autoPassCheck"
									{% if r.ExamPeriodOption == 'pass' %} checked="true" {% endif %}>
								</td>
								{% set autoPassNotAdded = false %}
							{% endif %}
						{% endif %}
						
Антон Шалимов's avatar
Антон Шалимов committed
					{% endfor %}
					<td class="bonus staticCell" >{% if student.Bonus is null %}0{% else %}{{ student.Bonus }}{% endif %} </td>
					<td class="rateResultCell staticCell">{% if student.RateResult + student.Bonus > 100 %} 100+ {% else %} {{ student.RateResult + student.Bonus }} {% endif %}</td>
Антон Шалимов's avatar
Антон Шалимов committed
				</tr>
			{% endfor %} 
 		{% endfor %}
Антон Шалимов's avatar
Антон Шалимов committed
	</table>
Антон Шалимов's avatar
Антон Шалимов committed
	<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">
Антон Шалимов's avatar
Антон Шалимов committed
	</div>
	<input type="hidden" id="pageType" value="exam"/> 
Антон Шалимов's avatar
Антон Шалимов committed
{% endblock %}