diff --git a/~dev_rating/application/classes/Controller/Handler/Map.php b/~dev_rating/application/classes/Controller/Handler/Map.php index 6ea0e44257fca3c8e85f81010a8941702d303817..f73c80a37eec8b10b759a7644ca5507a704c7eab 100644 --- a/~dev_rating/application/classes/Controller/Handler/Map.php +++ b/~dev_rating/application/classes/Controller/Handler/Map.php @@ -396,15 +396,18 @@ class Controller_Handler_Map extends Controller_Handler { public function action_SearchStudents() { $this->post -> rule('Grade', 'digit') -> rule('GroupN', 'digit') - -> rule('FacultyID', 'digit'); + -> rule('FacultyID', 'digit') + -> rule('DisciplineID', 'not_empty') + -> rule('DisciplineID', 'digit'); if($this->post->check()) { - $SeResult = $this->model->SearchStudents( + $SeResult = $this->model->SearchStudentsNew( $this->post->offsetGet('Grade'), $this->post->offsetGet('GroupN'), $this->post->offsetGet('FacultyID'), $this->post->offsetGet('Last'), $this->post->offsetGet('First'), - $this->post->offsetGet('Second') + $this->post->offsetGet('Second'), + $this->post->offsetGet('DisciplineID') ); $SearchResult = array(); $i = 0; @@ -478,14 +481,17 @@ class Controller_Handler_Map extends Controller_Handler { // Поиск преподавателей public function action_SearchTeachers() { - $this->post -> rule('DepartmentID', 'digit'); + $this->post -> rule('DepartmentID', 'digit') + -> rule('DisciplineID', 'not_empty') + -> rule('DisciplineID', 'digit'); if($this->post->check()) { - $SeResult = $this->model->SearchTeachers( + $SeResult = $this->model->SearchTeacherNew( $this->post->offsetGet('FacultyID'), $this->post->offsetGet('DepartmentID'), $this->post->offsetGet('Last'), $this->post->offsetGet('First'), - $this->post->offsetGet('Second') + $this->post->offsetGet('Second'), + $this->post->offsetGet('DisciplineID') ); $SearchResult = array(); $i = 0; diff --git a/~dev_rating/application/classes/Controller/Teacher/Map.php b/~dev_rating/application/classes/Controller/Teacher/Map.php index 49dc2458cf0b3c08c1eaab697142b216995cb096..bfcbfa6142d6742a7bcd0ea93e98aea793bb1f54 100644 --- a/~dev_rating/application/classes/Controller/Teacher/Map.php +++ b/~dev_rating/application/classes/Controller/Teacher/Map.php @@ -113,39 +113,41 @@ class Controller_Teacher_Map extends Controller_UserEnvi { $twig->BindTeachersList = $this->GetTeachersForDiscipline($db, $id); $twig->FacultiesList = $this->GetFaculties($db); $twig->Departments = $this->GetDepartments($db, $twig->Discipline['FacultyID']); - $twig->TeachersList = $this->GetTeachersByDepartment($db, $twig->Discipline['DepID']); + //$twig->TeachersList = $this->GetTeachersByDepartment($db, $twig->Discipline['DepID']); $this->response->body($twig); } private function getMapInfo($map) { + echo Debug::vars($map); + $mapHandled = array(); $maxRate = 0; $i = 0; $module = 0; foreach($map as $row) { - if($row['ModuleID'] != $module) - { - $i++; - $module = $row['ModuleID']; + if($row['ModuleID'] != $module) + { + $i++; + $module = $row['ModuleID']; $mapHandled[$i]['ModuleID'] = $row['ModuleID']; $mapHandled[$i]['CurrentControl'] = 0; $mapHandled[$i]['LandmarkControl'] = 0; - } - if(!isset($mapHandled[$i]['SubmodulesCount'])) - { - $mapHandled[$i]['SubmodulesCount'] = 0; - $mapHandled[$i]['MaxRate'] = 0; - } - $j = $mapHandled[$i]['SubmodulesCount'] += 1; - $mapHandled[$i]['MaxRate'] += (int) $row['MaxRate']; - $mapHandled[$i]['ModuleTitle'] = $row['ModuleName']; + } + if(!isset($mapHandled[$i]['SubmodulesCount'])) + { + $mapHandled[$i]['SubmodulesCount'] = 0; + $mapHandled[$i]['MaxRate'] = 0; + } + $j = $mapHandled[$i]['SubmodulesCount'] += 1; + $mapHandled[$i]['MaxRate'] += (int) $row['MaxRate']; + $mapHandled[$i]['ModuleTitle'] = $row['ModuleName']; $mapHandled[$i][$j]['SubmoduleID'] = $row['SubmoduleID']; - $mapHandled[$i][$j]['Title'] = $row['SubModuleName']; - $mapHandled[$i][$j]['Description'] = $row['SubmoduleDescription']; + $mapHandled[$i][$j]['Title'] = $row['SubModuleName']; + $mapHandled[$i][$j]['Description'] = $row['SubmoduleDescription']; $mapHandled[$i][$j]['SubmoduleControl'] = $row['SubmoduleControl']; - $mapHandled[$i][$j]['MaxRate'] = (int) $row['MaxRate']; - $maxRate += $row['MaxRate']; + $mapHandled[$i][$j]['MaxRate'] = (int) $row['MaxRate']; + $maxRate += $row['MaxRate']; if ($row['SubmoduleControl'] == 'CurrentControl') $mapHandled[$i]['CurrentControl'] += (int) $row['MaxRate']; if ($row['SubmoduleControl'] == 'LandmarkControl') diff --git a/~dev_rating/application/classes/Model/Teacher/Map.php b/~dev_rating/application/classes/Model/Teacher/Map.php index 1ae782c7d883763137330b8b10c3461a25d0f398..763b1947bef25aa4c502d8f0bb1aa7abf8066675 100644 --- a/~dev_rating/application/classes/Model/Teacher/Map.php +++ b/~dev_rating/application/classes/Model/Teacher/Map.php @@ -212,8 +212,19 @@ class Model_Teacher_Map extends Model return DB::query(Database::SELECT, $sql)->execute(); } + public function SearchStudentsNew($Grade, $GroupN, $FacultyID, $Last, $First, $Second, $DisciplineID) + { + $sql = "CALL `SearchStudentsNew`('$Grade', '$GroupN', '$FacultyID', '$Last', '$First', '$Second', '$DisciplineID'); "; + return DB::query(Database::SELECT, $sql)->execute(); + } + public function SearchTeachers($FacultyID, $DepartmentID, $Last, $First, $Second) { $sql = "CALL `SearchTeachers`('$FacultyID', '$DepartmentID', '$Last', '$First', '$Second'); "; return DB::query(Database::SELECT, $sql)->execute(); } + + public function SearchTeacherNew($FacultyID, $DepartmentID, $Last, $First, $Second, $DisciplineID) { + $sql = "CALL `SearchTeacherNew`('$FacultyID', '$DepartmentID', '$Last', '$First', '$Second', '$DisciplineID'); "; + return DB::query(Database::SELECT, $sql)->execute(); + } } diff --git a/~dev_rating/application/views/teacher/map/EditStructure.twig b/~dev_rating/application/views/teacher/map/EditStructure.twig index f1216f3482e30d7bbcb2d36398af40345c98e852..6c38f65d857f9b5691b9954f9a110509c03b8414 100644 --- a/~dev_rating/application/views/teacher/map/EditStructure.twig +++ b/~dev_rating/application/views/teacher/map/EditStructure.twig @@ -15,7 +15,7 @@ <div class="moduleGroup" id="{{ Map[i].ModuleID }}"> <div class="moduleHead"> <div class="name"> - <input type="text" class="inputName ModuleName" value="{{ Map[i].ModuleTitle }}"> + <input type="text" class="inputName ModuleName" value="{{ Map[i].ModuleTitle }}" > </div> <div class="currentControl">{{ Map[i].CurrentControl }}</div> <div class="landmarkControl">{{ Map[i].LandmarkControl }}</div> diff --git a/~dev_rating/media/css/construct.css b/~dev_rating/media/css/construct.css index 6b37a7b8f3f55725035a9723acafa0e32739b1d9..e4e096a9e764a71664d1bf400c616a9dfa749a20 100644 --- a/~dev_rating/media/css/construct.css +++ b/~dev_rating/media/css/construct.css @@ -25,13 +25,13 @@ display: inline; float: left; margin: 2px 3px 2px 0px; - } - .tabs .tab a:link{ + } + .tabs .tab a { display: block; background: #EEEEEE; padding: 5px 12px; font-size: 13px; - color: #333; + color: #0183ce; } .tabs .tab a:hover { background-color: #3399CC; diff --git a/~dev_rating/media/js/construct/edit.js b/~dev_rating/media/js/construct/edit.js index 34c0d61555a42d8722e4dbda3e4308da81870037..2cba75abd9036e72d93922c48b38eb637fda7248 100644 --- a/~dev_rating/media/js/construct/edit.js +++ b/~dev_rating/media/js/construct/edit.js @@ -524,7 +524,8 @@ function CallSearchStudents() { 'FacultyID': FacultyID, 'Last': Name[0], 'First': Name[1], - 'Second': Name[2] + 'Second': Name[2], + 'DisciplineID': DisciplineID }, function(data){ SearchResult = $.parseJSON(data); @@ -571,6 +572,13 @@ $('.InputStudentName').focusout(function(){ CallSearchStudents(); }); +$('.SelectGrade').focusout(function(){ + $('.SelectGrade').trigger('change'); +}); +$('.SelectStudyGroup').focusout(function(){ + $('.SelectStudyGroup').trigger('change'); +}); + // Прикрепить студента $('.StudentsList').on('click', '.Action_BindStudent', function(){ $(this) @@ -649,7 +657,8 @@ function CallSearchTeachers(){ 'DepartmentID': $('.SelectDepartment').val(), 'Last': Name[0], 'First': Name[1], - 'Second': Name[2] + 'Second': Name[2], + 'DisciplineID': DisciplineID }, function(data){ SearchResult = $.parseJSON(data); @@ -696,6 +705,14 @@ $('.SelectDepartment ').change(function(){ $('.InputTeacherName').focusout(function(){ CallSearchTeachers(); }); + +$('.SelectFaculty').focusout(function(){ + $('.SelectFaculty').trigger('change'); +}); +$('.SelectDepartment').focusout(function(){ + $('.SelectDepartment').trigger('change'); +}); + // Конец поиска преподавателей // Отсоединить преподавателя