Saving course-session relationships see BT#4875

skala
Julio Montoya 13 years ago
parent f8309cfdd7
commit dd87767caf
  1. 3
      main/inc/lib/sessionmanager.lib.php
  2. 12
      tests/migrate/migration.class.php
  3. 28
      tests/migrate/migration.custom.class.php
  4. 5
      tests/migrate/migration.mssql.class.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();

@ -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);
}
}

@ -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;
}
}

@ -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);

Loading…
Cancel
Save