diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index 2918e95622313ba449f7cff5d753c7ae8d545b0b..c1ea04a16c12f7a1420625985bff1a3c74905e6f 100644
--- a/db/StoredProcedures.sql
+++ b/db/StoredProcedures.sql
@@ -451,7 +451,7 @@ BEGIN
 			user_roles.RoleName	AS 'AccRole',	 
 			user_roles.Mark 	AS 'AccRoleMark',	 
 			accounts.isEnabled,
-			( accounts.ActivationCode IS NULL) AS 'isActivated',
+			accounts.ActivationCode AS 'AccCode',
 			accounts.UserAgent	
 	FROM `accounts`
 	INNER JOIN `user_roles` ON accounts.UserRoleID = user_roles.ID
diff --git a/~dev_rating/application/classes/Controller/Handler/AdmAccounts.php b/~dev_rating/application/classes/Controller/Handler/AdmAccounts.php
index 8f7067d1281daa2923e5de5c5da06e8f12c85e09..1b5beb1307af857f022502c9f28b95d9cc940c37 100644
--- a/~dev_rating/application/classes/Controller/Handler/AdmAccounts.php
+++ b/~dev_rating/application/classes/Controller/Handler/AdmAccounts.php
@@ -8,6 +8,45 @@ class Controller_Handler_AdmAccounts extends Controller_Handler {
             parent::before();
         }
         
+        public function action_getActivationForTeachers()
+        {
+            $facultyID = $this->post->offsetGet('facultyID');
+            $departmentsHandled = array(); $i = 0;
+            $departments = $this->model->getDepartmentsByFaculty($facultyID);
+            foreach ($departments as $department)
+            {
+                $i++; $j = 0;
+                $accounts = $this->model->getTeachersByDepartment($department['DepID']);
+                $departmentsHandled[$i]['Name'] = $department['DepName'];
+                foreach ($accounts as $row)
+                {
+                    $accInfo = $this->model->getAccountInfoByID($row['TeacherAccID']);
+                    if($code = $accInfo->get('AccCode'))
+                    {
+                        $j++;
+                        $departmentsHandled[$i]['People'][$j]['LastName'] = $row['TeacherLast'];
+                        $departmentsHandled[$i]['People'][$j]['FirstName'] = $row['TeacherFirst'];
+                        $departmentsHandled[$i]['People'][$j]['SecondName'] = $row['TeacherSecond'];
+                        $departmentsHandled[$i]['People'][$j]['ActivationCode'] = $code;
+                    }
+                }
+                if($j == 0)
+                {
+                    $departmentsHandled[$i] = array();
+                    $i--;
+                }
+            }
+            if($i > 0)
+            {
+                $this->_sendPDF('activationTeachers'.$facultyID, 
+                        'pdf/activationTeacher',
+                        array('Departments' => $departmentsHandled, 'System' => array('Title' => ASSEMBLY_SYSTEM_NAME, 'Version' => ASSEMBLY_VERSION)));
+            }
+            else {
+                throw HTTP_Exception::factory(404, 'No data found');
+            }
+        }
+        
         public function action_getActivationForStudents()
         {
             $facultyID = $this->post->offsetGet('facultyID');
@@ -33,25 +72,35 @@ class Controller_Handler_AdmAccounts extends Controller_Handler {
                         $groupsHandled[$i]['People'][$j]['ActivationCode'] = $code;
                     }
                 }
-                $groupsHandled[$i]['PeopleCount'] = $j;
+                if($j == 0)
+                {
+                    $groupsHandled[$i] = array();
+                    $i--;
+                }
+            }
+            if($i > 0)
+            {
+            $this->_sendPDF('activationStudents'.$facultyID.'-'.$gradeNum, 
+                    'pdf/activationStudent',
+                    array('Groups' => $groupsHandled, 'System' => array('Title' => ASSEMBLY_SYSTEM_NAME, 'Version' => ASSEMBLY_VERSION)));
             }
-            $mpdf = View_MPDF::factory('pdf/activationTemplate', array('Groups' => $groupsHandled, 
-                'System' => array('Title' => ASSEMBLY_SYSTEM_NAME, 'Version' => ASSEMBLY_VERSION)));
+            else {
+                throw HTTP_Exception::factory(404, 'No data found');
+            }
+        }
+        
+        protected function _sendPDF($filename, $template, $data)
+        {
+            $mpdf = View_MPDF::factory($template, $data);
             $cssPath = 'media/css/acTpl.css';
             $css = file_get_contents($cssPath);
             $mpdf->get_mpdf()->WriteHTML($css, 1);
-            //$mpdf->write_to_disk('media/pdf/activationStudent'.$facultyID.'-'.$gradeNum.'.pdf');
             $this->response->headers('Set-Cookie',  'fileDownload=true; path=/');
             $this->response->headers('Content-Type',  'application/octet-stream');
             $this->response->headers('Accept-Ranges', 'bytes');
             $this->response->headers('Content-Length', strlen($mpdf));
-            $this->response->headers('Content-Disposition',  'attachment; filename=activationStudent'.$facultyID.'-'.$gradeNum.'.pdf');
+            $this->response->headers('Content-Disposition',  'attachment; filename='.$filename.'.pdf');
             $this->response->headers('Content-Transfer-Encoding',  'Binary');
             $this->response->body($mpdf);
         }
-        
-        public function action_getActivationForTeachers()
-        {
-            
-        }
 }
\ No newline at end of file
diff --git a/~dev_rating/application/classes/Model/Admin/Accounts.php b/~dev_rating/application/classes/Model/Admin/Accounts.php
index c4862cbfd06381acccb4c6545c7024c75273adc3..f92a24c130f865278356cd5c13127e355cd1d02b 100644
--- a/~dev_rating/application/classes/Model/Admin/Accounts.php
+++ b/~dev_rating/application/classes/Model/Admin/Accounts.php
@@ -18,7 +18,19 @@ class Model_Admin_Accounts extends Model
     {
         $sql = "CALL `GetStudentsByStudyGroups`('$groupID'); ";
         return DB::query(Database::SELECT, $sql)->execute();
-    }    
+    }
+    
+    public function getDepartmentsByFaculty($facultyID)
+    {
+        $sql = "CALL `GetDepartmentsByFaculty`('$facultyID'); ";
+        return DB::query(Database::SELECT, $sql)->execute();
+    }   
+    
+    public function getTeachersByDepartment($departmentID)
+    {
+        $sql = "CALL `GetTeachersByDepartment`('$departmentID'); ";
+        return DB::query(Database::SELECT, $sql)->execute();
+    }   
     
     public function getAccountInfoByID($ID)
     {
diff --git a/~dev_rating/application/views/admin/accounts/codes.twig b/~dev_rating/application/views/admin/accounts/codes.twig
index 199034465e3581e0141c456f8286bbd829458200..ec7de39d2efbaaf62f492939fd2fb66bf70d5057 100644
--- a/~dev_rating/application/views/admin/accounts/codes.twig
+++ b/~dev_rating/application/views/admin/accounts/codes.twig
@@ -13,7 +13,7 @@
     <div class="stepBox" id="FirstStep">
 
         <div class="step_title" >
-            <span class='step_title_count'>Шаг 1 из 4:</span> <span class='step_title_description'>Выберите круг пользователей</span>
+            <span class='step_title_count'>Шаг 1:</span> <span class='step_title_description'>Выберите круг пользователей</span>
         </div>
         <div class="step_body">
             <div class='radGroup'>
@@ -30,7 +30,7 @@
     </div>
     <div class="stepBox" id="SecondStep">
         <div class="step_title">
-            <span class='step_title_count'>Шаг 2 из 4:</span> <span class='step_title_description'>Выберите подразделение университета</span>
+            <span class='step_title_count'>Шаг 2:</span> <span class='step_title_description'>Выберите подразделение университета</span>
         </div>
         <div class="step_body">
             <select id="facultySelect">
@@ -43,7 +43,7 @@
     </div>
     <div class="stepBox" id="ThirdStep_Student">
         <div class="step_title">
-            <span class='step_title_count'>Шаг 3 из 4:</span> <span class='step_title_description'>Выберите номер курса</span>
+            <span class='step_title_count'>Шаг 3:</span> <span class='step_title_description'>Выберите номер курса</span>
         </div>
         <div class="step_body">
             <select id="gradeSelect">
@@ -62,31 +62,21 @@
         </div>
     </div>
     <div class="stepBox" id="ThirdStep_Teacher">
-        <div class="step_title">
-            <span class='step_title_count'>Шаг 3 из 4:</span> <span class='step_title_description'>Выберите кафедру</span>
-        </div>
-        <div class="step_body">
-            <select id="departmentSelect">
-                <option value="0">--- Кафедра ---</option>
-            </select>
-        </div>
-    </div>
-    <div class="stepBox" id="FourthStep_Student">
         <div class="step_title" >
-            <span class='step_title_count'>Шаг 4 из 4:</span> <span class='step_title_description'>Сохраните сгенерированный файл</span>
+            <span class='step_title_count'>Шаг 3:</span> <span class='step_title_description'>Сохраните сгенерированный файл</span>
         </div>
         <div class="step_body">
-            <button id="downloadStudentPDF">
+            <button id="downloadTeacherPDF">
                 Загрузить PDF-файл
             </button>
         </div>
     </div>
-    <div class="stepBox" id="FourthStep_Teacher">
+    <div class="stepBox" id="FourthStep_Student">
         <div class="step_title" >
-            <span class='step_title_count'>Шаг 4 из 4:</span> <span class='step_title_description'>Сохраните сгенерированный файл</span>
+            <span class='step_title_count'>Шаг 4:</span> <span class='step_title_description'>Сохраните сгенерированный файл</span>
         </div>
         <div class="step_body">
-            <button id="downloadTeacherPDF">
+            <button id="downloadStudentPDF">
                 Загрузить PDF-файл
             </button>
         </div>
diff --git a/~dev_rating/application/views/pdf/activationTemplate.twig b/~dev_rating/application/views/pdf/activationStudent.twig
similarity index 100%
rename from ~dev_rating/application/views/pdf/activationTemplate.twig
rename to ~dev_rating/application/views/pdf/activationStudent.twig
diff --git a/~dev_rating/application/views/pdf/activationTeacher.twig b/~dev_rating/application/views/pdf/activationTeacher.twig
new file mode 100644
index 0000000000000000000000000000000000000000..febcef6253a23f737282343675184538207d2261
--- /dev/null
+++ b/~dev_rating/application/views/pdf/activationTeacher.twig
@@ -0,0 +1,22 @@
+{% for department in Departments %}
+    <h1>{{ System.Title }} - коды активации</h1>
+    <h3>{{ department.Name }}</h3>
+    {% for account in department.People %}
+        <table width='80%' cellspacing='0'>
+        <tr>
+            <td class="cutline" width='10%'>&nbsp;</td>
+            <td class='personal_info' width='70%'>
+                {{ loop.index }}. {{ account.LastName }} {{ account.FirstName }} {{ account.SecondName }}
+            </td>
+            <td class='activation_code' width='30%'>
+                {{ account.ActivationCode }}
+            </td>
+        </tr>
+        </table>
+    {% endfor %}
+    
+    {% if not loop.last %}
+        <pagebreak />
+    {% endif %}
+{% endfor %}
+&nbsp;
\ No newline at end of file
diff --git a/~dev_rating/media/js/admin/accounts/codes.js b/~dev_rating/media/js/admin/accounts/codes.js
index d6040193202f168d6de99e4078c4f8b28a48ff61..09474e623d4dfdd510d42eeea7523757eb9452bb 100644
--- a/~dev_rating/media/js/admin/accounts/codes.js
+++ b/~dev_rating/media/js/admin/accounts/codes.js
@@ -46,25 +46,21 @@ $(function()
             $('#FourthStep_'+radioValue).css('display', 'block'); 
         }
     });
-    
-    // Выбор курса
-    $('#departmentSelect').change(function(){
-
-        if (($('#departmentSelect option:selected').val()!= '0')) {
-            $('#FourthStep_'+radioValue).css('display', 'block'); 
-        }
-    });
-    
-    
+        
     $('body').on('click', '#downloadTeacherPDF', function(){
         $('#downloadTeacherPDF').attr('disabled', 'disabled');
-        $.post('/~dev_rating/handler/admAccounts/getActivationForTeachers', 
-        {
-            'facultyID': $('#facultySelect option:selected').val(),
-            'departmentID': $('#departmentSelect option:selected').val()
-        }, 
-        function(data){
-            $('#downloadTeacherPDF').removeAttr('disabled');
+        $.fileDownload('/~dev_rating/handler/admAccounts/getActivationForTeachers', {
+            httpMethod: "POST",
+            data: 
+            {
+                'facultyID': $('#facultySelect option:selected').val()
+            },
+            successCallback: function (url) {
+                 $('#downloadTeacherPDF').removeAttr('disabled');
+            },
+            failCallback: function (html, url) {
+                 $('#downloadTeacherPDF').removeAttr('disabled');
+            }
         });
     }); 
     
@@ -82,7 +78,6 @@ $(function()
             },
             failCallback: function (html, url) {
                  $('#downloadStudentPDF').removeAttr('disabled');
-                 alert(html);
             }
         });
     });