diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index d35790833c2bea4ff92c8db3c3ee9f11182d5167..da6a35ca096090c8a23cb80e7267b374e1a39e45 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -2335,10 +2335,30 @@ BEGIN RETURN 1; END IF; SET checker = AddModuleExam(TeacherID, DisciplineID); + + -- delete extra module from + DELETE FROM `submodules` + WHERE submodules.ID in + (SELECT submodules.ID + FROM `modules` + LEFT JOIN `submodules` ON submodules.ModuleID = modules.ID + WHERE modules.Type = 4 and modules.DisciplineID = DisciplineID + ORDER BY submodules.OrderNum DESC LIMIT 1); + SET extraMax = 6; ELSE - SET checker = DeleteModuleExam(TeacherID, DisciplineID); SET extraMax = 30; + + SET checker = DeleteModuleExam(TeacherID, DisciplineID); + + + SELECT AddSubmodule(disciplines.AuthorID, modules.ID, extraMax, '', NULL, 'LandmarkControl') + INTO checker + FROM `modules` + INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID + WHERE modules.Type = 4 AND + modules.DisciplineID = DisciplineID; + END IF; UPDATE `disciplines` @@ -3007,6 +3027,7 @@ BEGIN SET checker = 6; ELSE SET checker = 30; + SET checker = AddSubmodule(TeacherID, vModule, checker, '', NULL, 'LandmarkControl'); END IF; SET checker = AddSubmodule(TeacherID, vModule, checker, '', NULL, 'LandmarkControl'); diff --git a/db/fix.sql b/db/fix.sql index 72a4e56bff7796c0aaf96b898ad3b6f93d215f67..26077e051d6d4421013b70d3480c4e27e6b5ee9f 100644 --- a/db/fix.sql +++ b/db/fix.sql @@ -140,8 +140,6 @@ BEGIN ); END // - - DELETE FROM `rating_table` WHERE rating_table.SubmoduleID IN ( @@ -177,148 +175,4 @@ INSERT INTO `rating`.`page_access` (`ID`, `Pagename`, `Bitmask`) VALUES (NULL, ' ALTER TABLE `specializations` ADD `Code` varchar(12) NULL; - -DROP FUNCTION IF EXISTS AddSubmodule// -CREATE FUNCTION `AddSubmodule` ( `TeacherID` INT, - `ModuleID` INT, - `MaxRate` INT, - `Name` VARCHAR(200) charset utf8, - `Description` VARCHAR(200) charset utf8, - `ControlType` VARCHAR(30) charset utf8 - ) RETURNS int(11) - NO SQL -BEGIN - DECLARE checker INT; - - SET checker = -1; - SELECT disciplines.ID - INTO checker - FROM `modules` - INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID - WHERE TeacherID = disciplines.AuthorID AND - ModuleID = modules.ID - LIMIT 1; - IF checker <= 0 OR - InternalIsMapLocked(checker) - THEN - RETURN -1; - END IF; - - - SET checker = 0; - SELECT MAX(submodules.OrderNum) - INTO checker - FROM `submodules` - WHERE ModuleID = submodules.ModuleID - LIMIT 1; - IF checker IS NULL THEN - SET checker = 0; - END IF; - SET checker = checker + 1; - - IF Description = "" THEN - INSERT INTO `submodules` - ( submodules.ModuleID, submodules.MaxRate, submodules.OrderNum, submodules.Name, submodules.Description, submodules.Type ) - VALUES ( ModuleID, MaxRate, checker, Name, NULL, ControlType); - ELSE - INSERT INTO `submodules` - ( submodules.ModuleID, submodules.MaxRate, submodules.OrderNum, submodules.Name, submodules.Description, submodules.Type ) - VALUES ( ModuleID, MaxRate, checker, Name, Description, ControlType); - END IF; - - RETURN ( SELECT submodules.ID - FROM `submodules` - WHERE submodules.ModuleID = ModuleID AND - submodules.OrderNum = checker - LIMIT 1 - ); -END // - -DROP FUNCTION IF EXISTS AddModule// -CREATE FUNCTION `AddModule` ( `TeacherID` INT, - `DisciplineID` INT, - `Name` VARCHAR(200) charset utf8 - ) RETURNS int(11) - NO SQL -BEGIN - DECLARE checker INT; - - IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR - InternalIsMapLocked(DisciplineID) - THEN - RETURN -1; - END IF; - - SET checker = 0; - SELECT MAX(modules.OrderNum) - INTO checker - FROM `modules` - WHERE DisciplineID = modules.DisciplineID AND - modules.Type = 1 - LIMIT 1; - IF checker IS NULL THEN - SET checker = 0; - END IF; - SET checker = checker + 1; - - - INSERT INTO `modules` - ( modules.Name, modules.OrderNum, modules.DisciplineID ) - VALUES ( Name , checker , DisciplineID ); - - - RETURN ( SELECT modules.ID - FROM `modules` - WHERE DisciplineID = modules.DisciplineID AND - checker = modules.OrderNum - LIMIT 1 - ); -END // - - -DROP FUNCTION IF EXISTS AddModuleExtra// -CREATE FUNCTION `AddModuleExtra` ( `TeacherID` INT, - `DisciplineID` INT - ) RETURNS int(11) - NO SQL -BEGIN - DECLARE checker, vModule INT; - IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR - InternalIsMapLocked(DisciplineID) - THEN - RETURN -1; - END IF; - - SET checker = -1; - SELECT modules.ID - INTO checker - FROM `modules` - WHERE DisciplineID = modules.DisciplineID AND - modules.Type = 4; - IF checker > 0 THEN - RETURN -2; - END IF; - - - INSERT INTO `modules` - ( modules.Name, modules.OrderNum, modules.DisciplineID, modules.Type ) - VALUES ( 'Добор баллов' , 2900666 , DisciplineID, 4 ); - - SET vModule = -1; - SELECT modules.ID - INTO vModule - FROM `modules` - WHERE DisciplineID = modules.DisciplineID AND - modules.Type = 4 - LIMIT 1; - IF vModule <= 0 THEN - RETURN -1; - END IF; - - SET checker = AddSubmodule(TeacherID, vModule, 8, '', NULL, 'LandmarkControl'); - RETURN vModule; -END // - - - DELIMITER ; \ No newline at end of file diff --git a/~dev_rating/media/css/rating.css b/~dev_rating/media/css/rating.css index 433439dc428f2b48ae7733bd17241119d0cf1bb2..a4695a5f73f8f16525b9b89e76b8b06d7c91c7d1 100644 --- a/~dev_rating/media/css/rating.css +++ b/~dev_rating/media/css/rating.css @@ -163,6 +163,6 @@ div#tdInfo_wrap { } .rate_a, .exam_a { - margin-left: 30px; + margin-left: 2.5%; } /* end todo */