mirror of
https://github.com/KOHGYLW/kiftd-source.git
synced 2025-01-08 12:07:47 +08:00
update to v1.2.0 进一步完善了移动文件夹时的未授权信息
This commit is contained in:
parent
c8211ec1ef
commit
82aef830d0
1
TODO.txt
1
TODO.txt
@ -215,3 +215,4 @@ test.auth.xxx=ucd
|
||||
【已完成】进一步优化了命令模式下的“文件”功能:现在可以通过“ls -l”显示所有项目的详细信息了。
|
||||
【已完成】修复了几处在执行文件导入导出操作时可能导致死锁的问题。
|
||||
【已完成】新增“文件”功能的导入账户设置:在账户配置文件中,可通过“import.account=?”设置项来为“文件”功能中的导入操作指定“创建者”。
|
||||
【已完成】进一步完善了移动文件时的提示信息:当用户不具备创建文件夹权限并移动文件夹时,会显示未授权提示。
|
||||
|
@ -559,6 +559,14 @@ public class FileServiceImpl extends RangeFileStreamWriter implements FileServic
|
||||
// 获取涉及移动的文件节点的ID数组
|
||||
final List<String> idList = gson.fromJson(strIdList, new TypeToken<List<String>>() {
|
||||
}.getType());
|
||||
// 获取涉及移动的文件夹的ID数组
|
||||
final List<String> fidList = gson.fromJson(strFidList, new TypeToken<List<String>>() {
|
||||
}.getType());
|
||||
// 如果移动文件夹,则还需要创建文件夹权限
|
||||
if (fidList.size() > 0 && !ConfigureReader.instance().authorized(account, AccountAuth.CREATE_NEW_FOLDER,
|
||||
fu.getAllFoldersId(locationpath))) {
|
||||
return NO_AUTHORIZED;
|
||||
}
|
||||
// 对涉及的文件节点逐一进行操作
|
||||
for (final String id : idList) {
|
||||
// 先对涉及的原节点进行合法性检查
|
||||
@ -699,9 +707,6 @@ public class FileServiceImpl extends RangeFileStreamWriter implements FileServic
|
||||
}
|
||||
// 完成了一个原节点的操作,继续循环直至所有涉及节点均操作完毕
|
||||
}
|
||||
// 获取涉及移动的文件夹的ID数组
|
||||
final List<String> fidList = gson.fromJson(strFidList, new TypeToken<List<String>>() {
|
||||
}.getType());
|
||||
// 对涉及的文件夹节点逐一进行操作
|
||||
for (final String fid : fidList) {
|
||||
// 该过程与移动文件节点的流程类似
|
||||
@ -907,6 +912,11 @@ public class FileServiceImpl extends RangeFileStreamWriter implements FileServic
|
||||
}.getType());
|
||||
final List<String> fidList = gson.fromJson(strFidList, new TypeToken<List<String>>() {
|
||||
}.getType());
|
||||
// 如果移动文件夹,则还需要创建文件夹权限
|
||||
if (fidList.size() > 0 && !ConfigureReader.instance().authorized(account, AccountAuth.CREATE_NEW_FOLDER,
|
||||
fu.getAllFoldersId(locationpath))) {
|
||||
return NO_AUTHORIZED;
|
||||
}
|
||||
List<Node> repeNodes = new ArrayList<>();
|
||||
List<Folder> repeFolders = new ArrayList<>();
|
||||
// 检查每个涉及的文件节点是否合法
|
||||
|
@ -1,5 +1,5 @@
|
||||
#Generated by Maven Integration for Eclipse
|
||||
#Fri Jan 05 19:02:49 CST 2024
|
||||
#Sat Jan 06 18:07:31 CST 2024
|
||||
m2e.projectLocation=/Users/kohgylw/Programs/java_workspace/kiftd
|
||||
m2e.projectName=kiftd
|
||||
groupId=kohgylw
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -925,13 +925,22 @@ function showAccountView(folderView) {
|
||||
"showDeleteAllCheckedModel()");
|
||||
}
|
||||
if (checkAuth(authList, "M")) {
|
||||
$("#cutFileButtonLi").removeClass("disabled");
|
||||
$("#stickFileButtonLi").removeClass("disabled");
|
||||
// 若具备M权限,则允许复制文件
|
||||
$("#copyFileButtonLi").removeClass("disabled");
|
||||
$("#cutFileButtonLi a").attr("onclick", "cutFile()");
|
||||
$("#stickFileButtonLi").removeClass("disabled");
|
||||
$("#copyFileButtonLi a").attr("onclick", "copyFile()");
|
||||
$("#stickFileButtonLi a").attr("onclick", "stickFile()");
|
||||
$("#copyFileButtonLi").removeClass("hidden");
|
||||
$("#copyFileButtonLi").addClass("show");
|
||||
if (checkAuth(authList, "D")) {
|
||||
// 若同时具备D权限,则允许剪切文件
|
||||
$("#cutFileButtonLi").removeClass("disabled");
|
||||
$("#cutFileButtonLi a").attr("onclick", "cutFile()");
|
||||
$("#cutFileButtonLi").removeClass("hidden");
|
||||
$("#cutFileButtonLi").addClass("show");
|
||||
}
|
||||
if (checkedMovefiles !== undefined && checkedMovefiles.size > 0) {
|
||||
// 如果移动目标列表已经有项目,则启用“粘贴”按钮
|
||||
if (checkedMovefiles.size < 100) {
|
||||
$("#stickFilesCount").text(
|
||||
"(" + checkedMovefiles.size + ")");
|
||||
@ -941,10 +950,7 @@ function showAccountView(folderView) {
|
||||
$("#stickFileButtonLi").removeClass("hidden");
|
||||
$("#stickFileButtonLi").addClass("show");
|
||||
} else {
|
||||
$("#copyFileButtonLi").removeClass("hidden");
|
||||
$("#copyFileButtonLi").addClass("show");
|
||||
$("#cutFileButtonLi").removeClass("hidden");
|
||||
$("#cutFileButtonLi").addClass("show");
|
||||
// 如果移动目标列表没有项目,则隐藏“粘贴”按钮
|
||||
$("#stickFileButtonLi").removeClass("show");
|
||||
$("#stickFileButtonLi").addClass("hidden");
|
||||
$("#stickFilesCount").text("");
|
||||
|
Loading…
Reference in New Issue
Block a user