Skip to content
Snippets Groups Projects
Commit 7c15cccc authored by PavelBegunkov's avatar PavelBegunkov
Browse files

procedures critical fixes

parent 77f5983e
Branches
Tags
No related merge requests found
...@@ -644,24 +644,15 @@ CREATE FUNCTION `CreateStudent`( `Last` VARCHAR(30) CHARSET utf8, ...@@ -644,24 +644,15 @@ CREATE FUNCTION `CreateStudent`( `Last` VARCHAR(30) CHARSET utf8,
) RETURNS int(11) ) RETURNS int(11)
NO SQL NO SQL
BEGIN BEGIN
DECLARE curID, StudyGroupID, RoleID INT; DECLARE curID, StudyGroupID INT;
SELECT user_roles.ID
INTO RoleID
FROM `user_roles`
WHERE user_roles.Type = 'student' AND
user_roles.Role = 'common'
LIMIT 1;
IF NOT (RoleID > 0) THEN
RETURN -1;
END IF;
SELECT study_groups.ID SELECT study_groups.ID
INTO StudyGroupID INTO StudyGroupID
FROM `study_groups` FROM `study_groups`
INNER JOIN `specializations` ON study_groups.SpecializationID = specializations.ID
WHERE study_groups.Grade = Grade AND WHERE study_groups.Grade = Grade AND
study_groups.GroupNum = GroupN AND study_groups.GroupNum = GroupN AND
study_groups.FacultyID = FacultyID specializations.FacultyID = FacultyID
LIMIT 1; LIMIT 1;
IF NOT (StudyGroupID > 0) THEN IF NOT (StudyGroupID > 0) THEN
RETURN -1; RETURN -1;
...@@ -669,7 +660,7 @@ BEGIN ...@@ -669,7 +660,7 @@ BEGIN
INSERT INTO `accounts` ( accounts.Login , accounts.Password , accounts.EMail, accounts.UserRoleID, accounts.ActivationCode ) INSERT INTO `accounts` ( accounts.Login , accounts.Password , accounts.EMail, accounts.UserRoleID, accounts.ActivationCode )
VALUES ( NULL, NULL, NULL, RoleID, Code); VALUES ( NULL, NULL, NULL, 1, Code);
SELECT accounts.ID SELECT accounts.ID
INTO curID INTO curID
...@@ -697,15 +688,6 @@ CREATE FUNCTION `CreateTeacher`( `Last` VARCHAR(30) CHARSET utf8, ...@@ -697,15 +688,6 @@ CREATE FUNCTION `CreateTeacher`( `Last` VARCHAR(30) CHARSET utf8,
BEGIN BEGIN
DECLARE curID, checker, RoleID INT; DECLARE curID, checker, RoleID INT;
SELECT user_roles.ID
INTO RoleID
FROM `user_roles`
WHERE user_roles.Type = 'teachers' AND
user_roles.Role = 'common'
LIMIT 1;
IF NOT (RoleID > 0) THEN
RETURN -1;
END IF;
SELECT departments.ID SELECT departments.ID
INTO checker INTO checker
...@@ -732,7 +714,7 @@ BEGIN ...@@ -732,7 +714,7 @@ BEGIN
END IF; END IF;
INSERT INTO `accounts` ( accounts.Login , accounts.Password , accounts.EMail, accounts.UserRoleID, accounts.ActivationCode ) INSERT INTO `accounts` ( accounts.Login , accounts.Password , accounts.EMail, accounts.UserRoleID, accounts.ActivationCode )
VALUES ( NULL, NULL, NULL, RoleID, Code); VALUES ( NULL, NULL, NULL, 2, Code);
SELECT accounts.ID INTO curID SELECT accounts.ID INTO curID
FROM `accounts` FROM `accounts`
...@@ -791,7 +773,7 @@ CREATE FUNCTION `GetMaxRateForDisc` ( `StudentID` INT, ...@@ -791,7 +773,7 @@ CREATE FUNCTION `GetMaxRateForDisc` ( `StudentID` INT,
) RETURNS int(11) ) RETURNS int(11)
NO SQL NO SQL
BEGIN BEGIN
RETURN ( SELECT SUM(rating_table.MaxRate) RETURN ( SELECT SUM(submodules.MaxRate)
FROM `rating_table` FROM `rating_table`
INNER JOIN `submodules` ON rating_table.SubmoduleID = submodules.ID INNER JOIN `submodules` ON rating_table.SubmoduleID = submodules.ID
INNER JOIN `modules` ON submodules.ModuleID = modules.ID INNER JOIN `modules` ON submodules.ModuleID = modules.ID
...@@ -830,7 +812,7 @@ BEGIN ...@@ -830,7 +812,7 @@ BEGIN
disciplines_students.StudentID = StudentID disciplines_students.StudentID = StudentID
WHERE disciplines.SemesterID = semID AND WHERE disciplines.SemesterID = semID AND
( disciplines_students.Type = 'attach' OR ( disciplines_students.Type = 'attach' OR
( disciplines_students.Type != 'detach' AND ( ( disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach' ) AND
disciplines_groups.StudyGroupID = groupID disciplines_groups.StudyGroupID = groupID
) )
) )
...@@ -871,7 +853,7 @@ BEGIN ...@@ -871,7 +853,7 @@ BEGIN
disciplines_students.StudentID = StudentID disciplines_students.StudentID = StudentID
WHERE disciplines.SemesterID = semID AND WHERE disciplines.SemesterID = semID AND
( disciplines_students.Type = 'attach' OR ( disciplines_students.Type = 'attach' OR
( disciplines_students.Type != 'detach' AND ( ( disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach' ) AND
disciplines_groups.StudyGroupID = groupID disciplines_groups.StudyGroupID = groupID
) )
) )
...@@ -970,7 +952,7 @@ BEGIN ...@@ -970,7 +952,7 @@ BEGIN
FROM `disciplines_groups` FROM `disciplines_groups`
INNER JOIN `disciplines` ON disciplines_groups.DisciplineID = disciplines.ID INNER JOIN `disciplines` ON disciplines_groups.DisciplineID = disciplines.ID
INNER JOIN `disciplines_teachers` ON disciplines.ID = disciplines_teachers.DisciplineID AND INNER JOIN `disciplines_teachers` ON disciplines.ID = disciplines_teachers.DisciplineID AND
disciplines.TeacherID = TeacherID disciplines_teachers.TeacherID = TeacherID
INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID
INNER JOIN `study_groups` ON study_groups.ID = disciplines_groups.StudyGroupID INNER JOIN `study_groups` ON study_groups.ID = disciplines_groups.StudyGroupID
WHERE disciplines.SemesterID = semID WHERE disciplines.SemesterID = semID
...@@ -1060,7 +1042,7 @@ BEGIN ...@@ -1060,7 +1042,7 @@ BEGIN
submodules.MaxRate, submodules.MaxRate,
submodules.Type AS 'SubmoduleControl' submodules.Type AS 'SubmoduleControl'
FROM `modules` FROM `modules`
RIGHT JOIN `submodules` ON modules.ID = submodules.ModuleID LEFT JOIN `submodules` ON modules.ID = submodules.ModuleID
INNER JOIN `disciplines` ON modules.DisciplineID = disciplines.ID INNER JOIN `disciplines` ON modules.DisciplineID = disciplines.ID
INNER JOIN `subjects` ON disciplines.SubjectID = subjects.ID INNER JOIN `subjects` ON disciplines.SubjectID = subjects.ID
ORDER BY modules.OrderNum ASC, ORDER BY modules.OrderNum ASC,
...@@ -1268,7 +1250,7 @@ BEGIN ...@@ -1268,7 +1250,7 @@ BEGIN
FROM `disciplines` FROM `disciplines`
INNER JOIN `disciplines_teachers` ON disciplines_teachers.DisciplineID = disciplines.ID AND INNER JOIN `disciplines_teachers` ON disciplines_teachers.DisciplineID = disciplines.ID AND
disciplines_teachers.TeacherID = AccessedTeacher disciplines_teachers.TeacherID = AccessedTeacher
WHERE disciplines.ID = discID WHERE disciplines.ID = DisciplineID
LIMIT 1; LIMIT 1;
IF NOT (checker > 0) THEN IF NOT (checker > 0) THEN
RETURN -1; RETURN -1;
......
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