19 lines
682 B
SQL
19 lines
682 B
SQL
DROP PROCEDURE IF EXISTS GetAuthorizedProjectsForPresentation;
|
|
DELIMITER //
|
|
CREATE PROCEDURE GetAuthorizedProjectsForPresentation
|
|
(
|
|
IN p_sid TEXT,
|
|
IN p_password TEXT,
|
|
OUT outputCode INT(11)
|
|
)
|
|
MODIFIES SQL DATA
|
|
BEGIN
|
|
|
|
CALL `CheckIdLogin`(p_sid,p_password, outputCode);
|
|
IF outputCode = 42 THEN
|
|
INSERT INTO projects SELECT p.ID AS projectID, p.name AS projectName, v.ID AS versionID , v.name AS versionName FROM projets AS p LEFT JOIN versions AS v ON p.ID = v.projectID WHERE (p.ownerID = p_sid OR CheckInGroup(p_sid,p.secondaryOwnersGroupID) = 42) AND (v.ID IS NULL OR v.versionAbs = (SELECT MAX(versionAbs) FROM versions WHERE projectID = p.ID));
|
|
END IF;
|
|
|
|
END//
|
|
DELIMITER ;
|