From 12fb42de5a5b07ed8dffe91d9536615bbadeedea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Justin=20Nu=C3=9F?= Date: Fri, 25 Jul 2014 11:13:42 +0200 Subject: [PATCH] Fix IE bug and show errors. --- public/css/gogs.css | 7 +++++++ public/js/app.js | 36 ++++++++++++++++++++++++++------ routers/repo/issue.go | 9 ++++---- templates/repo/issue/create.tmpl | 2 +- templates/repo/issue/view.tmpl | 2 +- 5 files changed, 43 insertions(+), 13 deletions(-) diff --git a/public/css/gogs.css b/public/css/gogs.css index cc48f211f..361475bd4 100755 --- a/public/css/gogs.css +++ b/public/css/gogs.css @@ -1836,4 +1836,11 @@ body { #issue-create-form #attached { margin-bottom: 0; +} + +#submit-error { + display: none; + padding: 10px 15px 15px 15px; + font-weight: bold; + text-align: center; } \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js index a88c8f6bc..b0dff0efc 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -568,7 +568,7 @@ function initIssue() { }; var out = function() { - $hoverElement.hide(); + //$hoverElement.hide(); }; $(".issue-main .attachments .attachment").hover(over, out); @@ -598,6 +598,13 @@ function initIssue() { $("button,input[type=\"submit\"]", fileInput.form).on("click", function() { clickedButton = this; + + var $button = $(this); + + $button.removeClass("btn-success"); + $button.addClass("btn-warning"); + + $button.text("Submiting..."); }); fileInput.form.addEventListener("submit", function(event) { @@ -630,16 +637,33 @@ function initIssue() { }); xhr.addEventListener("load", function() { - if (xhr.response.ok === false) { - $("#submit-error").text(xhr.response.error); + var response = xhr.response; + + if (typeof response == "string") { + try { + response = JSON.parse(response); + } catch (err) { + response = { ok: false, error: "Could not parse JSON" }; + } + } + + if (response.ok === false) { + $("#submit-error").text(response.error); + $("#submit-error").show(); + + var $button = $(clickedButton); + + $button.removeClass("btn-warning"); + $button.addClass("btn-danger"); + + $button.text("An error encoured!") + return; } - window.location.href = xhr.response.data; + window.location.href = response.data; }); - xhr.responseType = "json"; - xhr.open("POST", this.action, true); xhr.send(data); diff --git a/routers/repo/issue.go b/routers/repo/issue.go index edfa39b02..4465a3995 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -189,9 +189,9 @@ func CreateIssue(ctx *middleware.Context, params martini.Params) { func CreateIssuePost(ctx *middleware.Context, params martini.Params, form auth.CreateIssueForm) { send := func(status int, data interface{}, err error) { - log.Error("issue.Comment(?): %s", err) - if err != nil { + log.Error("issue.CreateIssuePost(?): %s", err.Error()) + ctx.JSON(status, map[string]interface{}{ "ok": false, "status": status, @@ -711,9 +711,9 @@ func uploadFiles(ctx *middleware.Context, issueId, commentId int64) { func Comment(ctx *middleware.Context, params martini.Params) { send := func(status int, data interface{}, err error) { - log.Error("issue.Comment(?): %s", err) - if err != nil { + log.Error("issue.Comment(?): %s", err.Error()) + ctx.JSON(status, map[string]interface{}{ "ok": false, "status": status, @@ -860,7 +860,6 @@ func Comment(ctx *middleware.Context, params martini.Params) { } } - log.Error("url: %#v", fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, index)) send(200, fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, index), nil) } diff --git a/templates/repo/issue/create.tmpl b/templates/repo/issue/create.tmpl index ad86d4eaf..c01888427 100644 --- a/templates/repo/issue/create.tmpl +++ b/templates/repo/issue/create.tmpl @@ -95,7 +95,7 @@
-
+
diff --git a/templates/repo/issue/view.tmpl b/templates/repo/issue/view.tmpl index b5d722819..aec50ca62 100644 --- a/templates/repo/issue/view.tmpl +++ b/templates/repo/issue/view.tmpl @@ -134,7 +134,7 @@
-
+