remove folder and space 'duplication' leftovers
This commit is contained in:
parent
9d3105763b
commit
c05afaba8a
@ -141,10 +141,6 @@ function import_zip(user, filename, on_success, on_error) {
|
|||||||
load_resource("get", "/users/"+user._id+"/import?zip="+filename, null, on_success, on_error);
|
load_resource("get", "/users/"+user._id+"/import?zip="+filename, null, on_success, on_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_writable_folders(on_success, on_error) {
|
|
||||||
load_resource("get", "/spaces?writablefolders=true", null, on_success, on_error);
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_history(s, on_success, on_error) {
|
function load_history(s, on_success, on_error) {
|
||||||
load_resource("get", "/spaces/"+ s._id +"/digest", null, on_success, on_error);
|
load_resource("get", "/spaces/"+ s._id +"/digest", null, on_success, on_error);
|
||||||
}
|
}
|
||||||
@ -190,12 +186,10 @@ function delete_space(s, on_success, on_error) {
|
|||||||
load_resource("delete", "/spaces/"+s._id, null, on_success, on_error);
|
load_resource("delete", "/spaces/"+s._id, null, on_success, on_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function delete_artifact(a, on_success, on_error) {
|
function delete_artifact(a, on_success, on_error) {
|
||||||
load_resource("delete", "/spaces/"+a.space_id+"/artifacts/"+a._id);
|
load_resource("delete", "/spaces/"+a.space_id+"/artifacts/"+a._id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function duplicate_space(s, to_space_id, on_success, on_error) {
|
function duplicate_space(s, to_space_id, on_success, on_error) {
|
||||||
var path = "/spaces/"+s._id+"/duplicate";
|
var path = "/spaces/"+s._id+"/duplicate";
|
||||||
if(to_space_id) {
|
if(to_space_id) {
|
||||||
|
@ -18,8 +18,6 @@ var SpacedeckSpaces = {
|
|||||||
active_space_path: [],
|
active_space_path: [],
|
||||||
access_settings_space: null,
|
access_settings_space: null,
|
||||||
access_settings_memberships: [],
|
access_settings_memberships: [],
|
||||||
duplicate_folders: [],
|
|
||||||
duplicate_folder_id: "",
|
|
||||||
pending_pdf_files: [],
|
pending_pdf_files: [],
|
||||||
|
|
||||||
meta_visible: false,
|
meta_visible: false,
|
||||||
@ -673,47 +671,6 @@ var SpacedeckSpaces = {
|
|||||||
location.href = "/api/spaces/" + space._id + "/list";
|
location.href = "/api/spaces/" + space._id + "/list";
|
||||||
},
|
},
|
||||||
|
|
||||||
duplicate_space_into_folder: function() {
|
|
||||||
load_writable_folders( function(folders){
|
|
||||||
this.duplicate_folders = _.sortBy(folders, function (folder) { return folder.name; });
|
|
||||||
}.bind(this), function(xhr) {
|
|
||||||
console.error(xhr);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
duplicate_folder_confirm: function() {
|
|
||||||
var folderId = this.duplicate_folder_id;
|
|
||||||
var idx = _.findIndex(this.duplicate_folders, function(s) { return s._id == folderId;});
|
|
||||||
if (idx<0) idx = 0;
|
|
||||||
var folder = this.duplicate_folders[idx];
|
|
||||||
console.log("df f",folder);
|
|
||||||
if (!folder) return;
|
|
||||||
|
|
||||||
duplicate_space(this.active_space, folder._id, function(new_space) {
|
|
||||||
|
|
||||||
this.duplicate_folders = [];
|
|
||||||
this.duplicate_folder = null;
|
|
||||||
|
|
||||||
smoke.quiz(__("duplicate_success", this.active_space.name, folder.name), function(e, test){
|
|
||||||
if (e == __("goto_space", new_space.name)){
|
|
||||||
this.redirect_to("/spaces/" + new_space._id);
|
|
||||||
}else if (e == __("goto_folder", folder.name)){
|
|
||||||
this.redirect_to("/folders/" + folder._id);
|
|
||||||
}
|
|
||||||
}.bind(this), {
|
|
||||||
button_1: __("goto_space", new_space.name),
|
|
||||||
button_2: __("goto_folder", folder.name),
|
|
||||||
button_cancel:__("stay_here")
|
|
||||||
});
|
|
||||||
|
|
||||||
}.bind(this), function(xhr){
|
|
||||||
|
|
||||||
console.error(xhr);
|
|
||||||
smoke.prompt("error: " + xhr.statusText);
|
|
||||||
|
|
||||||
}.bind(this));
|
|
||||||
},
|
|
||||||
|
|
||||||
toggle_follow_mode: function() {
|
toggle_follow_mode: function() {
|
||||||
this.deselect();
|
this.deselect();
|
||||||
this.follow_mode = !this.follow_mode;
|
this.follow_mode = !this.follow_mode;
|
||||||
|
@ -138,7 +138,6 @@ router.get('/', function(req, res, next) {
|
|||||||
"$exists": 1
|
"$exists": 1
|
||||||
}
|
}
|
||||||
}).populate("space").exec(function(err, memberships) {
|
}).populate("space").exec(function(err, memberships) {
|
||||||
|
|
||||||
async.map(memberships, function(membership, memcb) {
|
async.map(memberships, function(membership, memcb) {
|
||||||
Space.getRecursiveSubspacesForSpace(membership.space, function(err, spaces) {
|
Space.getRecursiveSubspacesForSpace(membership.space, function(err, spaces) {
|
||||||
cb(null, spaces.map(function(s) {
|
cb(null, spaces.map(function(s) {
|
||||||
|
@ -48,69 +48,7 @@ router.get('/', function(req, res, next) {
|
|||||||
error: "auth required"
|
error: "auth required"
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (req.query.writablefolders) {
|
if (req.query.search) {
|
||||||
db.Membership.find({where: {
|
|
||||||
user_id: req.user._id
|
|
||||||
}}, (memberships) => {
|
|
||||||
|
|
||||||
var validMemberships = memberships.filter((m) => {
|
|
||||||
if (!m.space_id || (m.space_id == "undefined"))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
|
|
||||||
var editorMemberships = validMemberships.filter((m) => {
|
|
||||||
return (m.role == "editor") || (m.role == "admin")
|
|
||||||
});
|
|
||||||
|
|
||||||
var spaceIds = editorMemberships.map(function(m) {
|
|
||||||
return m.space_id;
|
|
||||||
});
|
|
||||||
|
|
||||||
// TODO port
|
|
||||||
var q = {
|
|
||||||
"space_type": "folder",
|
|
||||||
"$or": [{
|
|
||||||
"creator": req.user._id
|
|
||||||
}, {
|
|
||||||
"_id": {
|
|
||||||
"$in": spaceIds
|
|
||||||
},
|
|
||||||
"creator": {
|
|
||||||
"$ne": req.user._id
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
};
|
|
||||||
|
|
||||||
db.Space
|
|
||||||
.findAll({where: q})
|
|
||||||
.then(function(spaces) {
|
|
||||||
var updatedSpaces = spaces.map(function(s) {
|
|
||||||
var spaceObj = s; //.toObject();
|
|
||||||
return spaceObj;
|
|
||||||
});
|
|
||||||
|
|
||||||
async.map(spaces, (space, cb) => {
|
|
||||||
Space.getRecursiveSubspacesForSpace(space, (err, spaces) => {
|
|
||||||
var allSpaces = spaces;
|
|
||||||
cb(err, allSpaces);
|
|
||||||
})
|
|
||||||
}, (err, spaces) => {
|
|
||||||
|
|
||||||
var allSpaces = _.flatten(spaces);
|
|
||||||
|
|
||||||
var onlyFolders = _.filter(allSpaces, (s) => {
|
|
||||||
return s.space_type == "folder";
|
|
||||||
})
|
|
||||||
var uniqueFolders = _.unique(onlyFolders, (s) => {
|
|
||||||
return s._id;
|
|
||||||
})
|
|
||||||
|
|
||||||
res.status(200).json(uniqueFolders);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else if (req.query.search) {
|
|
||||||
|
|
||||||
db.Membership.findAll({where:{
|
db.Membership.findAll({where:{
|
||||||
user_id: req.user._id
|
user_id: req.user._id
|
||||||
|
Loading…
Reference in New Issue
Block a user