Fix extrafield of type tag when save a user info #1941

pull/2487/head
Angel Fernando Quiroz Campos 8 years ago
parent f7b24a3e1f
commit d6384115de
  1. 20
      main/inc/ajax/user_manager.ajax.php
  2. 2
      main/inc/lib/extra_field_value.lib.php
  3. 9
      main/inc/lib/usermanager.lib.php

@ -90,13 +90,22 @@ switch ($action) {
} }
break; break;
case 'search_tags': case 'search_tags':
header('Content-Type: application/json');
$result = ['items' => []];
if (api_is_anonymous()) { if (api_is_anonymous()) {
echo ''; echo json_encode($result);
} else { break;
if (isset($_GET['tag']) && isset($_GET['field_id'])) {
echo UserManager::get_tags($_GET['tag'], $_GET['field_id'], 'json', '10');
}
} }
if (!isset($_GET['q'], $_GET['field_id'])) {
echo json_encode($result);
break;
}
$result['items'] = UserManager::get_tags($_GET['q'], $_GET['field_id'], null, '10');
echo json_encode($result);
break; break;
case 'generate_api_key': case 'generate_api_key':
if (api_is_anonymous()) { if (api_is_anonymous()) {
@ -174,4 +183,3 @@ switch ($action) {
echo ''; echo '';
} }
exit; exit;

@ -106,7 +106,7 @@ class ExtraFieldValue extends Model
// Parse params. // Parse params.
foreach ($extraFields as $fieldDetails) { foreach ($extraFields as $fieldDetails) {
if ($fieldDetails['visible_to_self'] != 1) { if ($fieldDetails['visible_to_self'] != 1 && !api_is_platform_admin(true, true)) {
continue; continue;
} }

@ -389,10 +389,11 @@ class UserManager
UrlManager::add_user_to_url($userId, 1); UrlManager::add_user_to_url($userId, 1);
} }
$extra['item_id'] = $userId;
if (is_array($extra) && count($extra) > 0) { if (is_array($extra) && count($extra) > 0) {
foreach ($extra as $fname => $fvalue) { $courseFieldValue = new ExtraFieldValue('user');
self::update_extra_field_value($userId, $fname, $fvalue); $courseFieldValue->saveFieldValues($extra);
}
} else { } else {
// Create notify settings by default // Create notify settings by default
self::update_extra_field_value($userId, 'mail_notify_invitation', '1'); self::update_extra_field_value($userId, 'mail_notify_invitation', '1');
@ -3475,7 +3476,7 @@ class UserManager
$return = array(); $return = array();
if (Database::num_rows($result) > 0) { if (Database::num_rows($result) > 0) {
while ($row = Database::fetch_array($result, 'ASSOC')) { while ($row = Database::fetch_array($result, 'ASSOC')) {
$return[] = array('key' => $row['tag'], 'value' => $row['tag']); $return[] = array('id' => $row['tag'], 'text' => $row['tag']);
} }
} }
if ($return_format === 'json') { if ($return_format === 'json') {

Loading…
Cancel
Save