From f3faf7df5967353112df0f8234da4841fb319727 Mon Sep 17 00:00:00 2001
From: PavelBegunkov <asml.Silence@gmail.com>
Date: Thu, 28 Aug 2014 00:57:53 +0400
Subject: [PATCH] sg

---
 db/StoredProcedures.sql | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index c3049f0ef..3bb192650 100644
--- a/db/StoredProcedures.sql
+++ b/db/StoredProcedures.sql
@@ -197,7 +197,7 @@ END //
 
 
 DROP PROCEDURE IF EXISTS GetDepartments//
-CREATE PROCEDURE `GetDepartments`	( )
+CREATE PROCEDURE `GetDepartments`	( 	IN `FacultyID` INT )
     NO SQL
 BEGIN
 	SELECT 	departments.ID 		AS 'DepID',
@@ -206,7 +206,8 @@ BEGIN
 			faculties.Name   	AS 'FacultyName',
 			faculties.Abbr 		AS 'FacultyAbbr'
 	FROM `departments`
-	INNER JOIN `faculties` ON faculties.ID = departments.FacultyID;
+	INNER JOIN `faculties` ON faculties.ID = departments.FacultyID
+	WHERE departments.FacultyID = FacultyID;
 	
 END //
 
@@ -980,7 +981,9 @@ END //
 
 
 DROP PROCEDURE IF EXISTS GetDisciplineInfoByID//
-CREATE PROCEDURE `GetDisciplineInfoByID`(IN `DiscID` INT)
+CREATE PROCEDURE `GetDisciplineInfoByID`(	IN `DiscID` INT,
+											IN `DepID` INT,
+											IN `FacultyID` INT  )
     NO SQL
 BEGIN  
 
@@ -997,7 +1000,10 @@ BEGIN
 
 	FROM `disciplines`
 	INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID
-	WHERE disciplines.ID = DiscID;
+	INNER JOIN `departments` ON departments.ID = disciplines.DepartmentID
+	WHERE 	( DiscID = 0 OR disciplines.ID = DiscID) AND
+			( DepartmentID = 0 OR disciplines.DepartmentID = DepartmentID ) AND
+			( FacultyID = 0 OR departments.FacultyID = FacultyID);
 END //
 
 
-- 
GitLab