From c92758fb9766d4c5ff1f60e1874cc1a082ebbc8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A8=D0=B0=D0=BB=D0=B8?=
 =?UTF-8?q?=D0=BC=D0=BE=D0=B2?= <solidovic@gmail.com>
Date: Wed, 3 Sep 2014 21:37:59 +0400
Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BF=D1=80=D0=B0=D0=B2?=
 =?UTF-8?q?=D0=B8=D0=BB=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=83?=
 =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../classes/Controller/Handler/Map.php        |  2 +-
 .../classes/Controller/Teacher/Map.php        |  4 +-
 .../views/teacher/map/EditStructure.twig      | 82 +++++++++----------
 ~dev_rating/media/css/construct.css           | 22 ++++-
 ~dev_rating/media/js/construct/edit.js        | 16 ++--
 5 files changed, 71 insertions(+), 55 deletions(-)

diff --git a/~dev_rating/application/classes/Controller/Handler/Map.php b/~dev_rating/application/classes/Controller/Handler/Map.php
index f6b23bf81..4fb71a621 100644
--- a/~dev_rating/application/classes/Controller/Handler/Map.php
+++ b/~dev_rating/application/classes/Controller/Handler/Map.php
@@ -231,7 +231,7 @@ class Controller_Handler_Map extends Controller_Handler {
 						$this->post->offsetGet('ModuleID'),
 						'0', //MaxRate
 						$this->post->offsetGet('OrderNum'),
-						'Наименование мероприятия',
+						'',
 						'', //Description
 						'CurrentControl'
 					);
diff --git a/~dev_rating/application/classes/Controller/Teacher/Map.php b/~dev_rating/application/classes/Controller/Teacher/Map.php
index 1348ced72..615d9d921 100644
--- a/~dev_rating/application/classes/Controller/Teacher/Map.php
+++ b/~dev_rating/application/classes/Controller/Teacher/Map.php
@@ -56,7 +56,7 @@ class Controller_Teacher_Map extends Controller_UserEnvi {
 		
         $twig->User = $this->UserInfo; 
 		$twig->Discipline = $this->getDisciplineInfo($db, $id);
-        $twig->Map = $this->getMapInfo($db->getMapForDiscipline($this->UserInfo['TeacherID'], $id));
+        $twig->Map = $this->GetMapInfo($db->getMapForDiscipline($this->UserInfo['TeacherID'], $id));
 		
 		$this->response->body($twig);
 	}
@@ -106,7 +106,7 @@ class Controller_Teacher_Map extends Controller_UserEnvi {
 		$this->response->body($twig);
 	}
 	
-    private function getMapInfo($map) {
+    private function GetMapInfo($map) {
         $mapHandled = array();
         
         $maxRate = 0; $i = 0; $module = 0;
diff --git a/~dev_rating/application/views/teacher/map/EditStructure.twig b/~dev_rating/application/views/teacher/map/EditStructure.twig
index cd5a77f0d..4dce51172 100644
--- a/~dev_rating/application/views/teacher/map/EditStructure.twig
+++ b/~dev_rating/application/views/teacher/map/EditStructure.twig
@@ -8,55 +8,55 @@
 		<div class="name">Виды контрольных мероприятий</div>
 		<div class="currentControl">Текущий контроль</div>
 		<div class="landmarkControl">Рубежный контроль</div>
-		<div class="actions" style="text-align: right; padding-right: 30px;">Действия</div>
+		<div class="actions">Действия</div>
 	</div>
 	<div class="moduleList StructureTable">
 	{% for i in range(1, Map.ModulesCount) if Map.ModulesCount > 0 %}
-		<div class="moduleGroup" id="{{ Map[i].ModuleID }}">
-			<div class="moduleHead">
-				<div class="name">
-					{% if Map[i].isExam == '1' %}
-						{{ Map[i].ModuleTitle }}
-					{% else %}
-						<input type="text" class="inputName ModuleName" value="{{ Map[i].ModuleTitle }}" placeholder="Наименование модуля" >
-					{% endif %}
-				</div>
-				<div class="currentControl">{{ Map[i].CurrentControl }}</div>
-				<div class="landmarkControl">{{ Map[i].LandmarkControl }}</div>
-				{% if Map[i].isExam != '1' %}
-					<div class="actions">
-					{% if Discipline.isLocked != 1 %}
-						<div class="deleteModule icon delete"></div>
-					{% endif %}
-						<div class="downModule icon down"></div>
-						<div class="upModule icon up"></div>
-					{% if Discipline.isLocked != 1 %}
-						<div class="addSubModule icon add"></div>
-					{% endif %}
+		{% if Map[i].isExam != '1' %}
+			<div class="moduleGroup" id="{{ Map[i].ModuleID }}">
+				<div class="moduleHead">
+					<div class="name">
+						<input type="text" class="inputName ModuleName" placeholder="Наименование модуля" value="{{ Map[i].ModuleTitle }}" >
 					</div>
-				{% endif %}
-			</div>
-			{% if Map[i].isExam != '1' %}
-				<div class="subModules">
-				{% for j in range(1, Map[i].SubmodulesCount) if Map[i].SubmodulesCount > 0 %}
-					<div class="subModule" id="{{ Map[i][j].SubmoduleID }}">
-						<div class="name">
-							<input type="text" class="inputName SubmoduleName" value="{{ Map[i][j].Title }}" placeholder="Наименование мероприятия">
-						</div>
-						<div class="currentControl"><input type="text" class="inputCredit inputCurrentControl" value="{% if Map[i][j].SubmoduleControl == 'CurrentControl' %}{{ Map[i][j].MaxRate }}{% else %}0{% endif %}"></div>
-						<div class="landmarkControl"><input type="text" class="inputCredit inputLandmarkControl" value="{% if Map[i][j].SubmoduleControl == 'LandmarkControl' %}{{ Map[i][j].MaxRate }}{% else %}0{% endif %}"></div>
-						<div class="actions">
+					<div class="currentControl">{{ Map[i].CurrentControl }}</div>
+					<div class="landmarkControl">{{ Map[i].LandmarkControl }}</div>
 						{% if Discipline.isLocked != 1 %}
-							<div class="deleteSubModule icon delete"></div>
+							<div class="actions">
+								<div class="deleteModule icon delete"></div>
+								<div class="downModule icon down"></div>
+								<div class="upModule icon up"></div>
+								<div class="addSubModule icon add"></div>
+							</div>
 						{% endif %}
-							<div class="downSubModule icon down"></div>
-							<div class="upSubModule icon up"></div>
+				</div>
+				<div class="subModules">
+					{% for j in range(1, Map[i].SubmodulesCount) if Map[i].SubmodulesCount > 0 %}
+						<div class="subModule" id="{{ Map[i][j].SubmoduleID }}">
+							<div class="name">
+								<input type="text" class="inputName SubmoduleName" placeholder="Наименование мероприятия" value="{{ Map[i][j].Title }}">
+							</div>
+							<div class="currentControl"><input type="text" class="inputCredit inputCurrentControl" value="{% if Map[i][j].SubmoduleControl == 'CurrentControl' %}{{ Map[i][j].MaxRate }}{% else %}0{% endif %}"></div>
+							<div class="landmarkControl"><input type="text" class="inputCredit inputLandmarkControl" value="{% if Map[i][j].SubmoduleControl == 'LandmarkControl' %}{{ Map[i][j].MaxRate }}{% else %}0{% endif %}"></div>
+							{% if Discipline.isLocked != 1 %}
+								<div class="actions">
+									<div class="deleteSubModule icon delete"></div>
+									<div class="downSubModule icon down"></div>
+									<div class="upSubModule icon up"></div>
+								</div>
+							{% endif %}
 						</div>
-					</div>
-				{% endfor %}
+					{% endfor %}
+				</div>
+			</div>
+		{% else %}
+			<div class="ExamModule">
+				<div class="name">
+					{{ Map[i].ModuleTitle }}
 				</div>
-			{% endif %}
-		</div>
+				<div class="currentControl">0</div>
+				<div class="landmarkControl">{{ Map[i].MaxRate }}</div>
+			</div>
+		{% endif %}
 	{% else %}
 		<div class="empty"><p class="notification">Модули отсутствуют</p></div>
 	{% endfor %}
diff --git a/~dev_rating/media/css/construct.css b/~dev_rating/media/css/construct.css
index f1f049dde..3ae4e80c0 100644
--- a/~dev_rating/media/css/construct.css
+++ b/~dev_rating/media/css/construct.css
@@ -120,25 +120,30 @@
 		модуля и мероприятия (подмодуля)
 	*/
 	.StructureTable .name { /* Название */
-		width: 250px;
+		width: 300px;
 		float: left;
 		display: inline;
 		margin-right: 60px;
+		text-align: center;
 	}
 	.StructureTable .currentControl{ /* Текущий контроль */
 		width: 150px;
 		float: left;
 		display: inline;
+		text-align: center;
+		margin-right: 20px;
 	}
 	.StructureTable .landmarkControl{ /* Рубежный контроль */
 		width: 150px;
 		float: left;
 		display: inline;
+		text-align: center;
 	}
 	.StructureTable .actions{ /* Действия */
-		width: 160px;
+		width: 140px;
 		float: right;
 		display: inline;
+		text-align: center;
 	}
 		.actions .icon {
 			float: right;
@@ -169,7 +174,7 @@
 	
 	.inputName {
 		border: 0;
-		width: 240px;
+		width: 280px;
 		padding: 2px 10px;
 	}
 	.inputCredit {
@@ -182,7 +187,7 @@
 	/* Модуль */
 	.moduleHead {
 		background-color: #CDE8FD;
-		padding: 6px 21px;
+		padding: 6px 23px;
 	}
 	
 	/* Список мероприятий (подмодулей) */
@@ -194,6 +199,15 @@
 			padding: 6px 15px;
 			margin: 5px 8px
 		}
+	/* Экзамен */
+	.ExamModule {
+		background-color: #f3ece3;
+		margin: 5px 0 15px 0;
+		padding: 6px 23px;
+	}
+		.ExamModule .name {
+			text-align: left
+		}
 	
 	/* Кнопка добавления модуля */
 	.addModule {
diff --git a/~dev_rating/media/js/construct/edit.js b/~dev_rating/media/js/construct/edit.js
index 23a511d27..e124fed41 100644
--- a/~dev_rating/media/js/construct/edit.js
+++ b/~dev_rating/media/js/construct/edit.js
@@ -304,7 +304,7 @@ $(function() {
 	// Переместить вверх МОДУЛЬ
     $(".moduleList").on('click', '.upModule', function(){
         var parentDIV = $(this).parent('div').parent('div').parent('div');
-        parentDIV.insertBefore(parentDIV.prev());
+        parentDIV.insertBefore(parentDIV.prev('.moduleGroup'));
 		
 		var ModuleID = parentDIV.attr('id');
 		// Для того, который СТАЛ находится ниже
@@ -317,12 +317,14 @@ $(function() {
 	// Переместить вниз МОДУЛЬ
     $(".moduleList").on('click', '.downModule', function(){
         var parentDIV = $(this).parent('div').parent('div').parent('div');
-        parentDIV.insertAfter(parentDIV.next());
-		
-		var ModuleID = parentDIV.attr('id');
-		// Для того, который СТАЛ находится выше
-		var prevModuleID = parentDIV.prev('div').attr('id');
-		SwapModuleOrder(ModuleID, prevModuleID);
+		if ($('div').is(parentDIV.next('.moduleGroup'))) {
+			parentDIV.insertAfter(parentDIV.next('.moduleGroup'));
+			
+			var ModuleID = parentDIV.attr('id');
+			// Для того, который СТАЛ находится выше
+			var prevModuleID = parentDIV.prev('div').attr('id');
+			SwapModuleOrder(ModuleID, prevModuleID);
+		}
 		
         return false
     });
-- 
GitLab