Using username instead of user id see BT#4747

skala
Julio Montoya 13 years ago
parent 17ec930cbf
commit 3f6998f09f
  1. 14
      main/admin/session_user_import.php
  2. 14
      main/user/user.php
  3. 51
      main/user/user_import.php

@ -43,8 +43,12 @@ if ($_POST['formSent']) {
// CSV // CSV
$users = Import::csv_to_array($_FILES['import_file']['tmp_name']); $users = Import::csv_to_array($_FILES['import_file']['tmp_name']);
$user_list = array(); $user_list = array();
foreach ($users as $user) { foreach ($users as $user_data) {
$user_list[] = $user['id']; $username = $user_data['username'];
$user_id = UserManager::get_user_id_from_username($username);
if ($user_id) {
$user_list[] = $user_id;
}
} }
if (!empty($user_list)) { if (!empty($user_list)) {
@ -98,9 +102,9 @@ $form->display();
<blockquote> <blockquote>
<pre> <pre>
id; username;
06; jdoe;
30; jmontoya;
</pre> </pre>
</blockquote> </blockquote>

@ -101,15 +101,15 @@ if (api_is_allowed_to_edit(null, true)) {
if (api_get_setting('show_email_addresses') == 'true') { if (api_get_setting('show_email_addresses') == 'true') {
$select_email_condition = ' user.email, '; $select_email_condition = ' user.email, ';
if ($sort_by_first_name) { if ($sort_by_first_name) {
$a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active')); $a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Username'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
} else { } else {
$a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active')); $a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Username'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
} }
} else { } else {
if ($sort_by_first_name) { if ($sort_by_first_name) {
$a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active')); $a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Username'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
} else { } else {
$a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active')); $a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Username'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
} }
} }
@ -134,7 +134,7 @@ if (api_is_allowed_to_edit(null, true)) {
if (api_get_session_id()) { if (api_get_session_id()) {
$table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", $select_email_condition phone, user.official_code, active $legal $sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.username, $select_email_condition phone, user.official_code, active $legal
FROM $table_session_course_user as session_course_user, $table_users as user "; FROM $table_session_course_user as session_course_user, $table_users as user ";
if ($_configuration['multiple_access_urls']) { if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au '; $sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
@ -189,7 +189,7 @@ if (api_is_allowed_to_edit(null, true)) {
// users directly subscribed to the course // users directly subscribed to the course
$table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", $select_email_condition phone, user.official_code, active $legal $sql_query = "SELECT DISTINCT user.user_id, user.username, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.username, $select_email_condition phone, user.official_code, active $legal
FROM $table_course_user as course_user, $table_users as user "; FROM $table_course_user as course_user, $table_users as user ";
if ($_configuration['multiple_access_urls']) { if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au '; $sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
@ -719,4 +719,4 @@ if (api_get_setting('allow_user_headings') == 'true' && $is_courseAdmin && api_i
} }
if ($origin != 'learnpath') { if ($origin != 'learnpath') {
Display::display_footer(); Display::display_footer();
} }

@ -46,18 +46,20 @@ if ($form->validate()) {
$invalid_users = array(); $invalid_users = array();
$clean_users = array(); $clean_users = array();
$users_in_file = array();
if (!empty($users)) {
if (!empty($users)) {
foreach ($users as $user) { foreach ($users as $user_data) {
$user_info = api_get_user_info($user['id']); $username = $user_data['username'];
if (!empty($user_info)) { $user_id = UserManager::get_user_id_from_username($username);
$clean_users[$user['id']] = $user_info; $user_info = api_get_user_info($user_id);
$users_in_file[$user['id']] = $user; if ($user_id && !empty($user_info)) {
$clean_users[$user_id] = $user_info;
} else { } else {
$invalid_users[] = $user['id']; $invalid_users[] = $user_id;
} }
} }
if (empty($invalid_users)) { if (empty($invalid_users)) {
$type = 'confirmation'; $type = 'confirmation';
$message = get_lang('ListOfUsersSubscribedToCourse'); $message = get_lang('ListOfUsersSubscribedToCourse');
@ -71,19 +73,19 @@ if ($form->validate()) {
} }
CourseManager::unsubscribe_user($user_ids, $course_code, $session_id); CourseManager::unsubscribe_user($user_ids, $course_code, $session_id);
} }
} }
foreach ($clean_users as $user_info) {
foreach ($users as $user) { $user_id = $user_info['user_id'];
CourseManager :: subscribe_user($user['id'], $course_code, STUDENT, $session_id); CourseManager :: subscribe_user($user_id, $course_code, STUDENT, $session_id);
if (empty($session_id)) { if (empty($session_id)) {
//just to make sure //just to make sure
if (CourseManager :: is_user_subscribed_in_course($user['id'], $course_code)) { if (CourseManager :: is_user_subscribed_in_course($user_id, $course_code)) {
$user_to_show[]= $clean_users[$user['id']]['complete_name']; $user_to_show[]= $user_info['complete_name'];
} }
} else { } else {
//just to make sure //just to make sure
if (CourseManager :: is_user_subscribed_in_course($user['id'], $course_code, true, $session_id)) { if (CourseManager :: is_user_subscribed_in_course($user_id, $course_code, true, $session_id)) {
$user_to_show[]= $clean_users[$user['id']]['complete_name']; $user_to_show[]= $user_info['complete_name'];
} }
} }
} }
@ -115,12 +117,11 @@ if (!empty($message)) {
$form->display(); $form->display();
echo get_lang('CSVMustLookLike'); echo get_lang('CSVMustLookLike');
echo '<blockquote>'; echo '<blockquote><pre>
echo '<pre> username;
"id"; jdoe;
"x"; jmontoya;
"y"; </pre>
</pre> </blockquote>';
';
echo '</blockquote>';
Display::display_footer(); Display::display_footer();
Loading…
Cancel
Save