diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 7970bf91..736186d1 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -343,4 +343,22 @@ class AdminController extends Controller } } + /** + * Get one user information + * + * @param string $uid + * @return JsonResponse + */ + public function getOneUser($uid, UserRepository $users) + { + $user = $users->get(intval($uid)); + if ($user) { + return json('success', 0, ['user' => $user->makeHidden([ + 'password', 'ip', 'last_sign_at', 'register_at' + ])->toArray()]); + } else { + return json('No such user.', 1); + } + } + } diff --git a/app/Http/Routes/web.php b/app/Http/Routes/web.php index d2b2dad1..bdaf3d56 100644 --- a/app/Http/Routes/web.php +++ b/app/Http/Routes/web.php @@ -108,6 +108,7 @@ Route::group(['middleware' => 'admin', 'prefix' => 'admin'], function () Route::get('/players', 'AdminController@players'); Route::get('/player-data', 'AdminController@getPlayerData'); + Route::get('/user/{uid}', 'AdminController@getOneUser'); // ajax handlers Route::post('/users', 'AdminController@userAjaxHandler'); diff --git a/resources/assets/src/scripts/admin.js b/resources/assets/src/scripts/admin.js index 582ab749..9719ab7b 100644 --- a/resources/assets/src/scripts/admin.js +++ b/resources/assets/src/scripts/admin.js @@ -2,7 +2,7 @@ * @Author: printempw * @Date: 2016-07-22 14:02:44 * @Last Modified by: g-plane - * @Last Modified time: 2017-04-25 23:21:54 + * @Last Modified time: 2017-04-26 15:12:19 */ 'use strict'; @@ -299,7 +299,7 @@ function ajaxChangeTexture(pid) { function changeOwner(pid) { let dom = $(`#${pid} > td:nth-child(2)`); swal({ - text: trans('admin.changePlayerOwner'), + html: `${trans('admin.changePlayerOwner')}
 `, input: 'number', inputValue: dom.text(), showCancelButton: true @@ -311,7 +311,7 @@ function changeOwner(pid) { data: { 'pid': pid, 'uid': uid }, success: function (json) { if (json.errno == 0) { - $($('#' + pid).children()[1]).text(uid); + dom.text(uid); toastr.success(json.msg); } else { toastr.warning(json.msg); @@ -320,6 +320,24 @@ function changeOwner(pid) { error: showAjaxError }); }); + + $('.swal2-input').on('input', _.debounce(() => { + const uid = $('.swal2-input').val(); + if (uid > 0) { + Promise.resolve($.ajax({ + type: 'GET', + url: `./user/${uid}`, + dataType: 'json' + })).then(result => { + $('#swal2-content').html( + `${trans('admin.changePlayerOwner')}
+ ${trans('admin.targetUser', { nickname: result.user.nickname })}` + ); + }).catch(() => { + $('#swal2-content').html(`${trans('admin.changePlayerOwner')}
${trans('admin.noSuchUser')}`); + }); + } + }, 350)); } function deletePlayer(pid) { diff --git a/resources/lang/en/locale.js b/resources/lang/en/locale.js index 80fe4ac5..5c5cd52f 100644 --- a/resources/lang/en/locale.js +++ b/resources/lang/en/locale.js @@ -137,6 +137,8 @@ deletePlayer: 'Delete', changePlayerOwner: 'Please enter the id of user which this player should be transferred to:', deletePlayerNotice: 'Are you sure to delete this player? It\' permanent.', + targetUser: 'Target user is :nickname', + noSuchUser: 'No such user', // Index textureUploads: 'Texture Uploads', diff --git a/resources/lang/zh_CN/locale.js b/resources/lang/zh_CN/locale.js index 4a9fa546..06099cdb 100644 --- a/resources/lang/zh_CN/locale.js +++ b/resources/lang/zh_CN/locale.js @@ -137,6 +137,8 @@ deletePlayer: '删除角色', changePlayerOwner: '请输入此角色要让渡至的用户 UID:', deletePlayerNotice: '真的要删除此角色吗?此操作不可恢复', + targetUser: '目标用户::nickname', + noSuchUser: '没有这个用户哦~', // Index textureUploads: '材质上传',