From d499394dafd02319a51051d23f948a2a91b58ebf Mon Sep 17 00:00:00 2001
From: RomanSteinberg <romanofficial@yandex.ru>
Date: Wed, 6 May 2015 16:59:45 +0300
Subject: [PATCH] ADD: loading teachers with faculty info in file

---
 .../application/classes/FileParser.php        | 21 +++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/~dev_rating/application/classes/FileParser.php b/~dev_rating/application/classes/FileParser.php
index 283fd7ff2..420a081fe 100644
--- a/~dev_rating/application/classes/FileParser.php
+++ b/~dev_rating/application/classes/FileParser.php
@@ -75,17 +75,30 @@ class FileParser
     
     public static function TeachersList($filename)
     {
+        // get faculties list
+        $model = new Model_Admin_Teachers;
+        $dbFaculties = $model->getFaculties();
+        foreach ($dbFaculties as $rec) {
+            $name = trim($rec['Name']);
+            $id = $rec['ID'];
+            $faculties[$name] = $id;
+        }
+
         if(File::mime($filename) != 'text/plain')
             return true;
         $file = fopen($filename, "r"); 
-        $i = 0;
-        while ($line = fgetcsv($file, 0, ";")) 
+        $i = $j = 0;
+        while ($line = fgetcsv($file, 0, ";"))
         {
             // Имя, фамилия, отчество
             list($lastName, $firstName, $secondName) = self::parsePeopleName($line[0]);
             $departmentName = $line[1];
-            $attempt = Account::instance()->createTeacherByDepName($lastName, $firstName, $secondName, 
-                                                $departmentName, 6); // TODO fix facultyID hardcode
+            $facultyID = 6;  // TODO fix facultyID hardcode
+            if ($line[2])
+                $facultyID = $faculties[trim($line[2])];
+
+            $attempt = Account::instance()->createTeacherByDepName($lastName, $firstName, $secondName,
+                                                $departmentName, $facultyID);
             if($attempt == -1)
             {
                 $resultArr[$j]['Row'] = $i;
-- 
GitLab