From c13ceb557339a32d6e1bd7dedf2256a2de8c8328 Mon Sep 17 00:00:00 2001
From: Artem Konenko <yadummer@gmail.com>
Date: Sun, 13 Nov 2016 16:35:43 +0300
Subject: [PATCH] #192 HotFix for Survey

---
 .../classes/Controller/Api/V0/Subject.php     | 90 +++++++++++++++----
 1 file changed, 71 insertions(+), 19 deletions(-)

diff --git a/~dev_rating/application/classes/Controller/Api/V0/Subject.php b/~dev_rating/application/classes/Controller/Api/V0/Subject.php
index 96eac1233..1a24cef88 100644
--- a/~dev_rating/application/classes/Controller/Api/V0/Subject.php
+++ b/~dev_rating/application/classes/Controller/Api/V0/Subject.php
@@ -24,27 +24,79 @@ class Controller_Api_V0_Subject extends Controller_Handler_Api
             $this->badRequestError('Incorrect request parameters');
 
         $student = Model_Student::load($id);
-        $disciplines = $student->getDisciplines($semester);
-        $teachers = $student->getTeachers(true, $semester);
-
-        $res = [];
-        foreach ($disciplines as $discipline) {
-            $subj = new StdClass(); // ToDo: Replace by specialized class
-            $subj->ID = $discipline->SubjectID;
-            $subj->DisciplineName = $discipline->SubjectName;
-            $subj->Teachers = [];
-            foreach ($teachers[$discipline->ID] as $teacher) {
-                $t = new StdClass(); // ToDo: Replace by specialized class
-                $t->ID = $teacher['TeacherID'];
-                $t->LastName = $teacher['LastName'];
-                $t->FirstName = $teacher['FirstName'];
-                $t->SecondName = $teacher['SecondName'];
-
-                $subj->Teachers[] = $t;
+
+        $disciplines = [];
+        $teachers = [];
+
+        if ( $semester == null )
+        {
+            $semester = 3; // HotFix for survey
+            $disciplines = $student->getDisciplines($semester);
+            $teachers = $student->getTeachers(true, $semester);
+            $res = [];
+            foreach ($disciplines as $discipline) {
+                $subj = new StdClass(); // ToDo: Replace by specialized class
+                $subj->ID = $discipline->SubjectID;
+                $subj->DisciplineName = $discipline->SubjectName;
+                $subj->Teachers = [];
+                foreach ($teachers[$discipline->ID] as $teacher) {
+                    $t = new StdClass(); // ToDo: Replace by specialized class
+                    $t->ID = $teacher['TeacherID'];
+                    $t->LastName = $teacher['LastName'];
+                    $t->FirstName = $teacher['FirstName'];
+                    $t->SecondName = $teacher['SecondName'];
+
+                    $subj->Teachers[] = $t;
+                }
+                $res[] = $subj;
+            }
+
+            $disciplines = $student->getDisciplines($semester+1);
+            $teachers = $student->getTeachers(true, $semester+1);
+            foreach ($disciplines as $discipline) {
+                $subj = new StdClass(); // ToDo: Replace by specialized class
+                $subj->ID = $discipline->SubjectID;
+                $subj->DisciplineName = $discipline->SubjectName;
+                $subj->Teachers = [];
+                foreach ($teachers[$discipline->ID] as $teacher) {
+                    $t = new StdClass(); // ToDo: Replace by specialized class
+                    $t->ID = $teacher['TeacherID'];
+                    $t->LastName = $teacher['LastName'];
+                    $t->FirstName = $teacher['FirstName'];
+                    $t->SecondName = $teacher['SecondName'];
+
+                    $subj->Teachers[] = $t;
+                }
+                $res[] = $subj;
             }
-            $res[] = $subj;
+
+            return $res;
+        }
+        else
+        {
+            $disciplines = $student->getDisciplines($semester);
+            $teachers = $student->getTeachers(true, $semester);
+
+            $res = [];
+            foreach ($disciplines as $discipline) {
+                $subj = new StdClass(); // ToDo: Replace by specialized class
+                $subj->ID = $discipline->SubjectID;
+                $subj->DisciplineName = $discipline->SubjectName;
+                $subj->Teachers = [];
+                foreach ($teachers[$discipline->ID] as $teacher) {
+                    $t = new StdClass(); // ToDo: Replace by specialized class
+                    $t->ID = $teacher['TeacherID'];
+                    $t->LastName = $teacher['LastName'];
+                    $t->FirstName = $teacher['FirstName'];
+                    $t->SecondName = $teacher['SecondName'];
+
+                    $subj->Teachers[] = $t;
+                }
+                $res[] = $subj;
+            }
+
+            return $res;
         }
 
-        return $res;
     }
 }
-- 
GitLab