删除用户发事件, 打开各目录

This commit is contained in:
life
2015-11-21 13:58:05 +08:00
parent 9fbbdc90fa
commit 8c11aad97b
3 changed files with 98 additions and 56 deletions

16
node_modules/user.js generated vendored
View File

@@ -269,6 +269,22 @@ User = {
return base + '/' + userId; return base + '/' + userId;
}, },
// 得到用户真正的DBpath, 看是否有HasDB
getUserRealDBPath: function (userId, callback) {
var me = this;
me.getUser(userId, function (user) {
if (!user) {
return callback(false);
}
if (user.HasDB) {
callback(me.getUserDBPath(userId));
}
else {
callback(Evt.getDBPath());
}
});
},
// 删除用户的文件目录 // 删除用户的文件目录
deleteUserImagesAndAttachsPath: function (userId) { deleteUserImagesAndAttachsPath: function (userId) {
var me = this; var me = this;

View File

@@ -1456,6 +1456,11 @@ function initPage(initedCallback) {
UserService.getAllUsers(function(users) { UserService.getAllUsers(function(users) {
userMenu(users); userMenu(users);
}); });
Api.on('deleteUser', function () {
UserService.getAllUsers(function(users) {
userMenu(users);
});
});
setLayoutWidth(); setLayoutWidth();
} else { } else {
@@ -1930,6 +1935,53 @@ function setMacTopMenu() {
gui.Menu.setApplicationMenu(menu); gui.Menu.setApplicationMenu(menu);
} }
function getShortHost(host) {
if (!host) {
host = 'https://leanote.com';
}
var ret = /http(s*):\/\/([a-zA-Z0-9\.\-]+)/.exec(host);
if(ret && ret.length == 3) {
host = ret[2];
}
return host;
}
function toggleAccount(user) {
if (!user) {
return;
}
UserService.saveCurUser({UserId: user.UserId}, function () {
reloadApp();
});
}
function getToggleUserMenus(allUsers) {
if (!allUsers || !allUsers.length) {
return null;
}
var userMenus = new gui.Menu();
for (var i = 0; i < allUsers.length; ++i) {
var user = allUsers[i];
if (user.Username && user.UserId) {
var label = user.Username;
var otherLabel = user.IsLocal ? getMsg('Local') : getShortHost(user.Host);
label += ' (' + otherLabel + ')';
userMenus.append(new gui.MenuItem({
label: label,
enabled: !user.IsActive,
click: (function(user) {
return function() {
toggleAccount(user);
}
})(user)
}));
}
}
return userMenus;
}
// user // user
function userMenu(allUsers) { function userMenu(allUsers) {
// ---------- // ----------
@@ -1945,17 +1997,6 @@ function userMenu(allUsers) {
//------------------- //-------------------
// 右键菜单 // 右键菜单
function getShortHost(host) {
if (!host) {
host = 'https://leanote.com';
}
var ret = /http(s*):\/\/([a-zA-Z0-9\.\-]+)/.exec(host);
if(ret && ret.length == 3) {
host = ret[2];
}
return host;
}
function menu() { function menu() {
var me = this; var me = this;
// this.target = ''; // this.target = '';
@@ -1983,41 +2024,10 @@ function userMenu(allUsers) {
}); });
// 所有用户 // 所有用户
var allUsersMenu; var allUsersMenu = new gui.MenuItem({
if (allUsers) { label: getMsg('Switch account'),
function toggleAccount(user) { submenu: getToggleUserMenus(allUsers)
if (!user) { });
return;
}
UserService.saveCurUser({UserId: user.UserId}, function () {
reloadApp();
});
}
var userMenus = new gui.Menu();
for (var i = 0; i < allUsers.length; ++i) {
var user = allUsers[i];
if (user.Username && user.UserId) {
var label = user.Username;
var otherLabel = user.IsLocal ? getMsg('Local') : getShortHost(user.Host);
label += ' (' + otherLabel + ')';
userMenus.append(new gui.MenuItem({
label: label,
enabled: !user.IsActive,
click: (function(user) {
return function() {
toggleAccount(user);
}
})(user)
}));
}
}
allUsersMenu = new gui.MenuItem({
label: getMsg('Switch account'),
submenu: userMenus
});
}
this.checkForUpdates = new gui.MenuItem({ this.checkForUpdates = new gui.MenuItem({
label: getMsg('Check for updates'), label: getMsg('Check for updates'),
@@ -2026,6 +2036,7 @@ function userMenu(allUsers) {
} }
}); });
this.menu.append(this.email); this.menu.append(this.email);
if (!UserInfo.IsLocal) {//hide sync menu for local account if (!UserInfo.IsLocal) {//hide sync menu for local account
this.blog = new gui.MenuItem({ this.blog = new gui.MenuItem({
@@ -2121,9 +2132,14 @@ function userMenu(allUsers) {
var userMenuSys = new menu(); var userMenuSys = new menu();
$('#myProfile').click(function(e) { $('#myProfile').off().click(function(e) {
userMenuSys.popup(e); userMenuSys.popup(e);
}); });
}
$(function() {
initUploadImage();
Writting.init();
// disable drag & drop // disable drag & drop
document.body.addEventListener('dragover', function(e){ document.body.addEventListener('dragover', function(e){
@@ -2134,11 +2150,6 @@ function userMenu(allUsers) {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
}, false); }, false);
}
$(function() {
initUploadImage();
Writting.init();
}); });
// markdown editor v2 // markdown editor v2

View File

@@ -22,7 +22,10 @@ define(function() {
"Open Images/Attachs Dir": "打开图片附件目录", "Open Images/Attachs Dir": "打开图片附件目录",
"Delete": "删除", "Delete": "删除",
"Options": "操作", "Options": "操作",
"Current": "当前" "Current": "当前",
"Error": "错误",
"No such account": "无该帐户"
}, },
'zh-hk': { 'zh-hk': {
'Accounts': '帐户管理', 'Accounts': '帐户管理',
@@ -101,8 +104,18 @@ define(function() {
db: function (userId) { db: function (userId) {
me.dbOptimization(userId); me.dbOptimization(userId);
}, },
'open-db-dir': '', 'open-db-dir': function (userId) {
'open-files-dir': '', Api.userService.getUserRealDBPath(userId, function(path) {
if (!path) {
Api.gui.dialog.showErrorBox(me.getMsg("Error"), me.getMsg("No such account"));
return;
}
Api.gui.Shell.showItemInFolder(path);
});
},
'open-files-dir': function (userId) {
Api.gui.Shell.showItemInFolder(Api.userService.getUserImagesAndAttachBasePath(userId));
},
'delete': function (userId, $targetBtn) { 'delete': function (userId, $targetBtn) {
me.deleteUser(userId); me.deleteUser(userId);
@@ -198,7 +211,7 @@ define(function() {
Api.loading.show(); Api.loading.show();
Api.userService.getUser(userId, function (user) { Api.userService.getUser(userId, function (user) {
if (!user) { if (!user) {
alert('Error'); Api.gui.dialog.showErrorBox(me.getMsg("Error"), me.getMsg("No such account"));
Api.loading.hide(); Api.loading.hide();
return; return;
} }
@@ -461,6 +474,8 @@ define(function() {
Api.loading.show(); Api.loading.show();
Api.userService.getUser(userId, function (user) { Api.userService.getUser(userId, function (user) {
me._deleteUser(user, function() { me._deleteUser(user, function() {
Api.trigger('deleteUser');
Api.loading.setMsg(me.getMsg('Deleted')); Api.loading.setMsg(me.getMsg('Deleted'));
Api.loading.hide(2000); Api.loading.hide(2000);
}); });