Skip to content
Snippets Groups Projects
Commit 93e61f97 authored by PavelBegunkov's avatar PavelBegunkov
Browse files

sql restrict

parent e15dacba
Branches
Tags
No related merge requests found
...@@ -2170,7 +2170,8 @@ BEGIN ...@@ -2170,7 +2170,8 @@ BEGIN
DECLARE checker INT; DECLARE checker INT;
-- 1. check if AccessedTeacher is author -- 1. check if AccessedTeacher is author
IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
InternalIsMapLocked(disciplineID)
THEN THEN
RETURN -1; RETURN -1;
END IF; END IF;
...@@ -2278,7 +2279,8 @@ CREATE FUNCTION `UnbindGroup` ( `TeacherID` INT, ...@@ -2278,7 +2279,8 @@ CREATE FUNCTION `UnbindGroup` ( `TeacherID` INT,
) RETURNS int(11) ) RETURNS int(11)
NO SQL NO SQL
BEGIN BEGIN
IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
InternalIsMapLocked(disciplineID)
THEN THEN
RETURN -1; RETURN -1;
END IF; END IF;
...@@ -3268,7 +3270,7 @@ CREATE FUNCTION `SetStudentRate`( `TeacherID` INT, ...@@ -3268,7 +3270,7 @@ CREATE FUNCTION `SetStudentRate`( `TeacherID` INT,
RETURNS int(11) RETURNS int(11)
NO SQL NO SQL
BEGIN BEGIN
DECLARE checker, DisciplineID, groupID, rateID INT; DECLARE checker, DisciplineID, groupID, rateID, maxRate INT;
DECLARE isLocked, isUsed tinyint; DECLARE isLocked, isUsed tinyint;
SET groupID = -1; SET groupID = -1;
...@@ -3283,8 +3285,8 @@ BEGIN ...@@ -3283,8 +3285,8 @@ BEGIN
SET isLocked = 0; SET isLocked = 0;
SET DisciplineID = -1; SET DisciplineID = -1;
SELECT modules.DisciplineID, disciplines.isLocked, rating_table.StudentID, submodules.isUsed SELECT modules.DisciplineID, disciplines.isLocked, rating_table.StudentID, submodules.isUsed, submodules.MaxRate
INTO DisciplineID, isLocked, rateID, isUsed INTO DisciplineID, isLocked, rateID, isUsed, maxRate
FROM `submodules` FROM `submodules`
INNER JOIN `modules` ON submodules.ModuleID = modules.ID INNER JOIN `modules` ON submodules.ModuleID = modules.ID
INNER JOIN `disciplines` ON modules.DisciplineID = disciplines.ID INNER JOIN `disciplines` ON modules.DisciplineID = disciplines.ID
...@@ -3302,7 +3304,7 @@ BEGIN ...@@ -3302,7 +3304,7 @@ BEGIN
disciplines_groups.ID IS NOT NULL disciplines_groups.ID IS NOT NULL
) )
LIMIT 1; LIMIT 1;
IF DisciplineID <= 0 THEN IF DisciplineID <= 0 OR Rate > maxRate THEN
RETURN -1; RETURN -1;
END IF; END IF;
......
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