diff --git a/application/classes/Controller/Teacher/Map.php b/application/classes/Controller/Teacher/Map.php index aecfd09f466f19638688fb0a78ff6bc63f55b53b..89d4e06ac55510fbf6558a09f31f754e9c1cae9c 100644 --- a/application/classes/Controller/Teacher/Map.php +++ b/application/classes/Controller/Teacher/Map.php @@ -2,6 +2,37 @@ class Controller_Teacher_Map extends Controller_UserEnvi { + private $GradesList = array( + 1 => array( + 'ID' => '1', + 'Title' =>'РљСѓСЂСЃ 1' + ), + 2 => array( + 'ID' => '2', + 'Title' =>'РљСѓСЂСЃ 2' + ), + 3 => array( + 'ID' => '3', + 'Title' =>'РљСѓСЂСЃ 3' + ), + 4 => array( + 'ID' => '4', + 'Title' =>'РљСѓСЂСЃ 4' + ), + 5 => array( + 'ID' => '5', + 'Title' =>'РљСѓСЂСЃ 6' + ), + 6 => array( + 'ID' => '6', + 'Title' =>'Магистратура 1' + ), + 7=> array( + 'ID' => '7', + 'Title' =>'Магистратура 2' + ) + ); + public function action_show() { $twig = Twig::factory('teacher/map/show'); @@ -11,7 +42,7 @@ class Controller_Teacher_Map extends Controller_UserEnvi { if($map->count() == 0) throw HTTP_Exception::factory(404, "Учебная карта дисциплины СЃ ID $id РЅРµ найдена!"); - + $twig->User = $this->UserInfo; $twig->Map = $this->getMapInfo($map); $twig->Subject = $this->getSubjectInfo($db, $id); @@ -21,8 +52,13 @@ class Controller_Teacher_Map extends Controller_UserEnvi { public function action_create() { $twig = Twig::factory('teacher/map/create'); + $db = new Model_Teacher_Map; $twig->User = $this->UserInfo; - + $twig->SubjectsList = $this->GetSubjectsList($db); + $twig->GradesList = $this->GradesList; + + echo Debug::vars($this->UserInfo); + $this->response->body($twig); } @@ -36,54 +72,8 @@ class Controller_Teacher_Map extends Controller_UserEnvi { $twig->User = $this->UserInfo; $twig->Map = $this->getMapInfo($map); $twig->Discipline = $this->getSubjectInfo($db, $id); - $twig->SubjectsList = array( - 1 => array( - 'ID' => '1', - 'Title' =>'Математический анализ' - ), - 2 => array( - 'ID' => '2', - 'Title' =>'Дифференциальные уравнения' - ), - 3 => array( - 'ID' => '3', - 'Title' =>'Операционные системы' - ), - 4 => array( - 'ID' => '4', - 'Title' =>'Топология' - ) - ); - $twig->GradesList = array( - 1 => array( - 'ID' => '1', - 'Title' =>'РљСѓСЂСЃ 1' - ), - 2 => array( - 'ID' => '2', - 'Title' =>'РљСѓСЂСЃ 2' - ), - 3 => array( - 'ID' => '3', - 'Title' =>'РљСѓСЂСЃ 3' - ), - 4 => array( - 'ID' => '4', - 'Title' =>'РљСѓСЂСЃ 4' - ), - 5 => array( - 'ID' => '5', - 'Title' =>'РљСѓСЂСЃ 6' - ), - 6 => array( - 'ID' => '6', - 'Title' =>'Магистратура 1' - ), - 7=> array( - 'ID' => '7', - 'Title' =>'Магистратура 2' - ) - ); + $twig->SubjectsList = $this->GetSubjectsList($db); + $twig->GradesList = $this->GradesList; $this->response->body($twig); } @@ -168,5 +158,21 @@ class Controller_Teacher_Map extends Controller_UserEnvi { return $subject; } + + private function GetSubjectsList($db) + { + $list = $db->GetSubjectList(); + + $SubjectsList = array(); $i = 0; + + foreach ($list as $row) { + $i++; + $SubjectsList[$i]['ID'] = $row['ID']; + $SubjectsList[$i]['Title'] = $row['Name']; + $SubjectsList[$i]['Abbr'] = $row['Abbr']; + } + + return $SubjectsList; + } } \ No newline at end of file diff --git a/application/classes/Model/Teacher/Map.php b/application/classes/Model/Teacher/Map.php index fdcc2d6d0c4ab8330fe2325d118da42416b17a0e..76b707594182cdb825da3ec5643d1db50227251b 100644 --- a/application/classes/Model/Teacher/Map.php +++ b/application/classes/Model/Teacher/Map.php @@ -92,9 +92,9 @@ class Model_Teacher_Map extends Model return DB::query(Database::SELECT, $sql)->execute(); } - public function AddDiscipline($teacherID, $Grade, $SubjectID, $ExamType, $LectionCount, $PracticeCount) + public function AddDiscipline($teacherID, $Grade, $SubjectID, $ExamType, $LectionCount, $PracticeCount, $DepartmentID) { - $sql = "SELECT `AddDiscipline`('$teacherID', '$Grade', '$SubjectID', '$ExamType', '$LectionCount', '$PracticeCount') AS `Num`;"; + $sql = "SELECT `AddDiscipline`('$teacherID', '$Grade', '$SubjectID', '$ExamType', '$LectionCount', '$PracticeCount', '$DepartmentID') AS `Num`;"; return DB::query(Database::SELECT, $sql)->execute(); } @@ -103,4 +103,10 @@ class Model_Teacher_Map extends Model $sql = "SELECT `ChangeDiscipline`('$teacherID', '$DisciplineID', '$ExamType', '$LectionCount', '$PracticeCount', '$Grade', '$SubjectID') AS `Num`;"; return DB::query(Database::SELECT, $sql)->execute(); } + + public function GetSubjectList() + { + $sql = "CALL `GetSubjectList`(); "; + return DB::query(Database::SELECT, $sql)->execute(); + } } diff --git a/application/views/teacher/map/create.twig b/application/views/teacher/map/create.twig index 4593a196621b0ca701d3243db7345e9cd57aa08a..d954d89f843c29fbe22f679985b99056162559c8 100644 --- a/application/views/teacher/map/create.twig +++ b/application/views/teacher/map/create.twig @@ -29,10 +29,10 @@ </select> </div> <div class="section"> - <select class="department"> - <option value="0">Выберите кафедру:</option> + <select class="SelectDepartment"> + <option value="{{ User.DepartmentID }}">{{ User.DepartmentName }}</option> </select> - <select class="Grade"> + <select class="SelectGrade"> <option value="0">Выберите РєСѓСЂСЃ:</option> {% for Grade in GradesList %} <option value="{{ Grade.ID }}" >{{ Grade.Title }}</option> @@ -46,9 +46,9 @@ </div> <div class="section"> <div class="item title">Лекционных часов:</div> - <div class="item"><input class="inputLectionCount" style="width: 50px;" value="0"></div> + <div class="item"><input class="InputLectionCount" style="width: 50px;" value="0"></div> <div class="item title">Практических часов:</div> - <div class="item"><input class="inputPracticeCount" style="width: 50px;" value="0"></div> + <div class="item"><input class="InputPracticeCount" style="width: 50px;" value="0"></div> </div> <button class="AddDiscipline">Добавить</button> </div> diff --git a/application/views/teacher/map/edit.twig b/application/views/teacher/map/edit.twig index e995ed2769540a01163e63057c7d3bd35f38e0aa..272537559e42742917df0bf9f141dd55136776ee 100644 --- a/application/views/teacher/map/edit.twig +++ b/application/views/teacher/map/edit.twig @@ -27,10 +27,10 @@ </select> </div> <div class="section"> - <select class="department"> - <option value="0">Выберите кафедру:</option> + <select class="SelectDepartment"> + <option value="{{ User.DepartmentID }}">{{ User.DepartmentName }}</option> </select> - <select class="Grade"> + <select class="SelectGrade"> <option value="0">Выберите РєСѓСЂСЃ:</option> {% for Grade in GradesList %} <option value="{{ Grade.ID }}" {% if Grade.ID == Discipline.GradeID %}selected{% endif %}>{{ Grade.Title }}</option> @@ -44,9 +44,9 @@ </div> <div class="section"> <div class="item title">Лекционных часов:</div> - <div class="item"><input class="inputLectionCount" style="width: 50px;" value="{{ Discipline.LectureHours }}"></div> + <div class="item"><input class="InputLectionCount" style="width: 50px;" value="{{ Discipline.LectureHours }}"></div> <div class="item title">Практических часов:</div> - <div class="item"><input class="inputPracticeCount" style="width: 50px;" value="{{ Discipline.PracticeHours }}"></div> + <div class="item"><input class="InputPracticeCount" style="width: 50px;" value="{{ Discipline.PracticeHours }}"></div> </div> <button class="ChangeDiscipline">Сохранить</button> </div> diff --git a/media/js/construct/create.js b/media/js/construct/create.js index e7b8c92f05c6cf176dfebc84a131efae87441ed6..e7e7f882be3dc2069d141be7f38312eaff6cb8f7 100644 --- a/media/js/construct/create.js +++ b/media/js/construct/create.js @@ -6,12 +6,12 @@ $(function() { $.post( '/~dev_rating/handler/map/AddDiscipline', { - 'Grade': $('.Grade').val(), - 'SubjectID': $('.subject').val(), - 'ExamType': $('.ExamType').val(), - 'LectionCount': $('.inputLectionCount').val(), - 'PracticeCount': $('.inputPracticeCount').val(), - 'DepartmentID': DepartmentID + 'Grade': $('.SelectGrade').val(), + 'SubjectID': $('.SelectSubject').val(), + 'ExamType': $('input:radio[name=ExamType]:checked').val(), + 'LectionCount': $('.InputLectionCount').val(), + 'PracticeCount': $('.InputPracticeCount').val(), + 'DepartmentID': $('.SelectDepartment').val() }, function(data){ data = $.parseJSON(data); @@ -21,7 +21,6 @@ $(function() { } else alert('Error, AddDiscipline'); } ); - return false }); }); \ No newline at end of file diff --git a/media/js/construct/edit.js b/media/js/construct/edit.js index e3dbe2d783352700531e9b4b286858c7476544b5..751245931092428a84c76651f348ddb6e57eacef 100644 --- a/media/js/construct/edit.js +++ b/media/js/construct/edit.js @@ -2,7 +2,7 @@ var $ = jQuery; $(function() { var URL = (window.location.href).split('/'); var DisciplineID = URL[URL.length - 1] - + // Шаблон мероприятия function GetSubModuleTmp(){ return '\ @@ -167,20 +167,16 @@ $(function() { // Рзменения базовых параметров дисциплины $(".ChangeDiscipline").click(function(){ - //alert(DisciplineID); - //alert($('.Grade').val()); - //alert($('input:radio[name=ExamType]:checked').val()); - //alert($('.inputLectionCount').val()); - //alert($('.inputPracticeCount').val()); $.post( '/~dev_rating/handler/map/ChangeDiscipline', { 'DisciplineID': DisciplineID, - 'Grade': $('.Grade').val(), + 'Grade': $('.SelectGrade').val(), 'SubjectID': $('.SelectSubject').val(), 'ExamType': $('input:radio[name=ExamType]:checked').val(), - 'LectionCount': $('.inputLectionCount').val(), - 'PracticeCount': $('.inputPracticeCount').val() + 'LectionCount': $('.InputLectionCount').val(), + 'PracticeCount': $('.InputPracticeCount').val(), + 'DepartmentID': $('.SelectDepartment').val() }, function(data){ data = $.parseJSON(data);