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: '材质上传',