Skip to content
Snippets Groups Projects
Commit cee06778 authored by PavelBegunkov's avatar PavelBegunkov
Browse files

...

parent 1ddccdf1
Branches
Tags
No related merge requests found
...@@ -72,21 +72,40 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { ...@@ -72,21 +72,40 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi {
$students = $db->getStudentsForDiscipline($this->UserInfo['TeacherID'], $id); $students = $db->getStudentsForDiscipline($this->UserInfo['TeacherID'], $id);
$stdHandled = array(); $stdHandled = array();
$attachStdHandled = array(); $attachStdHandled = array();
$groupID = 0; $i = 0; $k = 0; $groupID = 0;
$i = 0;
$k = 0;
foreach($students as $row) { foreach($students as $row) {
if ($row['Type'] == 'attach'){ if ($row['Type'] == 'attach'){
$k++; if ($row['GroupID'] != $groupID) {
$attachStdHandled['StdCount'] += 1; $groupID = $row['GroupID'];
$attachStdHandled[$k]['StudentID'] = $row['StudentID']; $k++;
$attachStdHandled[$k]['LastName'] = $row['LastName']; $n = 0;
$attachStdHandled[$k]['FirstName'] = $row['FirstName']; $attachStdHandled[$k]['GroupID'] = $row['GroupID'];
$attachStdHandled[$k]['SecondName'] = $row['SecondName']; $attachStdHandled[$k]['GradeID'] = $row['GradeID'];
$attachStdHandled[$k]['StudentID'] = $row['StudentID']; $attachStdHandled[$k]['GradeNum'] = $row['GradeNum'];
$attachStdHandled[$k]['GroupID'] = $row['GroupID']; $attachStdHandled[$k]['GroupNum'] = $row['GroupNum'];
$attachStdHandled[$k]['GradeID'] = $row['GradeID']; $attachStdHandled[$k]['Degree'] = DataArray::factory('Students')->getDegreeTitle($row['Degree']);
$attachStdHandled[$k]['GradeNum'] = $row['GradeNum']; }
$attachStdHandled[$k]['GroupNum'] = $row['GroupNum']; $n++;
$attachStdHandled[$k]['Degree'] = $row['Degree']; $attachStdHandled[$k]['students'][$n]['StudentID'] = $row['StudentID'];
$attachStdHandled[$k]['students'][$n]['LastName'] = $row['LastName'];
$attachStdHandled[$k]['students'][$n]['FirstName'] = $row['FirstName'];
$attachStdHandled[$k]['students'][$n]['SecondName'] = $row['SecondName'];
$attachStdHandled[$k]['students'][$n]['Type'] = $row['Type'];
// $k++;
// $attachStdHandled['StdCount'] += 1;
// $attachStdHandled[$k]['StudentID'] = $row['StudentID'];
// $attachStdHandled[$k]['LastName'] = $row['LastName'];
// $attachStdHandled[$k]['FirstName'] = $row['FirstName'];
// $attachStdHandled[$k]['SecondName'] = $row['SecondName'];
// $attachStdHandled[$k]['StudentID'] = $row['StudentID'];
// $attachStdHandled[$k]['GroupID'] = $row['GroupID'];
// $attachStdHandled[$k]['GradeID'] = $row['GradeID'];
// $attachStdHandled[$k]['GradeNum'] = $row['GradeNum'];
// $attachStdHandled[$k]['GroupNum'] = $row['GroupNum'];
// $attachStdHandled[$k]['Degree'] = $row['Degree'];
} }
else else
{ {
...@@ -101,11 +120,11 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { ...@@ -101,11 +120,11 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi {
$stdHandled[$i]['Degree'] = DataArray::factory('Students')->getDegreeTitle($row['Degree']); $stdHandled[$i]['Degree'] = DataArray::factory('Students')->getDegreeTitle($row['Degree']);
} }
$j++; $j++;
$stdHandled[$i][$j]['StudentID'] = $row['StudentID']; $stdHandled[$i]['students'][$j]['StudentID'] = $row['StudentID'];
$stdHandled[$i][$j]['LastName'] = $row['LastName']; $stdHandled[$i]['students'][$j]['LastName'] = $row['LastName'];
$stdHandled[$i][$j]['FirstName'] = $row['FirstName']; $stdHandled[$i]['students'][$j]['FirstName'] = $row['FirstName'];
$stdHandled[$i][$j]['SecondName'] = $row['SecondName']; $stdHandled[$i]['students'][$j]['SecondName'] = $row['SecondName'];
$stdHandled[$i][$j]['Type'] = $row['Type']; $stdHandled[$i]['students'][$j]['Type'] = $row['Type'];
} }
} }
......
...@@ -17,13 +17,41 @@ ...@@ -17,13 +17,41 @@
</div> </div>
{% endmacro %} {% endmacro %}
{% macro outputGroups(Groups, HTML) %}
{% for group in Groups %}
<div>
<div class="GradeAndGroupTitle ActionShowHideGroupContainer" id="{{ group.GroupID }}">
<span class="info">{{ group.Degree }}, курс {{ group.GradeNum }} группа {{ group.GroupNum }}</span>
<span class="Action">Открыть список ▼</span>
</div>
<div class="GroupContainer">
<div class="hideListAction"></div>
{% for student in group.students %}
{# {{ idx.outputStudent(student, HTML) }} #}
<div id="{{ student.ID }}" class="Student {% if student.Type == 'detach' %}StatusUnbind{% else %}StatusBind{% endif %}">
<span class="Name">{{ student.LastName }} {{ student.FirstName }} {{ student.SecondName }}</span>
{% if student.Type == 'detach' %}
<button class="action Action_BindStudent">Прикрепить студента</button>
{% else %}
<button class="action Action_UnbindStudent">Отсоединить студента</button>
{% endif %}
</div>
{% endfor %}
</div>
</div>
{% endfor %}
{% endmacro %}
{% import 'teacher/discipline/EditStudents' as idx %} {% import 'teacher/discipline/EditStudents' as idx %}
{% block map_content %} {% block map_content %}
<div class="StudentsList"> <div class="StudentsList">
<input type="hidden" class="HiddenInputFacultyID" value="{{ Discipline.FacultyID }}"> <input type="hidden" class="HiddenInputFacultyID" value="{{ Discipline.FacultyID }}">
<div class="AttachedStudentsList"> {# <div class="AttachedStudentsList">
<h2 class="BlueTitle">Прикрепленные студенты</h2> <h2 class="BlueTitle">Прикрепленные студенты</h2>
{% set NowGroupNum = -1 %} {% set NowGroupNum = -1 %}
{% for Student in Students %} {% for Student in Students %}
...@@ -48,7 +76,26 @@ ...@@ -48,7 +76,26 @@
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</div> #}
<input type="hidden" class="HiddenInputFacultyID" value="{{ Discipline.FacultyID }}">
<div class="GeneralStudentsList">
<h2 class="BlueTitle">Прикрепленные студенты</h2>
{{ idx.outputGroups(Students, HTML) }}
</div>
<br>
<div class="AttachedStudentsList">
<h2 class="BlueTitle">Еще студенты</h2>
{{ idx.outputGroups(AttachStudents, HTML) }}
</div> </div>
<div class="SearchStudents"> <div class="SearchStudents">
<h2 class="BlueTitle">Поиск студентов</h2> <h2 class="BlueTitle">Поиск студентов</h2>
<div class="SearchSettings"> <div class="SearchSettings">
......
...@@ -39,14 +39,14 @@ var jConfirmPrototype = $($.parseHTML( ...@@ -39,14 +39,14 @@ var jConfirmPrototype = $($.parseHTML(
)); ));
// Шаблон мероприятия // Шаблон мероприятия
function GetSubmoduleTmp(){ function ConstructSubmodule(){
return jSubmodulePrototype.clone(); return jSubmodulePrototype.clone();
} }
// Шаблон модуля // Шаблон модуля
function GetModuleTmp() { function ConstructModule() {
var ret = jModulePrototype.clone(); var ret = jModulePrototype.clone();
ret.children('div.submodules').append(GetSubmoduleTmp()); ret.children('div.submodules').append(ConstructSubmodule());
return ret; return ret;
}; };
...@@ -248,9 +248,9 @@ var jConfirmPrototype = $($.parseHTML( ...@@ -248,9 +248,9 @@ var jConfirmPrototype = $($.parseHTML(
if(data.success === true) { if(data.success === true) {
var place = $('.moduleList').children('.moduleGroup').last(); var place = $('.moduleList').children('.moduleGroup').last();
if (place.length > 0) if (place.length > 0)
place.after(GetModuleTmp()); place.after(ConstructModule());
else { else {
$('div.moduleList').prepend(GetModuleTmp()); $('div.moduleList').prepend(ConstructModule());
} }
// К добавленному модулю добавляем ID // К добавленному модулю добавляем ID
...@@ -285,7 +285,7 @@ var jConfirmPrototype = $($.parseHTML( ...@@ -285,7 +285,7 @@ var jConfirmPrototype = $($.parseHTML(
data = $.parseJSON(data); data = $.parseJSON(data);
if(data.success === true) { if(data.success === true) {
// К добавленному мероприятию добавляем ID // К добавленному мероприятию добавляем ID
jSubmodulesDIV.append(GetSubmoduleTmp()); jSubmodulesDIV.append(ConstructSubmodule());
jSubmodulesDIV.children('div.submodule').eq(orderNum - 1).attr('id', data.submoduleID); jSubmodulesDIV.children('div.submodule').eq(orderNum - 1).attr('id', data.submoduleID);
EventInspector_ShowMsg('Мероприятие добавлено', 'success'); EventInspector_ShowMsg('Мероприятие добавлено', 'success');
} else EventInspector_ShowMsg('Ошибка при добавлении мероприятия', 'error'); } else EventInspector_ShowMsg('Ошибка при добавлении мероприятия', 'error');
......
...@@ -5,38 +5,30 @@ $(function() { ...@@ -5,38 +5,30 @@ $(function() {
var jStudentPrototype = $($.parseHTML( var jStudentPrototype = $($.parseHTML(
"<div id='0' class='Student'>\ "<div id='0' class='Student'>\
<span class='Name'></span> \ <span class='Name'></span> \
<span class='From'></span> \ <span id='0' class='From'></span> \
<button class='action'></button> \ <button class='action'></button> \
</div>" </div>"
)); ));
// Поиск студентов // Поиск студентов
function AddStudent(ID, name, from, groupID, bind, attached){ function ConstructStudent(ID, name, from, groupID, bind){
var jStudent = jStudentPrototype.clone(); var jStudent = jStudentPrototype.clone();
var jStudentSib = jStudent.children(); var jStudentSib = jStudent.children();
if (bind === true) { if (bind === true) {
var status = "StatusBind"; var status = "StatusBind";
var actionDesc = "Отсоединить студента"; var actionDesc = "Отсоединить студента";
if (attached === true) { var action = "Action_UnbindStudent";
var action = "Action_UnbindStudentFromSearch";
} else {
var action = "Action_UnbindStudent";
}
} else { } else {
var status = "StatusUnbind"; var status = "StatusUnbind";
var actionDesc = "Прикрепить студента"; var actionDesc = "Прикрепить студента";
if (attached === true) { var action = "Action_BindStudent";
var action = "Action_BindStudentFromSearch";
} else {
var action = "Action_BindStudent";
}
} }
jStudent.attr("id", ID); jStudent.attr("id", ID);
jStudent.addClass(status+" "+groupID); jStudent.addClass(status+" "+groupID);
jStudentSib.filter("span.Name").html(name); jStudentSib.filter("span.Name").html(name);
jStudentSib.filter("span.From").html(from); jStudentSib.filter("span.From").attr("id",groupID).html(from);
jStudentSib.filter("button.action").addClass(action).html(actionDesc); jStudentSib.filter("button.action").addClass(action).html(actionDesc);
return jStudent; return jStudent;
...@@ -64,6 +56,7 @@ $(function() { ...@@ -64,6 +56,7 @@ $(function() {
var searchResult = $.parseJSON(searchResult); var searchResult = $.parseJSON(searchResult);
var jSearch = $(".SearchResult").first(); var jSearch = $(".SearchResult").first();
var i = 0; var i = 0;
jSearch.html();
var data = jSearch.clone(); var data = jSearch.clone();
$(".SearchResult").html(""); $(".SearchResult").html("");
for(i in searchResult) for(i in searchResult)
...@@ -71,9 +64,9 @@ $(function() { ...@@ -71,9 +64,9 @@ $(function() {
var ID = searchResult[i].ID; var ID = searchResult[i].ID;
var name = searchResult[i].LastName +" "+ searchResult[i].FirstName +" "+ searchResult[i].SecondName; var name = searchResult[i].LastName +" "+ searchResult[i].FirstName +" "+ searchResult[i].SecondName;
var from = "курс " + searchResult[i].GradeNum + ", группа " + searchResult[i].GroupNum; var from = "курс " + searchResult[i].GradeNum + ", группа " + searchResult[i].GroupNum;
var groupID = "GroupID_"+searchResult[i].GroupID; var groupID = searchResult[i].GroupID;
data.html(); data.html();
data.append(AddStudent(ID, name, from, groupID, false, true)); data.append(ConstructStudent(ID, name, from, groupID, false));
} }
if (i <= 0) if (i <= 0)
...@@ -143,7 +136,7 @@ $(function() { ...@@ -143,7 +136,7 @@ $(function() {
</div>"); </div>");
$(".AttachedStudentsList").append("<div class='GroupContainer "+GroupID+"' style='display: block'> </div>"); $(".AttachedStudentsList").append("<div class='GroupContainer "+GroupID+"' style='display: block'> </div>");
} }
$(".GroupContainer."+GroupID).append(AddStudent(ID, Name, From, GroupID, true, true)); $(".GroupContainer."+GroupID).append(ConstructStudent(ID, Name, From, GroupID, true));
jThis.parent().remove(); jThis.parent().remove();
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment