From cd339263d91ee9fc2ae9d52d17ae7f82e3dac839 Mon Sep 17 00:00:00 2001
From: Sandro Santilli <strk@kbt.io>
Date: Mon, 14 Nov 2016 17:30:22 +0100
Subject: [PATCH] Allow updating draft releases while keeping them as draft

Closes #162
---
 routers/repo/release.go         |  1 +
 templates/repo/release/new.tmpl | 13 ++++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/routers/repo/release.go b/routers/repo/release.go
index 3c4966383..187952c2e 100644
--- a/routers/repo/release.go
+++ b/routers/repo/release.go
@@ -247,6 +247,7 @@ func EditRelease(ctx *context.Context) {
 	ctx.Data["title"] = rel.Title
 	ctx.Data["content"] = rel.Note
 	ctx.Data["prerelease"] = rel.IsPrerelease
+	ctx.Data["IsDraft"] = rel.IsDraft
 
 	ctx.HTML(200, RELEASE_NEW)
 }
diff --git a/templates/repo/release/new.tmpl b/templates/repo/release/new.tmpl
index 9f947fa26..3a9e6fadd 100644
--- a/templates/repo/release/new.tmpl
+++ b/templates/repo/release/new.tmpl
@@ -64,9 +64,16 @@
 							<a class="ui blue basic button" href="{{.RepoLink}}/releases">
 								{{.i18n.Tr "repo.release.cancel"}}
 							</a>
-							<button class="ui green button">
-								{{.i18n.Tr "repo.release.edit_release"}}
-							</button>
+							{{if .IsDraft}}
+								<input class="ui grey button" type="submit" name="draft" value="{{.i18n.Tr "repo.release.save_draft"}}"/>
+								<button class="ui green button">
+									{{.i18n.Tr "repo.release.publish"}}
+								</button>
+							{{else}}
+								<button class="ui green button">
+									{{.i18n.Tr "repo.release.edit_release"}}
+								</button>
+							{{end}}
 							<a class="ui red button delete-button" data-url="{{$.RepoLink}}/releases/delete" data-id="{{.ID}}">
 								{{$.i18n.Tr "repo.release.delete_release"}}
 							</a>