Browse Source

Fix IE bug and show errors.

for-closed-social
Justin Nuß 10 years ago
parent
commit
12fb42de5a
5 changed files with 43 additions and 13 deletions
  1. +7
    -0
      public/css/gogs.css
  2. +30
    -6
      public/js/app.js
  3. +4
    -5
      routers/repo/issue.go
  4. +1
    -1
      templates/repo/issue/create.tmpl
  5. +1
    -1
      templates/repo/issue/view.tmpl

+ 7
- 0
public/css/gogs.css View File

@ -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;
}

+ 30
- 6
public/js/app.js View File

@ -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);

+ 4
- 5
routers/repo/issue.go View File

@ -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)
}

+ 1
- 1
templates/repo/issue/create.tmpl View File

@ -95,7 +95,7 @@
<div class="tab-content">
<div class="tab-pane" id="issue-textarea">
<div class="form-group">
<div id="submit-error"></div>
<div id="submit-error" class="text-danger"></div>
<textarea class="form-control" name="content" id="issue-content" rows="10" placeholder="Write some content" data-ajax-rel="issue-preview" data-ajax-val="val" data-ajax-field="text">{{.content}}</textarea>
</div>
</div>

+ 1
- 1
templates/repo/issue/view.tmpl View File

@ -134,7 +134,7 @@
<div class="tab-content">
<div class="tab-pane" id="issue-textarea">
<div class="form-group">
<div id="submit-error"></div>
<div id="submit-error" class="text-danger"></div>
<input type="hidden" value="{{.Issue.Index}}" name="issueIndex"/>
<textarea class="form-control" name="content" id="issue-reply-content" rows="10" placeholder="Write some content" data-ajax-rel="issue-preview" data-ajax-val="val" data-ajax-field="text">{{.content}}</textarea>
</div>

Loading…
Cancel
Save