Skip to content
Snippets Groups Projects
Commit 4977a8e4 authored by PavelBegunkov's avatar PavelBegunkov
Browse files

REF: final stage FIX: tests vol.1

parent 04c1d49c
Branches
Tags
No related merge requests found
...@@ -856,7 +856,7 @@ CREATE FUNCTION `BindGroup` ...@@ -856,7 +856,7 @@ CREATE FUNCTION `BindGroup`
NO SQL NO SQL
BEGIN BEGIN
DECLARE vChecker INT DEFAULT -1; DECLARE vChecker INT DEFAULT -1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1; DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -3;
# 1. check if AccessedTeacher is author # 1. check if AccessedTeacher is author
IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
...@@ -1029,7 +1029,7 @@ CREATE FUNCTION `UnbindTeacher` ...@@ -1029,7 +1029,7 @@ CREATE FUNCTION `UnbindTeacher`
NO SQL NO SQL
BEGIN BEGIN
IF pAuthorID = pBindingTeacher OR IF pAuthorID = pBindingTeacher OR
NOT InternalIsTeacherAuthor(pBindingTeacher, pDisciplineID) NOT InternalIsTeacherAuthor(pAuthorID, pDisciplineID)
THEN THEN
RETURN -1; RETURN -1;
END IF; END IF;
...@@ -1037,7 +1037,7 @@ BEGIN ...@@ -1037,7 +1037,7 @@ BEGIN
DELETE FROM `disciplines_teachers` DELETE FROM `disciplines_teachers`
WHERE disciplines_teachers.DisciplineID = pDisciplineID AND WHERE disciplines_teachers.DisciplineID = pDisciplineID AND
disciplines_teachers.TeacherID = pBindingTeacher; disciplines_teachers.TeacherID = pBindingTeacher;
RETURN 0; RETURN ROW_COUNT()-1;
END // END //
...@@ -1246,7 +1246,7 @@ BEGIN ...@@ -1246,7 +1246,7 @@ BEGIN
IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
InternalIsMapLocked(pDisciplineID) InternalIsMapLocked(pDisciplineID)
THEN THEN
RETURN -1; RETURN -2;
END IF; END IF;
# get free orderNum # get free orderNum
...@@ -1254,6 +1254,9 @@ BEGIN ...@@ -1254,6 +1254,9 @@ BEGIN
FROM `modules` FROM `modules`
WHERE modules.DisciplineID = pDisciplineID AND modules.Type = 'regular' WHERE modules.DisciplineID = pDisciplineID AND modules.Type = 'regular'
LIMIT 1; LIMIT 1;
IF vOrderNum IS NULL THEN
SET vOrderNum = 1;
END IF;
INSERT INTO `modules` INSERT INTO `modules`
(Name, OrderNum, DisciplineID ) (Name, OrderNum, DisciplineID )
...@@ -1580,11 +1583,11 @@ BEGIN ...@@ -1580,11 +1583,11 @@ BEGIN
UPDATE `submodules` UPDATE `submodules`
SET submodules.MaxRate = MaxRate, SET submodules.MaxRate = pMaxRate,
submodules.Type = pControlType submodules.Type = pControlType
WHERE submodules.ID = pSubmoduleID WHERE submodules.ID = pSubmoduleID
LIMIT 1; LIMIT 1;
RETURN 0; RETURN ROW_COUNT()-1;
END // END //
...@@ -1699,7 +1702,7 @@ CREATE FUNCTION `AddSubmodule` ...@@ -1699,7 +1702,7 @@ CREATE FUNCTION `AddSubmodule`
BEGIN BEGIN
DECLARE vOrderNum, vIsLocked INT DEFAULT -1; DECLARE vOrderNum, vIsLocked INT DEFAULT -1;
DECLARE vDescription VARCHAR(200) CHARSET utf8 DEFAULT pDescription; DECLARE vDescription VARCHAR(200) CHARSET utf8 DEFAULT pDescription;
DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1; # DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
# check author and discipline lock # check author and discipline lock
SELECT disciplines.IsLocked INTO vIsLocked SELECT disciplines.IsLocked INTO vIsLocked
...@@ -1709,7 +1712,7 @@ BEGIN ...@@ -1709,7 +1712,7 @@ BEGIN
modules.ID = pModuleID modules.ID = pModuleID
LIMIT 1; LIMIT 1;
IF vIsLocked != 0 THEN IF vIsLocked != 0 THEN
RETURN -1; RETURN -2;
END IF; END IF;
# get free order # get free order
...@@ -1718,6 +1721,9 @@ BEGIN ...@@ -1718,6 +1721,9 @@ BEGIN
FROM `submodules` FROM `submodules`
WHERE submodules.ModuleID = pModuleID WHERE submodules.ModuleID = pModuleID
LIMIT 1; LIMIT 1;
IF vOrderNum IS NULL THEN
SET vOrderNum = 0;
END IF;
SET vOrderNum = vOrderNum + 1; SET vOrderNum = vOrderNum + 1;
# insert submodule # insert submodule
......
...@@ -373,7 +373,7 @@ BEGIN ...@@ -373,7 +373,7 @@ BEGIN
view_teachers.DepName, view_teachers.DepName,
(view_teachers.TeacherID = vAuthorID) AS 'IsAuthor' (view_teachers.TeacherID = vAuthorID) AS 'IsAuthor'
FROM `view_teachers` FROM `view_teachers`
WHERE InternalIsTeacherBounded(view_teachers.TeacherID, pDisciplineID) AND WHERE NOT InternalIsTeacherBounded(view_teachers.TeacherID, pDisciplineID) AND
view_teachers.FacultyID = pFacultyID AND view_teachers.FacultyID = pFacultyID AND
CONCAT( view_teachers.LastName, view_teachers.FirstName, view_teachers.SecondName) CONCAT( view_teachers.LastName, view_teachers.FirstName, view_teachers.SecondName)
LIKE CONCAT('%', pFullName, '%') LIKE CONCAT('%', pFullName, '%')
...@@ -695,16 +695,16 @@ BEGIN ...@@ -695,16 +695,16 @@ BEGIN
view_roadmap.SubmoduleID = (@tmp = view_roadmap.SubmoduleID = (@tmp =
(SELECT rating_table.SubmoduleID FROM `submodules` (SELECT rating_table.SubmoduleID FROM `submodules`
INNER JOIN `rating_table` ON rating_table.SubModuleID = submodules.ID INNER JOIN `rating_table` ON rating_table.SubModuleID = submodules.ID
WHERE submodules.ModuleID = modules.ID AND rating_table.StudentID = pStudentID WHERE submodules.ModuleID = view_roadmap.ModuleID AND rating_table.StudentID = pStudentID
ORDER BY submodules.OrderNum DESC ORDER BY submodules.OrderNum DESC
LIMIT 1) LIMIT 1)
) OR ) OR
( @tmp IS NULL AND view_roadmap.SubmoduleOrderNum = 1) ( @tmp IS NULL AND view_roadmap.SubmoduleOrderNum = 1)
) )
ORDER BY modules.Type ^ 1 ASC, ORDER BY view_roadmap.ModuleType ^ 1 ASC,
-- 1, 3, 2, 4 ASC -- 1, 3, 2, 4 ASC
modules.OrderNum ASC, view_roadmap.ModuleOrderNum ASC,
submodules.OrderNum ASC; view_roadmap.SubmoduleOrderNum ASC;
END // END //
...@@ -778,7 +778,7 @@ BEGIN ...@@ -778,7 +778,7 @@ BEGIN
INNER JOIN `view_disciplines` ON view_disciplines.DisciplineID = pDisciplineID INNER JOIN `view_disciplines` ON view_disciplines.DisciplineID = pDisciplineID
WHERE view_roadmap.DisciplineID = pDisciplineID AND WHERE view_roadmap.DisciplineID = pDisciplineID AND
(view_roadmap.ModuleType = 'exam' OR view_roadmap.ModuleType = 'extra') (view_roadmap.ModuleType = 'exam' OR view_roadmap.ModuleType = 'extra')
ORDER BY OrderModuleTypesForSession(view_roadmap.ModuleType) ASC, ORDER BY InternalOrderModuleTypesForSession(view_roadmap.ModuleType) ASC,
view_roadmap.ModuleOrderNum ASC, view_roadmap.ModuleOrderNum ASC,
view_roadmap.SubmoduleOrderNum ASC; view_roadmap.SubmoduleOrderNum ASC;
END // END //
......
...@@ -132,7 +132,7 @@ CREATE OR REPLACE VIEW `view_roadmap` AS ...@@ -132,7 +132,7 @@ CREATE OR REPLACE VIEW `view_roadmap` AS
# enum('CurrentControl','LandmarkControl') # enum('CurrentControl','LandmarkControl')
submodules.IsUsed AS 'SubmoduleIsUsed' submodules.IsUsed AS 'SubmoduleIsUsed'
FROM `modules` FROM `modules`
INNER JOIN `submodules` ON submodules.ModuleID = modules.ID; LEFT JOIN `submodules` ON submodules.ModuleID = modules.ID;
# without students, that haven't any rate # without students, that haven't any rate
......
...@@ -75,6 +75,8 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { ...@@ -75,6 +75,8 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi {
$groupID = 0; $groupID = 0;
$i = 0; $i = 0;
$k = 0; $k = 0;
$n = 0;
$j = 0;
foreach($students as $row) { foreach($students as $row) {
if ($row['AttachType'] == 'attach'){ if ($row['AttachType'] == 'attach'){
if ($row['GroupID'] != $groupID) { if ($row['GroupID'] != $groupID) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment