Fix IE bug and show errors.
This commit is contained in:
parent
4e2477a1a5
commit
12fb42de5a
5 changed files with 43 additions and 13 deletions
|
@ -1837,3 +1837,10 @@ body {
|
||||||
#issue-create-form #attached {
|
#issue-create-form #attached {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#submit-error {
|
||||||
|
display: none;
|
||||||
|
padding: 10px 15px 15px 15px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
}
|
|
@ -568,7 +568,7 @@ function initIssue() {
|
||||||
};
|
};
|
||||||
|
|
||||||
var out = function() {
|
var out = function() {
|
||||||
$hoverElement.hide();
|
//$hoverElement.hide();
|
||||||
};
|
};
|
||||||
|
|
||||||
$(".issue-main .attachments .attachment").hover(over, out);
|
$(".issue-main .attachments .attachment").hover(over, out);
|
||||||
|
@ -598,6 +598,13 @@ function initIssue() {
|
||||||
|
|
||||||
$("button,input[type=\"submit\"]", fileInput.form).on("click", function() {
|
$("button,input[type=\"submit\"]", fileInput.form).on("click", function() {
|
||||||
clickedButton = this;
|
clickedButton = this;
|
||||||
|
|
||||||
|
var $button = $(this);
|
||||||
|
|
||||||
|
$button.removeClass("btn-success");
|
||||||
|
$button.addClass("btn-warning");
|
||||||
|
|
||||||
|
$button.text("Submiting...");
|
||||||
});
|
});
|
||||||
|
|
||||||
fileInput.form.addEventListener("submit", function(event) {
|
fileInput.form.addEventListener("submit", function(event) {
|
||||||
|
@ -630,16 +637,33 @@ function initIssue() {
|
||||||
});
|
});
|
||||||
|
|
||||||
xhr.addEventListener("load", function() {
|
xhr.addEventListener("load", function() {
|
||||||
if (xhr.response.ok === false) {
|
var response = xhr.response;
|
||||||
$("#submit-error").text(xhr.response.error);
|
|
||||||
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.location.href = xhr.response.data;
|
window.location.href = response.data;
|
||||||
});
|
});
|
||||||
|
|
||||||
xhr.responseType = "json";
|
|
||||||
|
|
||||||
xhr.open("POST", this.action, true);
|
xhr.open("POST", this.action, true);
|
||||||
xhr.send(data);
|
xhr.send(data);
|
||||||
|
|
||||||
|
|
|
@ -189,9 +189,9 @@ func CreateIssue(ctx *middleware.Context, params martini.Params) {
|
||||||
|
|
||||||
func CreateIssuePost(ctx *middleware.Context, params martini.Params, form auth.CreateIssueForm) {
|
func CreateIssuePost(ctx *middleware.Context, params martini.Params, form auth.CreateIssueForm) {
|
||||||
send := func(status int, data interface{}, err error) {
|
send := func(status int, data interface{}, err error) {
|
||||||
log.Error("issue.Comment(?): %s", err)
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Error("issue.CreateIssuePost(?): %s", err.Error())
|
||||||
|
|
||||||
ctx.JSON(status, map[string]interface{}{
|
ctx.JSON(status, map[string]interface{}{
|
||||||
"ok": false,
|
"ok": false,
|
||||||
"status": status,
|
"status": status,
|
||||||
|
@ -711,9 +711,9 @@ func uploadFiles(ctx *middleware.Context, issueId, commentId int64) {
|
||||||
|
|
||||||
func Comment(ctx *middleware.Context, params martini.Params) {
|
func Comment(ctx *middleware.Context, params martini.Params) {
|
||||||
send := func(status int, data interface{}, err error) {
|
send := func(status int, data interface{}, err error) {
|
||||||
log.Error("issue.Comment(?): %s", err)
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Error("issue.Comment(?): %s", err.Error())
|
||||||
|
|
||||||
ctx.JSON(status, map[string]interface{}{
|
ctx.JSON(status, map[string]interface{}{
|
||||||
"ok": false,
|
"ok": false,
|
||||||
"status": status,
|
"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)
|
send(200, fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, index), nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<div class="tab-pane" id="issue-textarea">
|
<div class="tab-pane" id="issue-textarea">
|
||||||
<div class="form-group">
|
<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>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<div class="tab-pane" id="issue-textarea">
|
<div class="tab-pane" id="issue-textarea">
|
||||||
<div class="form-group">
|
<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"/>
|
<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>
|
<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>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue