diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 1ed31ecbeb432b61f3ec21175ded6561b75aa72d..106db01247b7e26c10b222295e7a92c1b1652d6a 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -2258,15 +2258,19 @@ BEGIN IF (checker != ExamType) THEN - UPDATE `disciplines` - SET disciplines.ExamType = ExamType - WHERE DisciplineID = disciplines.ID; - IF ExamType = 'exam' THEN + SET checker = GetDisciplineMaxRate(DisciplineID); + IF checker > 60 THEN + RETURN 1; + END IF; SET checker = AddModuleExam(TeacherID, DisciplineID); ELSE SET checker = DeleteModuleExam(TeacherID, DisciplineID); END IF; + + UPDATE `disciplines` + SET disciplines.ExamType = ExamType + WHERE DisciplineID = disciplines.ID; END IF; RETURN 0; END // @@ -2712,7 +2716,6 @@ END // --- Добавление РЅРѕРІРѕРіРѕ подмодуля Рє данному модулю DROP FUNCTION IF EXISTS DeleteModule// CREATE FUNCTION `DeleteModule` ( `TeacherID` INT, `ModuleID` INT @@ -2760,6 +2763,8 @@ BEGIN RETURN 0; END // + + DROP FUNCTION IF EXISTS DeleteModuleExam// CREATE FUNCTION `DeleteModuleExam` ( `TeacherID` INT, `DisciplineID` INT @@ -2943,6 +2948,8 @@ END // -- Внесение изменений РІ подмодуль (MaxRate, TItle, Description, Order Рё С‚.Рґ.), который неявно прикреплен Рє преподавателю +-- TODO delete +-- deprecated DROP FUNCTION IF EXISTS ChangeSubmodule// CREATE FUNCTION `ChangeSubmodule` ( `TeacherID` INT, `SubmoduleID` INT, @@ -2991,6 +2998,9 @@ BEGIN RETURN 0; END // + +-- TODO delete +-- deprecated DROP FUNCTION IF EXISTS ChangeSubmoduleControlType// CREATE FUNCTION `ChangeSubmoduleControlType`( `TeacherID` INT, `SubmoduleID` INT, @@ -3021,6 +3031,9 @@ BEGIN RETURN 0; END // + +-- TODO delete +-- deprecated DROP FUNCTION IF EXISTS ChangeSubmoduleMaxRate// CREATE FUNCTION `ChangeSubmoduleMaxRate` ( `TeacherID` INT, `SubmoduleID` INT, diff --git a/~dev_rating/application/classes/Controller/Handler/Map.php b/~dev_rating/application/classes/Controller/Handler/Map.php index 5a20998ca8d716ebd30fc19ec1cb8d92905afe5c..1d50b817414e99e07e1981b6ea7a0190884b3a61 100644 --- a/~dev_rating/application/classes/Controller/Handler/Map.php +++ b/~dev_rating/application/classes/Controller/Handler/Map.php @@ -119,7 +119,6 @@ class Controller_Handler_Map extends Controller_Handler { // Рзменение контроля public function action_ChangeDisciplineControl() { - $data['success'] = false; $this->post -> rule('DisciplineID', 'not_empty') -> rule('DisciplineID', 'digit') -> rule('Control', 'not_empty'); @@ -129,9 +128,10 @@ class Controller_Handler_Map extends Controller_Handler { $this->post->offsetGet('DisciplineID'), $this->post->offsetGet('Control') ); - if ($result[0]['Num'] == 0) - $data['success'] = true; + $data['success'] = $result[0]['Num']; } + else + $data['success'] = 0; $this->response->body(json_encode($data)); } diff --git a/~dev_rating/media/js/discipline/EditSettings.js b/~dev_rating/media/js/discipline/EditSettings.js index d2ce4b58bcdb6d23b2b1ce29203a74947cbff391..b0db67a920c8df34a38c6d08e041a2e425586e89 100644 --- a/~dev_rating/media/js/discipline/EditSettings.js +++ b/~dev_rating/media/js/discipline/EditSettings.js @@ -59,6 +59,7 @@ $(function() { // Рзменение контроля $('input.ExamType').change(function(){ + var thisObj = $(this); $.post( URLdir + 'handler/map/ChangeDisciplineControl', { @@ -67,8 +68,12 @@ $(function() { }, function(data) { data = $.parseJSON(data); - if(data.success === true) + if(data.success == 0) EventInspector_ShowMsg('Форма контроля изменена', 'success'); + else if (data.success > 0) { + EventInspector_ShowMsg('Превышено максимальное РєРѕР»-РІРѕ баллов', 'error'); + thisObj.parent().children('.ExamType[value="credit"]').prop('checked', true); + } else EventInspector_ShowMsg('Ошибка: Рзменение формы контроля', 'error'); } );