Browse Source

Saving course-session relationships see BT#4875

Julio Montoya 12 years ago
parent
commit
dd87767caf

+ 2 - 1
main/inc/lib/sessionmanager.lib.php

@@ -242,6 +242,7 @@ class SessionManager {
                 $inject_extra_fields
                 c.title as course_title,
                 s.id";
+        
 
 		$query = "$select FROM $tbl_session s LEFT JOIN $tbl_session_field_values fv ON (fv.session_id = s.id)
                 LEFT JOIN $tbl_session_rel_course src ON (src.id_session = s.id)
@@ -279,7 +280,7 @@ class SessionManager {
             $query .= " LIMIT ".$options['limit'];
         }
         
-        //var_dump($query);
+        ///var_dump($query);
         
 		$result = Database::query($query);
 		$formatted_sessions = array();

+ 7 - 5
tests/migrate/migration.class.php

@@ -183,7 +183,8 @@ class Migration {
             }
             
             //Stop here
-            if ($table['orig_table'] == 'ProgramaAcademico')  {                
+            if ($table['orig_table'] == 'Matricula')  {
+                error_log(print_r($this->data_list['sessions'], 1));
                 exit;
             }
         }
@@ -209,7 +210,7 @@ class Migration {
     }
     
     function execute_field_match($table, $row, $extra_fields) {
-        error_log('execute_field_match');
+        //error_log('execute_field_match');
         $dest_row = array();
         $first_field = '';
         $my_extra_fields = isset($extra_fields[$table['dest_table']]) ? $extra_fields[$table['dest_table']] : null;
@@ -257,7 +258,7 @@ class Migration {
                                 if ($key == 'option_value' && $value == $dest_row[$details['dest']]) {
                                     $value = $option['option_display_text'];                                    
                                     if ($field_type == Extrafield::FIELD_TYPE_SELECT) {
-                                        $value = $option['option_value'];    
+                                        $value = $option['option_display_text'];    
                                     }
                                     //error_log('asi -> ');
                                     //error_log(print_r($option, 1));
@@ -320,7 +321,8 @@ class Migration {
                         //exit;
                     }
                     break;
-                case 'session':
+                case 'session':                     
+                    $this->data_list['sessions'][$dest_row['uidIdCabProgramaAcademico']] = $item_result;
                     $handler_id = $item_result['session_id'];
                     break;
             }
@@ -330,7 +332,7 @@ class Migration {
                 foreach ($extra_fields_to_insert as $params) {
                     //error_log($extra_field_value_obj->handler_id);
                     $params[$extra_field_value_obj->handler_id] =  $handler_id;                         
-                    error_log('$extra_field_value_obj params: ' . print_r($params, 1));
+                    //error_log('$extra_field_value_obj params: ' . print_r($params, 1));
                     $extra_field_value_obj->save($params);    
                 }
             }

+ 22 - 6
tests/migrate/migration.custom.class.php

@@ -67,6 +67,7 @@ class MigrationCustom {
      */
     public function log_original_session_unique_id($data, &$omigrate) {
         $omigrate['sessions'][$data] = 0;
+        return $data;
     }
     
     public function get_real_course_code($data, &$omigrate, $row_data) {
@@ -74,17 +75,28 @@ class MigrationCustom {
         error_log(print_r($data,1));
         error_log(print_r($omigrate['courses'][$data], 1));*/
         if (!isset($omigrate['courses'][$data])) {
-            error_log("Course not found in data_list array $data ");
+            error_log("Course not found in data_list array");
+            error_log(print_r($data, 1));
             exit;
         }
         return $omigrate['courses'][$data]['code'];
     }
     
+    function get_session_id($data, &$omigrate, $row_data) {
+        error_log(print_r($data, 1));
+        error_log(print_r($row_data, 1));
+        if (!isset($omigrate['sessions'][$data])) {
+            error_log(print_r($omigrate['sessions'], 1));
+            error_log("sessions not found in data_list array ");
+            exit;
+        }
+        return $omigrate['sessions'][$data];        
+    }
+    
     public function get_real_teacher_id($data, &$omigrate, $row_data) {
         //error_log('get_real_teacher_id');
         //error_log(print_r($data, 1));                
-        //error_log(print_r($omigrate['users_empleado'], 1));
-        //error_log($data);
+        //error_log(print_r($omigrate['users_empleado'], 1));        
         //error_log('get_real_teacher_id');
         //error_log($data);               
         if (empty($omigrate['users_empleado'][$data])) {
@@ -162,10 +174,14 @@ class MigrationCustom {
         return $user_info;
     }
     
-     public function add_course_to_session($data, &$data_list) {       
-        //error_log(print_r($data, 1));
+     public function add_user_to_session($data, &$data_list) {       
+        error_log(print_r($data, 1));
         //error_log(print_r($data_list['user'], 1));        
-        //$user_id = UserManager::add($data);        
+        //$user_id = UserManager::add($data);  
+         
+        //SessionManager::suscribe_users_to_session($data['session_id'], array($data['user_id']));
         return $user_id;
     }
+    
+    
 }

+ 4 - 1
tests/migrate/migration.mssql.class.php

@@ -32,10 +32,13 @@ class MigrationMSSQL extends Migration {
         }
         //In order to process X item of each table add TOP X
         
-        $top = " TOP 1000 ";
+        $top = " TOP 5000 ";
         if (in_array($table, array('Persona', 'Alumno', 'Empleado'))) {
             $top = " TOP 10 ";            
         }
+        if ($table == 'ProgramaAcademico') {
+            $top = "  ";    
+        }
         $sql = "SELECT $top $fields_sql FROM $table";
         //remove
         error_log($sql);