From 69ccccac6ddb5e6d915b7ab0c253429b3988154f Mon Sep 17 00:00:00 2001
From: Shalimov Anton <solidovic@yandex.ru>
Date: Thu, 21 Aug 2014 00:58:08 +0400
Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20=D0=B4?=
 =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4?=
 =?UTF-8?q?=D0=B8=D1=81=D1=86=D0=B8=D0=BF=D0=BB=D0=B8=D0=BD=D1=8B=20=D0=9F?=
 =?UTF-8?q?=D0=BE=D0=B4=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=80=D0=B5?=
 =?UTF-8?q?=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?=
 =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=B8=D1=81=D1=86=D0=B8=D0=BF=D0=BB=D0=B8?=
 =?UTF-8?q?=D0=BD=D1=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../classes/Controller/Teacher/Map.php        | 106 +++++++++---------
 application/classes/Model/Teacher/Map.php     |  10 +-
 application/views/teacher/map/create.twig     |  10 +-
 application/views/teacher/map/edit.twig       |  10 +-
 media/js/construct/create.js                  |  13 +--
 media/js/construct/edit.js                    |  14 +--
 6 files changed, 85 insertions(+), 78 deletions(-)

diff --git a/application/classes/Controller/Teacher/Map.php b/application/classes/Controller/Teacher/Map.php
index aecfd09f4..89d4e06ac 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 fdcc2d6d0..76b707594 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 4593a1966..d954d89f8 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 e995ed276..272537559 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 e7b8c92f0..e7e7f882b 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 e3dbe2d78..751245931 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);
-- 
GitLab