From b1f36dfbf1719ef819e9387625f192492a4bdf44 Mon Sep 17 00:00:00 2001 From: lealife Date: Sat, 28 Nov 2015 15:17:36 +0800 Subject: [PATCH] member i18n --- app/controllers/AuthController.go | 5 + app/controllers/NoteController.go | 6 +- app/controllers/PreviewController.go | 2 +- app/controllers/api/ApiNoteController.go | 1 - .../member/MemberBlogController.go | 28 +++--- .../member/MemberGroupController.go | 2 +- .../member/MemberIndexController.go | 2 +- .../member/MemberUserController.go | 8 +- app/service/ShareService.go | 3 +- app/service/ThemeService.go | 4 - app/views/member/blog/add_single.html | 26 ++--- app/views/member/blog/base.html | 1 - app/views/member/blog/cate.html | 8 +- app/views/member/blog/list.html | 8 +- app/views/member/blog/single.html | 14 +-- app/views/member/blog/theme.html | 32 +++--- app/views/member/blog/update_abstract.html | 97 ++++++++++++------- app/views/member/blog/update_theme.html | 54 +++++++---- app/views/member/footer.html | 6 +- app/views/member/group/index.html | 14 +-- app/views/member/nav.html | 23 +++-- app/views/member/top.html | 2 +- app/views/member/user/avatar.html | 2 +- app/views/member/user/email.html | 2 +- app/views/member/user/password.html | 2 +- app/views/member/user/username.html | 4 +- 26 files changed, 197 insertions(+), 159 deletions(-) diff --git a/app/controllers/AuthController.go b/app/controllers/AuthController.go index ecfe5ed..7463217 100644 --- a/app/controllers/AuthController.go +++ b/app/controllers/AuthController.go @@ -4,6 +4,7 @@ import ( "github.com/leanote/leanote/app/info" . "github.com/leanote/leanote/app/lea" "github.com/revel/revel" + "strings" // "strconv" ) @@ -127,6 +128,8 @@ func (c Auth) DoRegister(email, pwd, iu string) revel.Result { return c.RenderRe(re) } + email = strings.ToLower(email) + // 注册 re.Ok, re.Msg = authService.Register(email, pwd, iu) @@ -141,6 +144,7 @@ func (c Auth) DoRegister(email, pwd, iu string) revel.Result { //-------- // 找回密码 func (c Auth) FindPassword() revel.Result { + c.SetLocale() c.RenderArgs["title"] = c.Message("findPassword") c.RenderArgs["subTitle"] = c.Message("findPassword") return c.RenderTemplate("home/find_password.html") @@ -154,6 +158,7 @@ func (c Auth) DoFindPassword(email string) revel.Result { // 点击链接后, 先验证之 func (c Auth) FindPassword2(token string) revel.Result { + c.SetLocale() c.RenderArgs["title"] = c.Message("findPassword") c.RenderArgs["subTitle"] = c.Message("findPassword") if token == "" { diff --git a/app/controllers/NoteController.go b/app/controllers/NoteController.go index 1e029fe..1c34cde 100644 --- a/app/controllers/NoteController.go +++ b/app/controllers/NoteController.go @@ -335,11 +335,11 @@ func (c Note) ToPdf(noteId, appKey string) revel.Result { // 虽然传了cookie但是这里还是不能得到userId, 所以还是通过appKey来验证之 appKeyTrue, _ := revel.Config.String("app.secret") if appKeyTrue != appKey { - return c.RenderText("error") + return c.RenderText("auth error") } note := noteService.GetNoteById(noteId) if note.NoteId == "" { - return c.RenderText("error") + return c.RenderText("no note") } noteUserId := note.UserId.Hex() @@ -428,7 +428,7 @@ func (c Note) ExportPdf(noteId string) revel.Result { // 是否是有权限协作的 if !note.IsBlog && !shareService.HasReadPerm(noteUserId, userId, noteId) { re.Msg = "No Perm" - return c.RenderText("error") + return c.RenderText("No Perm") } } diff --git a/app/controllers/PreviewController.go b/app/controllers/PreviewController.go index 45e7524..0ef55d6 100644 --- a/app/controllers/PreviewController.go +++ b/app/controllers/PreviewController.go @@ -23,7 +23,7 @@ type Preview struct { // 得到要预览的主题绝对路径 func (c Preview) getPreviewThemeAbsolutePath(themeId string) bool { if themeId != "" { - c.Session["themeId"] = themeId // 存到session中, 下次的url就不能带了 + c.Session["themeId"] = themeId // 存到session中, 下次的url就不能带了, 待优化, 有时会取不到 } else { themeId = c.Session["themeId"] // 直接从session中获取 } diff --git a/app/controllers/api/ApiNoteController.go b/app/controllers/api/ApiNoteController.go index d7254c6..09439b5 100644 --- a/app/controllers/api/ApiNoteController.go +++ b/app/controllers/api/ApiNoteController.go @@ -540,7 +540,6 @@ func (c ApiNote) GetHistories(noteId string) revel.Result { // 0.2 新增 // 导出成PDF -// test localhost:9000/api/note/exportPdf?noteId=554f07bf05fcd15fa9000000&token=562211dc99c37ba6a7000001 func (c ApiNote) ExportPdf(noteId string) revel.Result { re := info.NewApiRe() userId := c.getUserId() diff --git a/app/controllers/member/MemberBlogController.go b/app/controllers/member/MemberBlogController.go index a546bd2..304a343 100644 --- a/app/controllers/member/MemberBlogController.go +++ b/app/controllers/member/MemberBlogController.go @@ -74,7 +74,7 @@ func (c MemberBlog) Index(sorter, keywords string) revel.Result { userInfo := userService.GetUserInfo(userId) c.RenderArgs["userInfo"] = userInfo - c.RenderArgs["title"] = "Posts" + c.RenderArgs["title"] = c.Message("Posts") pageNumber := c.GetPage() sorterField, isAsc := c.getSorter("CreatedTime", false, []string{"title", "urlTitle", "updatedTime", "publicTime", "createdTime"}) pageInfo, blogs := blogService.ListAllBlogs(c.GetUserId(), "", keywords, false, pageNumber, userPageSize, sorterField, isAsc) @@ -85,6 +85,8 @@ func (c MemberBlog) Index(sorter, keywords string) revel.Result { userAndBlog := userService.GetUserAndBlog(c.GetUserId()) c.RenderArgs["userAndBlog"] = userAndBlog + c.common() + return c.RenderTemplate("member/blog/list.html") } @@ -97,7 +99,8 @@ func (c MemberBlog) UpdateBlogUrlTitle(noteId, urlTitle string) revel.Result { // 修改笔记的urlTitle func (c MemberBlog) UpdateBlogAbstract(noteId string) revel.Result { - c.RenderArgs["title"] = "Update Post Abstract" + c.common() + c.RenderArgs["title"] = c.Message("Update Post Abstract") note := noteService.GetNoteAndContent(noteId, c.GetUserId()) if !note.Note.IsBlog { return c.E404() @@ -107,7 +110,6 @@ func (c MemberBlog) UpdateBlogAbstract(noteId string) revel.Result { return c.RenderTemplate("member/blog/update_abstract.html") } func (c MemberBlog) DoUpdateBlogAbstract(noteId, imgSrc, desc, abstract string) revel.Result { - re := info.NewRe() re.Ok = blogService.UpateBlogAbstract(c.GetUserId(), noteId, imgSrc, desc, abstract) return c.RenderJson(re) @@ -116,24 +118,24 @@ func (c MemberBlog) DoUpdateBlogAbstract(noteId, imgSrc, desc, abstract string) // 基本信息设置 func (c MemberBlog) Base() revel.Result { c.common() - c.RenderArgs["title"] = "Blog Base Info" + c.RenderArgs["title"] = c.Message("Blog Base Info") return c.RenderTemplate("member/blog/base.html") } func (c MemberBlog) Comment() revel.Result { c.common() - c.RenderArgs["title"] = "Comment" + c.RenderArgs["title"] = c.Message("Comment") return c.RenderTemplate("member/blog/comment.html") } func (c MemberBlog) Paging() revel.Result { c.common() - c.RenderArgs["title"] = "Paging" + c.RenderArgs["title"] = c.Message("Paging") return c.RenderTemplate("member/blog/paging.html") } func (c MemberBlog) Cate() revel.Result { userBlog := c.common() - c.RenderArgs["title"] = "Cate" + c.RenderArgs["title"] = c.Message("Category") notebooks := blogService.ListBlogNotebooks(c.GetUserId()) notebooksMap := map[string]info.Notebook{} @@ -190,10 +192,10 @@ func (c MemberBlog) DoAddOrUpdateSingle(singleId, title, content string) revel.R } func (c MemberBlog) AddOrUpdateSingle(singleId string) revel.Result { c.common() - c.RenderArgs["title"] = "Add Single" + c.RenderArgs["title"] = c.Message("Add Single") c.RenderArgs["singleId"] = singleId if singleId != "" { - c.RenderArgs["title"] = "Update Single" + c.RenderArgs["title"] = c.Message("Update Single") c.RenderArgs["single"] = blogService.GetSingle(singleId) } return c.RenderTemplate("member/blog/add_single.html") @@ -219,7 +221,7 @@ func (c MemberBlog) UpdateSingleUrlTitle(singleId, urlTitle string) revel.Result func (c MemberBlog) Single() revel.Result { c.common() - c.RenderArgs["title"] = "Cate" + c.RenderArgs["title"] = c.Message("Single") c.RenderArgs["singles"] = blogService.GetSingles(c.GetUserId()) return c.RenderTemplate("member/blog/single.html") @@ -234,7 +236,7 @@ func (c MemberBlog) Theme() revel.Result { c.RenderArgs["optionThemes"] = themeService.GetDefaultThemes() - c.RenderArgs["title"] = "Theme" + c.RenderArgs["title"] = c.Message("Theme") return c.RenderTemplate("member/blog/theme.html") } @@ -251,7 +253,7 @@ func (c MemberBlog) UpdateTheme(themeId string, isNew int) revel.Result { } c.common() - c.RenderArgs["title"] = "Upate Theme" + c.RenderArgs["title"] = c.Message("Update Theme") c.RenderArgs["isNew"] = isNew // 先复制之 @@ -443,8 +445,8 @@ func (c MemberBlog) ImportTheme() revel.Result { if err != nil { re.Msg = fmt.Sprintf("%v", err) return c.RenderJson(re) - } + defer file.Close() // 生成上传路径 userId := c.GetUserId() diff --git a/app/controllers/member/MemberGroupController.go b/app/controllers/member/MemberGroupController.go index dc6072a..f5fcf5a 100644 --- a/app/controllers/member/MemberGroupController.go +++ b/app/controllers/member/MemberGroupController.go @@ -14,7 +14,7 @@ type MemberGroup struct { func (c MemberGroup) Index() revel.Result { c.SetUserInfo() c.SetLocale() - c.RenderArgs["title"] = "My Group" + c.RenderArgs["title"] = c.Message("My Group") c.RenderArgs["groups"] = groupService.GetGroupsAndUsers(c.GetUserId()) return c.RenderTemplate("member/group/index.html") } diff --git a/app/controllers/member/MemberIndexController.go b/app/controllers/member/MemberIndexController.go index 50caac6..98b570b 100644 --- a/app/controllers/member/MemberIndexController.go +++ b/app/controllers/member/MemberIndexController.go @@ -13,7 +13,7 @@ type MemberIndex struct { // admin 主页 func (c MemberIndex) Index() revel.Result { c.SetUserInfo() - c.RenderArgs["title"] = "Leanote Member Center" + c.RenderArgs["title"] = c.Message("Leanote Member Center") c.RenderArgs["countNote"] = noteService.CountNote(c.GetUserId()) c.RenderArgs["countBlog"] = noteService.CountBlog(c.GetUserId()) diff --git a/app/controllers/member/MemberUserController.go b/app/controllers/member/MemberUserController.go index e7f18b6..4d22301 100644 --- a/app/controllers/member/MemberUserController.go +++ b/app/controllers/member/MemberUserController.go @@ -13,28 +13,28 @@ type MemberUser struct { func (c MemberUser) Username() revel.Result { c.SetUserInfo() c.SetLocale() - c.RenderArgs["title"] = "Username" + c.RenderArgs["title"] = c.Message("Username") return c.RenderTemplate("member/user/username.html") } func (c MemberUser) Email() revel.Result { c.SetUserInfo() c.SetLocale() - c.RenderArgs["title"] = "Email" + c.RenderArgs["title"] = c.Message("Email") return c.RenderTemplate("member/user/email.html") } func (c MemberUser) Password() revel.Result { c.SetUserInfo() c.SetLocale() - c.RenderArgs["title"] = "Password" + c.RenderArgs["title"] = c.Message("Password") return c.RenderTemplate("member/user/password.html") } func (c MemberUser) Avatar() revel.Result { c.SetUserInfo() c.SetLocale() - c.RenderArgs["title"] = "Avatar" + c.RenderArgs["title"] = c.Message("Avatar") c.RenderArgs["globalConfigs"] = configService.GetGlobalConfigForUser() return c.RenderTemplate("member/user/avatar.html") } diff --git a/app/service/ShareService.go b/app/service/ShareService.go index 6e251fe..45e3c7e 100644 --- a/app/service/ShareService.go +++ b/app/service/ShareService.go @@ -470,7 +470,8 @@ func (this *ShareService) GetShareNoteContent(noteId, myUserId, sharedUserId str // 或者, 其notebook共享了我 // Log(this.HasSharedNote(noteId, myUserId)) // Log(this.HasSharedNotebook(noteId, myUserId, sharedUserId)) - Log(this.HasReadPerm(sharedUserId, myUserId, noteId)) + // Log(this.HasReadPerm(sharedUserId, myUserId, noteId)) + if this.HasReadPerm(sharedUserId, myUserId, noteId) { // if this.HasSharedNote(noteId, myUserId) || this.HasSharedNotebook(noteId, myUserId, sharedUserId) { db.Get(db.NoteContents, noteId, ¬eContent) diff --git a/app/service/ThemeService.go b/app/service/ThemeService.go index e09d7f9..92c693f 100644 --- a/app/service/ThemeService.go +++ b/app/service/ThemeService.go @@ -618,8 +618,6 @@ func (this *ThemeService) hasRound(vector [][]int, size int) (ok bool) { for i := 0; i < size; i++ { visited := make([]int, size) if this.hasRoundEach(vector, i, size, visited) { - Log(">>") - Log(i) return true } } @@ -629,8 +627,6 @@ func (this *ThemeService) hasRound(vector [][]int, size int) (ok bool) { // 从每个节点出发, 判断是否有环 func (this *ThemeService) hasRoundEach(vector [][]int, index int, size int, visited []int) (ok bool) { if visited[index] > 0 { - Log("<") - Log(index) return true } visited[index] = 1 diff --git a/app/views/member/blog/add_single.html b/app/views/member/blog/add_single.html index 9b00f62..47c4dfd 100644 --- a/app/views/member/blog/add_single.html +++ b/app/views/member/blog/add_single.html @@ -28,8 +28,10 @@
-
- +
+
+
{{if .single}}{{.single.Content|raw}}{{end}}
+
+
@@ -74,7 +75,7 @@
-
+
@@ -107,7 +108,7 @@
{{template "member/footer.html" .}} - + diff --git a/app/views/member/footer.html b/app/views/member/footer.html index ab40505..f6a00f0 100644 --- a/app/views/member/footer.html +++ b/app/views/member/footer.html @@ -23,13 +23,15 @@ $(function() { if(fullPath == "/member/index") { fullPath = "/member"; + } else if (fullPath == '/member/blog/updateTheme') { + fullPath = '/member/blog/theme'; } + $("#nav > li").removeClass("active"); - // alert(fullPath); // 自己 var $thisLi = $('#nav a[href="' + fullPath + '"]').parent(); $thisLi.addClass("active"); // 父也active $thisLi.parent().parent().addClass('active'); }); - \ No newline at end of file + diff --git a/app/views/member/group/index.html b/app/views/member/group/index.html index 715588e..9797416 100644 --- a/app/views/member/group/index.html +++ b/app/views/member/group/index.html @@ -113,7 +113,7 @@ var group = { addGroupEvent: function() { var self = this; $('.btn-add-group').click(function() { - ajaxPost("/member/group/addGroup", {title: "Group Title"}, function(re) { + ajaxPost("/member/group/addGroup", {title: getMsg("Group Title")}, function(re) { if(reIsOk(re)) { var group = re.Item; self.groupsO.prepend(self.tGroupO.render(group)) @@ -136,7 +136,7 @@ var group = { var groupId = $(this).closest(".each-group").data("id"); ajaxPost("/member/group/updateGroupTitle", {groupId: groupId, title: val}, function(re) { if(reIsOk(re)) { - art.tips("Success") + art.tips(getMsg("Success")); t.data('ever', val) } }) @@ -147,11 +147,11 @@ var group = { var self = this; self.groupsO.on("click", ".delete-group", function() { var t = $(this); - art.confirm("Are you sure ?", function() { + art.confirm(getMsg("Are you sure ?"), function() { var groupId = t.closest(".each-group").data("id"); ajaxPost("/member/group/deleteGroup", {groupId: groupId}, function(re) { if(reIsOk(re)) { - art.tips("Success"); + art.tips(getMsg("Success")); t.closest(".each-group").remove(); } else { art.alert(re.Msg); @@ -182,7 +182,7 @@ var group = { var p = t.closest("li"); ajaxPost("/member/group/addUser", {groupId: groupId, email: email}, function(re) { if(reIsOk(re)) { - art.tips("Success"); + art.tips(getMsg("Success")); var html = self.tUserO.render(re.Item) p.before(html); t.val(""); @@ -198,12 +198,12 @@ var group = { var self = this; self.groupsO.on("click", ".delete-user", function() { var t = $(this); - art.confirm("Are you sure ?", function() { + art.confirm(getMsg("Are you sure ?"), function() { var groupId = t.closest(".each-group").data("id"); var userId = t.closest("li").data("id"); ajaxPost("/member/group/deleteUser", {groupId: groupId, userId: userId}, function(re) { if(reIsOk(re)) { - art.tips("Success"); + art.tips(getMsg("Success")); t.closest("li").remove(); } else { art.alert(re.Msg); diff --git a/app/views/member/nav.html b/app/views/member/nav.html index 443f381..ef2bc66 100644 --- a/app/views/member/nav.html +++ b/app/views/member/nav.html @@ -1,4 +1,4 @@ - diff --git a/app/views/member/top.html b/app/views/member/top.html index 7911ed9..164edd9 100644 --- a/app/views/member/top.html +++ b/app/views/member/top.html @@ -50,7 +50,7 @@
-