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) { - +