diff --git a/app/controllers/NotebookController.go b/app/controllers/NotebookController.go
index e4ce3c3..d09d95a 100644
--- a/app/controllers/NotebookController.go
+++ b/app/controllers/NotebookController.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"github.com/leanote/leanote/app/info"
"gopkg.in/mgo.v2/bson"
- . "github.com/leanote/leanote/app/lea"
+// . "github.com/leanote/leanote/app/lea"
// "io/ioutil"
)
@@ -29,11 +29,14 @@ func (c Notebook) DeleteNotebook(notebookId string) revel.Result {
}
// 添加notebook
-func (c Notebook) AddNotebook(notebookId, title string) revel.Result {
+func (c Notebook) AddNotebook(notebookId, title, parentNotebookId string) revel.Result {
notebook := info.Notebook{NotebookId: bson.ObjectIdHex(notebookId),
Title: title,
Seq: -1,
UserId: c.GetObjectUserId()}
+ if(parentNotebookId != "") {
+ notebook.ParentNotebookId = bson.ObjectIdHex(parentNotebookId)
+ }
re := notebookService.AddNotebook(notebook)
if(re) {
diff --git a/app/service/NotebookService.go b/app/service/NotebookService.go
index d83cf45..a00931c 100644
--- a/app/service/NotebookService.go
+++ b/app/service/NotebookService.go
@@ -191,14 +191,20 @@ func (this *NotebookService) UpdateNotebook(userId, notebookId string, needUpdat
return db.UpdateByIdAndUserIdMap(db.Notebooks, notebookId, userId, needUpdate)
}
+// 查看是否有子notebook
// 先查看该notebookId下是否有notes, 没有则删除
func (this *NotebookService) DeleteNotebook(userId, notebookId string) (bool, string) {
- if db.Count(db.Notes, bson.M{"NotebookId": bson.ObjectIdHex(notebookId),
- "UserId": bson.ObjectIdHex(userId),
- "IsTrash": false}) == 0 { // 不包含trash
- return db.DeleteByIdAndUserId(db.Notebooks, notebookId, userId), ""
+ if db.Count(db.Notebooks, bson.M{"ParentNotebookId": bson.ObjectIdHex(notebookId),
+ "UserId": bson.ObjectIdHex(userId)}) == 0 { // 无
+ if db.Count(db.Notes, bson.M{"NotebookId": bson.ObjectIdHex(notebookId),
+ "UserId": bson.ObjectIdHex(userId),
+ "IsTrash": false}) == 0 { // 不包含trash
+ return db.DeleteByIdAndUserId(db.Notebooks, notebookId, userId), ""
+ }
+ return false, "笔记本下有笔记"
+ } else {
+ return false, "笔记本下有子笔记本"
}
- return false, "笔记本下有笔记"
}
// 排序
diff --git a/app/views/Note/note-dev.html b/app/views/Note/note-dev.html
index ccbd372..5916646 100644
--- a/app/views/Note/note-dev.html
+++ b/app/views/Note/note-dev.html
@@ -923,7 +923,7 @@ function log(o) {
-
+