mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 15:38:15 +00:00
[dir view] fix for 'move via drag & drop'
This commit is contained in:
@@ -200,28 +200,31 @@ define([
|
|||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
|
|
||||||
var cid = ev.dataTransfer.getData('text/cid');
|
var cid = ev.dataTransfer.getData('text/cid');
|
||||||
var is_dir = ev.dataTransfer.getData('text/is_dir');
|
var is_dir = ev.dataTransfer.getData('text/is_dir'); // the value is string: 'true' or 'undefined'
|
||||||
var obj_name = ev.dataTransfer.getData('text/plain');
|
var obj_name = ev.dataTransfer.getData('text/plain');
|
||||||
|
|
||||||
if (is_dir && obj_name == this.model.get('obj_name')) {
|
if (is_dir == 'true' && obj_name == this.model.get('obj_name')) {
|
||||||
// can't move a directory to itself
|
// can't move a directory to itself
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var dir = this.dir;
|
var dir = this.dir;
|
||||||
|
var repo_id = dir.repo_id;
|
||||||
var path = dir.path;
|
var path = dir.path;
|
||||||
var dirent_path = Common.pathJoin([path, this.model.get('obj_name')]);
|
var dirent_path = Common.pathJoin([path, this.model.get('obj_name')]);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: Common.getUrl({
|
url: Common.getUrl({'name': 'copy_move_task'}),
|
||||||
'name': is_dir ? 'mv_dir' : 'mv_file',
|
type: 'post',
|
||||||
'repo_id': dir.repo_id
|
cache: false,
|
||||||
}) + '?path=' + encodeURIComponent(path)
|
|
||||||
+ '&obj_name=' + encodeURIComponent(obj_name),
|
|
||||||
type: 'POST',
|
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
data: {
|
data: {
|
||||||
'dst_repo': dir.repo_id,
|
'src_repo_id': repo_id,
|
||||||
'dst_path': dirent_path
|
'src_parent_dir': path,
|
||||||
|
'src_dirent_name': obj_name,
|
||||||
|
'dst_repo_id': repo_id,
|
||||||
|
'dst_parent_dir': dirent_path,
|
||||||
|
'operation': 'move',
|
||||||
|
'dirent_type': is_dir == 'true' ? 'dir' : 'file'
|
||||||
},
|
},
|
||||||
beforeSend: Common.prepareCSRFToken,
|
beforeSend: Common.prepareCSRFToken,
|
||||||
success: function() {
|
success: function() {
|
||||||
|
Reference in New Issue
Block a user