From b2f62740bcc51187b8b5bf4fe182fb890812c201 Mon Sep 17 00:00:00 2001
From: Anton Bagliy <taccessviolation@gmail.com>
Date: Thu, 17 Oct 2019 19:49:41 +0300
Subject: [PATCH] FIX: hide global disciplines from dean bill #494

---
 .../issue470_globaldiscipline_api.sql         | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/db/postgresql/issue470_globaldiscipline_api.sql b/db/postgresql/issue470_globaldiscipline_api.sql
index 07422e9a6..345aabe2d 100644
--- a/db/postgresql/issue470_globaldiscipline_api.sql
+++ b/db/postgresql/issue470_globaldiscipline_api.sql
@@ -309,4 +309,35 @@ BEGIN
                     accounts.FirstName ASC,
                     accounts.SecondName ASC;
 END
+$function$;
+
+DROP FUNCTION IF EXISTS public.getdisciplinesforgroup(pgroupid integer, psemesterid integer);
+CREATE OR REPLACE FUNCTION public.getdisciplinesforgroup(pgroupid integer, psemesterid integer)
+    RETURNS TABLE("ID" integer, "SubjectName" character varying, "Subtype" scientific_disciplinary_coursework, "Type" exam_credit_grading_credit, "CompoundDiscID" integer, "CompoundDiscName" character varying, "CurRate" integer, "MaxRate" integer)
+    LANGUAGE plpgsql
+AS $function$
+BEGIN
+    return query
+        SELECT DISTINCT view_disciplines.DisciplineID AS "ID",
+                        view_disciplines.SubjectName as "SubjectName",
+                        view_disciplines.Subtype as "Subtype",
+                        view_disciplines.ExamType  AS "Type",
+                        view_disciplines.CompoundDiscID as "CompoundDiscID",
+                        view_disciplines.CompoundDiscName as "CompoundDiscName",
+                        view_disciplines.CurRate as "CurRate",
+                        view_disciplines.MaxRate as "MaxRate"
+        FROM students_groups
+                 LEFT JOIN view_disciplines_recordbooks ON students_groups.RecordBookID = view_disciplines_recordbooks.RecordBookID
+                 INNER JOIN view_disciplines ON view_disciplines_recordbooks.DisciplineID = view_disciplines.DisciplineID
+        WHERE   students_groups.GroupID = pGroupID AND
+                students_groups.SemesterID = pSemesterID AND
+                view_disciplines.SemesterID = pSemesterID AND
+                view_disciplines.IsInactive = False AND
+                view_disciplines.IsGlobal = False AND
+                students_groups.State <= 'outlet' AND
+          -- view_disciplines_recordbooks.Type may be attach or NULL
+                COALESCE(view_disciplines_recordbooks.Type, 'attach') = 'attach'
+        ORDER BY view_disciplines.ExamType DESC,
+                 view_disciplines.SubjectName ASC;
+end;
 $function$;
\ No newline at end of file
-- 
GitLab