1
0
mirror of https://github.com/hrfee/jfa-go.git synced 2024-06-28 04:17:45 +02:00

Add notice about no self-restarts on windows

This commit is contained in:
Harvey Tindall 2020-09-05 21:52:23 +01:00
parent d31254b18e
commit f5f2a0f190
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
5 changed files with 33 additions and 2 deletions

View File

@ -1120,7 +1120,10 @@ document.getElementById('settingsSave').onclick = function() {
} }
if (restart_setting_changed) { if (restart_setting_changed) {
document.getElementById('applyRestarts').onclick = function(){ sendConfig('restartModal'); }; document.getElementById('applyRestarts').onclick = function(){ sendConfig('restartModal'); };
document.getElementById('applyAndRestart').onclick = function(){ sendConfig('restartModal', restart=true); }; let restartButton = document.getElementById('applyAndRestart')
if (restartButton) {
restartButton.onclick = function(){ sendConfig('restartModal', restart=true); };
}
settingsModal.hide(); settingsModal.hide();
restartModal.show(); restartModal.show();
} else if (settings_changed) { } else if (settings_changed) {

View File

@ -269,6 +269,15 @@
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">Warning</h5> <h5 class="modal-title">Warning</h5>
</div> </div>
{{ if .windows }}
<div class="modal-body">
<p>A restart is needed to apply some settings. Self-restarts aren't possible on Windows, so you must restart manually.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-secondary" id="applyRestarts" data-dismiss="modal">Apply, Restart manually</button>
</div>
{{ else }}
<div class="modal-body"> <div class="modal-body">
<p>A restart is needed to apply some settings. Restart now, later, or cancel?</p> <p>A restart is needed to apply some settings. Restart now, later, or cancel?</p>
</div> </div>
@ -277,6 +286,7 @@
<button type="button" class="btn btn-secondary" id="applyRestarts" data-dismiss="modal">Apply, Restart later</button> <button type="button" class="btn btn-secondary" id="applyRestarts" data-dismiss="modal">Apply, Restart later</button>
<button type="button" class="btn btn-primary" id="applyAndRestart" data-dismiss="modal">Apply &amp; Restart</button> <button type="button" class="btn btn-primary" id="applyAndRestart" data-dismiss="modal">Apply &amp; Restart</button>
</div> </div>
{{ end }}
</div> </div>
</div> </div>
</div> </div>

View File

@ -359,7 +359,11 @@
<div class="card-body text-center"> <div class="card-body text-center">
<h5 class="card-title">Finished!</h5> <h5 class="card-title">Finished!</h5>
<p class="card-text"> <p class="card-text">
{{ if .windows }}
Press the button below to submit your settings. Unfortunately you're running on Windows, so jfa-go <a href="https://github.com/golang/go/issues/30662">cannot restart itself.</a> You will manually have to restart.
{{ else }}
Press the button below to submit your settings. The program will restart. Once it's done, refresh this page. Press the button below to submit your settings. The program will restart. Once it's done, refresh this page.
{{ end }}
</p> </p>
<button id="submitButton" class="btn btn-primary">Submit</button> <button id="submitButton" class="btn btn-primary">Submit</button>
</div> </div>

11
main.go
View File

@ -14,6 +14,7 @@ import (
"os" "os"
"os/signal" "os/signal"
"path/filepath" "path/filepath"
"runtime"
"time" "time"
"github.com/gin-contrib/pprof" "github.com/gin-contrib/pprof"
@ -95,6 +96,8 @@ func setGinLogger(router *gin.Engine, debugMode bool) {
} }
} }
var PLATFORM string = runtime.GOOS
func main() { func main() {
fmt.Printf("jfa-go version: %s (%s)\n", VERSION, COMMIT) fmt.Printf("jfa-go version: %s (%s)\n", VERSION, COMMIT)
// app encompasses essentially all useful functions. // app encompasses essentially all useful functions.
@ -362,8 +365,14 @@ func main() {
} }
app.info.Printf("Starting router @ %s", address) app.info.Printf("Starting router @ %s", address)
} else { } else {
windows := false
if PLATFORM == "windows" {
windows = true
}
router.GET("/", func(gc *gin.Context) { router.GET("/", func(gc *gin.Context) {
gc.HTML(200, "setup.html", gin.H{}) gc.HTML(200, "setup.html", gin.H{
"windows": windows,
})
}) })
router.POST("/testJF", app.TestJF) router.POST("/testJF", app.TestJF)
router.POST("/modifyConfig", app.ModifyConfig) router.POST("/modifyConfig", app.ModifyConfig)

View File

@ -11,6 +11,10 @@ func (app *appContext) AdminPage(gc *gin.Context) {
emailEnabled, _ := app.config.Section("invite_emails").Key("enabled").Bool() emailEnabled, _ := app.config.Section("invite_emails").Key("enabled").Bool()
notificationsEnabled, _ := app.config.Section("notifications").Key("enabled").Bool() notificationsEnabled, _ := app.config.Section("notifications").Key("enabled").Bool()
ombiEnabled := app.config.Section("ombi").Key("enabled").MustBool(false) ombiEnabled := app.config.Section("ombi").Key("enabled").MustBool(false)
windows := false
if PLATFORM == "windows" {
windows = true
}
gc.HTML(http.StatusOK, "admin.html", gin.H{ gc.HTML(http.StatusOK, "admin.html", gin.H{
"bs5": bs5, "bs5": bs5,
"cssFile": app.cssFile, "cssFile": app.cssFile,
@ -20,6 +24,7 @@ func (app *appContext) AdminPage(gc *gin.Context) {
"version": VERSION, "version": VERSION,
"commit": COMMIT, "commit": COMMIT,
"ombiEnabled": ombiEnabled, "ombiEnabled": ombiEnabled,
"windows": windows,
}) })
} }