Updating a deadline from the ui is now entirely done via the api

This commit is contained in:
kolaente 2018-05-02 16:15:12 +02:00
parent cf3313b998
commit d27bb3eb9b
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B
4 changed files with 48 additions and 24 deletions

View File

@ -2194,14 +2194,33 @@ function initTopicbar() {
},
});
}
function toggleDuedateForm() {
$('#add_deadline_form').fadeToggle(150);
function toggleDeadlineForm() {
$('#deadlineForm').fadeToggle(150);
}
function deleteDueDate(url) {
$.post(url, {
'_csrf': csrf,
},function( data ) {
window.location.reload();
function setDeadline() {
var deadline = $('#deadlineDate').val();
updateDeadline(deadline);
}
function updateDeadline(deadlineString) {
var issue_api_url = suburl + '/api/v1/repos/' + $('meta[name=_repo_owner]').attr("content") + '/' + $('meta[name=_repo_name]').attr("content") + '/issues/' + $('meta[name=_issue_index]').attr("content");
$('#deadline-loader').addClass('loading');
var realDeadline = null;
if (deadlineString !== '') {
realDeadline = deadlineString + 'T13:55:29.764Z';
}
$.ajax(issue_api_url + '/deadline', {
data: JSON.stringify({
'due_date': realDeadline,
}),
contentType: 'application/json',
type: 'POST',
complete: function () {
window.location.reload();
}
});
}

View File

@ -338,7 +338,7 @@ func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
func UpdateIssueDeadline(ctx *context.APIContext, form api.CreateDeadlineOption) {
// swagger:operation POST /repos/{owner}/{repo}/issues/{index}/deadline issue issueCreateIssueDeadline
// ---
// summary: Set an issue deadline
// summary: Set an issue deadline. If set to null, the deadline is deleted.
// consumes:
// - application/json
// produces:

View File

@ -21,6 +21,13 @@
{{if .SearchLimit}}
<meta name="_search_limit" content="{{.SearchLimit}}" />
{{end}}
{{with .Repository}}
<meta name="_repo_owner" content="{{.Owner.Name}}" />
<meta name="_repo_name" content="{{.Name}}" />
{{end}}
{{with .Issue}}
<meta name="_issue_index" content="{{.Index}}" />
{{end}}
{{if .GoGetImport}}
<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">
<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}">

View File

@ -194,6 +194,7 @@
<div class="ui divider"></div>
<span class="text"><strong>{{.i18n.Tr "repo.issues.due_date"}}</strong></span>
<div class="ui form" id="deadline-loader">
{{if gt .Issue.DeadlineUnix 0}}
<p>
<span class="octicon octicon-calendar"></span>
@ -203,8 +204,8 @@
{{end}}
{{if and .IsSigned .IsRepositoryWriter}}
<br/>
<a style="cursor:pointer;" onclick="toggleDuedateForm();"><i class="edit icon"></i>Edit</a> -
<a style="cursor:pointer;" onclick="deleteDueDate('{{$.RepoLink}}/issues/{{.Issue.Index}}/deadline/delete');"><i class="remove icon"></i>Remove</a>
<a style="cursor:pointer;" onclick="toggleDeadlineForm();"><i class="edit icon"></i>Edit</a> -
<a style="cursor:pointer;" onclick="updateDeadline('');"><i class="remove icon"></i>Remove</a>
{{end}}
</p>
{{else}}
@ -212,20 +213,17 @@
{{end}}
{{if and .IsSigned .IsRepositoryWriter}}
<form method="POST"{{if gt .Issue.DeadlineUnix 0}}style="display: none;"{{end}}} id="add_deadline_form" action="{{$.RepoLink}}/issues/{{.Issue.Index}}/deadline/update" class="ui action input fluid">
{{$.CsrfTokenHtml}}
<div class="ui fluid action input">
<input required placeholder="{{.i18n.Tr "repo.issues.due_date_form"}}" {{if gt .Issue.DeadlineUnix 0}}value="{{.Issue.DeadlineUnix.Format "2006-01-02"}}"{{end}} type="date" name="date" style="min-width: 13.9rem;border-radius: 4px 0 0 4px;border-right: 0;white-space: nowrap;">
<button class="ui green icon button">
{{if gt .Issue.DeadlineUnix 0}}
<i class="edit icon"></i>
{{else}}
<i class="plus icon"></i>
{{end}}
</button>
</div>
</form>
<div class="ui fluid action input"{{if gt .Issue.DeadlineUnix 0}} style="display: none;"{{end}} id="deadlineForm">
<input required placeholder="{{.i18n.Tr "repo.issues.due_date_form"}}" {{if gt .Issue.DeadlineUnix 0}}value="{{.Issue.DeadlineUnix.Format "2006-01-02"}}"{{end}} type="date" name="deadlineDate" id="deadlineDate" style="min-width: 13.8rem;border-radius: 4px 0 0 4px;border-right: 0;white-space: nowrap;">
<button class="ui green icon button" onclick="setDeadline();">
{{if gt .Issue.DeadlineUnix 0}}
<i class="edit icon"></i>
{{else}}
<i class="plus icon"></i>
{{end}}
</button>
</div>
{{end}}
</div>
</div>
</div>