add renaming closet items
This commit is contained in:
parent
74c07d8353
commit
15c3c55142
|
|
@ -51,7 +51,7 @@ class ClosetController extends Controller
|
|||
{
|
||||
$this->validate($request, [
|
||||
'tid' => 'required|integer',
|
||||
'name' => 'required|nickname',
|
||||
'name' => 'required|no_special_chars'
|
||||
]);
|
||||
|
||||
if ($this->closet->add($request->tid, $request->name)) {
|
||||
|
|
@ -65,6 +65,20 @@ class ClosetController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
public function rename(Request $request)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'tid' => 'required|integer',
|
||||
'new_name' => 'required|no_special_chars'
|
||||
]);
|
||||
|
||||
if ($this->closet->rename($request->tid, $request->new_name)) {
|
||||
return json(trans('user.closet.rename.success', ['name' => $request->new_name]), 0);
|
||||
} else {
|
||||
return json(trans('user.closet.remove.non-existent'), 0);
|
||||
}
|
||||
}
|
||||
|
||||
public function remove(Request $request)
|
||||
{
|
||||
$this->validate($request, [
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated
|
|||
Route::get ('/closet', 'ClosetController@index');
|
||||
Route::post('/closet/add', 'ClosetController@add');
|
||||
Route::post('/closet/remove', 'ClosetController@remove');
|
||||
Route::post('/closet/rename', 'ClosetController@rename');
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -120,6 +120,27 @@ class Closet
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename closet item.
|
||||
*
|
||||
* @param integer $tid
|
||||
* @param string $new_name
|
||||
* @return void
|
||||
*/
|
||||
public function rename($tid, $new_name)
|
||||
{
|
||||
$offset = 0;
|
||||
foreach ($this->textures as $item) {
|
||||
if ($item['tid'] == $tid) {
|
||||
$this->textures[$offset]['name'] = $new_name;
|
||||
}
|
||||
$offset++;
|
||||
}
|
||||
|
||||
$this->model->textures = json_encode($this->textures);
|
||||
return $this->model->save();
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a texture from closet
|
||||
* @param int $tid
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: printempw
|
||||
* @Date: 2016-07-16 10:02:24
|
||||
* @Last Modified by: printempw
|
||||
* @Last Modified time: 2016-09-24 21:02:13
|
||||
* @Last Modified time: 2016-09-25 10:16:21
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
|
@ -145,6 +145,39 @@ $('body').on('click', '.item', function() {
|
|||
});
|
||||
});
|
||||
|
||||
function renameClosetItem(tid) {
|
||||
swal({
|
||||
title: trans('user.renameClosetItem'),
|
||||
input: 'text',
|
||||
showCancelButton: true,
|
||||
inputValidator: function(value) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
if (value) {
|
||||
resolve();
|
||||
} else {
|
||||
reject(trans('skinlib.emptyNewTextureName'));
|
||||
}
|
||||
});
|
||||
}
|
||||
}).then(function(new_name) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./closet/rename",
|
||||
dataType: "json",
|
||||
data: { 'tid': tid, 'new_name': new_name },
|
||||
success: function(json) {
|
||||
if (json.errno == 0) {
|
||||
$("[tid="+tid+"]>.item-footer>.texture-name>span").html(new_name);
|
||||
toastr.success(json.msg);
|
||||
} else {
|
||||
toastr.warning(json.msg);
|
||||
}
|
||||
},
|
||||
error: showAjaxError
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function removeFromCloset(tid) {
|
||||
swal({
|
||||
text: trans('user.removeFromClosetNotice'),
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@
|
|||
removeFromClosetNotice: 'Sure to remove this texture from your closet?',
|
||||
emptySelectedPlayer: 'No player is selected.',
|
||||
emptySelectedTexture: 'No texture is selected.',
|
||||
renameClosetItem: 'Set a new name for this item:',
|
||||
|
||||
// Player
|
||||
changePlayerName: 'Please enter the player name:',
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ closet:
|
|||
switch-category: Switch Category
|
||||
view: View in skin librariy
|
||||
more: More
|
||||
remove: Remove from closet
|
||||
set-avatar: Set as avatar
|
||||
empty-msg: |
|
||||
<p>Nothing in your closet...</p>
|
||||
|
|
@ -46,7 +45,12 @@ closet:
|
|||
success: Added :name to closet successfully~
|
||||
repeated: You have already added this texture.
|
||||
|
||||
rename:
|
||||
title: Rename item
|
||||
success: The item is successfully renamed to :name
|
||||
|
||||
remove:
|
||||
title: Remove from closet
|
||||
success: Texture was removed from closet successfully.
|
||||
non-existent: The texture does not exist in your closet.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@
|
|||
removeFromClosetNotice: '确定要从衣柜中移除此材质吗?',
|
||||
emptySelectedPlayer: '你还没有选择角色哦',
|
||||
emptySelectedTexture: '你还没有选择要应用的材质哦',
|
||||
renameClosetItem: '请输入此衣柜物品的新名称:',
|
||||
|
||||
// Player
|
||||
changePlayerName: '请输入角色名:',
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ closet:
|
|||
switch-category: 切换分类
|
||||
view: 在皮肤库中查看
|
||||
more: 更多
|
||||
remove: 从衣柜中移除
|
||||
set-avatar: 设为头像
|
||||
empty-msg: |
|
||||
<p>衣柜里啥都没有哦~</p>
|
||||
|
|
@ -52,7 +51,12 @@ closet:
|
|||
success: 材质 :name 收藏成功~
|
||||
repeated: 你已经收藏过这个材质啦
|
||||
|
||||
rename:
|
||||
title: 重命名物品
|
||||
success: 衣柜物品成功重命名至 :name
|
||||
|
||||
remove:
|
||||
title: 从衣柜中移除
|
||||
success: 材质已从衣柜中移除
|
||||
non-existent: 衣柜中不存在此材质
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,8 @@
|
|||
<span title="{{ trans('user.closet.more') }}" class="more" data-toggle="dropdown" aria-haspopup="true" id="share-button"><i class="fa fa-cog"></i></span>
|
||||
|
||||
<ul class="dropdown-menu" aria-labelledby="share-button">
|
||||
<li><a href="javascript:removeFromCloset({{ $item->tid }});">{{ trans('user.closet.remove') }}</a></li>
|
||||
<li><a href="javascript:renameClosetItem({{ $item->tid }});">{{ trans('user.closet.rename.title') }}</a></li>
|
||||
<li><a href="javascript:removeFromCloset({{ $item->tid }});">{{ trans('user.closet.remove.title') }}</a></li>
|
||||
<li><a href="javascript:setAsAvatar({{ $item->tid }});">{{ trans('user.closet.set-avatar') }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user