Merge branch 'tweak/update-notifs' into 'dev'

Fix start server after updates

See merge request crafty-controller/crafty-4!449
This commit is contained in:
Iain Powrie 2022-09-04 21:56:18 +00:00
commit 3715dad06f
2 changed files with 31 additions and 41 deletions

View File

@ -1042,6 +1042,7 @@ class ServerInstance:
return self.stats_helper.get_server_stats()["updating"] return self.stats_helper.get_server_stats()["updating"]
def a_jar_update(self): def a_jar_update(self):
server_users = PermissionsServers.get_server_user_list(self.server_id)
was_started = "-1" was_started = "-1"
self.backup_server() self.backup_server()
# checks if server is running. Calls shutdown if it is running. # checks if server is running. Calls shutdown if it is running.
@ -1060,8 +1061,10 @@ class ServerInstance:
message = ( message = (
'<a data-id="' + str(self.server_id) + '" class=""> UPDATING...</i></a>' '<a data-id="' + str(self.server_id) + '" class=""> UPDATING...</i></a>'
) )
self.helper.websocket_helper.broadcast_page( for user in server_users:
self.helper.websocket_helper.broadcast_user_page(
"/panel/server_detail", "/panel/server_detail",
user,
"update_button_status", "update_button_status",
{ {
"isUpdating": self.check_update(), "isUpdating": self.check_update(),
@ -1070,9 +1073,6 @@ class ServerInstance:
"string": message, "string": message,
}, },
) )
self.helper.websocket_helper.broadcast_page(
"/panel/dashboard", "send_start_reload", {}
)
backup_dir = os.path.join( backup_dir = os.path.join(
Helpers.get_os_understandable_path(self.settings["path"]), Helpers.get_os_understandable_path(self.settings["path"]),
"crafty_executable_backups", "crafty_executable_backups",
@ -1114,7 +1114,6 @@ class ServerInstance:
# check if backup was successful # check if backup was successful
if self.last_backup_failed: if self.last_backup_failed:
server_users = PermissionsServers.get_server_user_list(self.server_id)
for user in server_users: for user in server_users:
self.helper.websocket_helper.broadcast_user( self.helper.websocket_helper.broadcast_user(
user, user,
@ -1164,7 +1163,6 @@ class ServerInstance:
if len(self.helper.websocket_helper.clients) > 0: if len(self.helper.websocket_helper.clients) > 0:
# There are clients # There are clients
self.check_update() self.check_update()
server_users = PermissionsServers.get_server_user_list(self.server_id)
for user in server_users: for user in server_users:
self.helper.websocket_helper.broadcast_user( self.helper.websocket_helper.broadcast_user(
user, user,
@ -1173,8 +1171,10 @@ class ServerInstance:
) )
# sleep so first notif can completely run # sleep so first notif can completely run
time.sleep(3) time.sleep(3)
self.helper.websocket_helper.broadcast_page( for user in server_users:
self.helper.websocket_helper.broadcast_user_page(
"/panel/server_detail", "/panel/server_detail",
user,
"update_button_status", "update_button_status",
{ {
"isUpdating": self.check_update(), "isUpdating": self.check_update(),
@ -1182,14 +1182,9 @@ class ServerInstance:
"wasRunning": was_started, "wasRunning": was_started,
}, },
) )
self.helper.websocket_helper.broadcast_page( self.helper.websocket_helper.broadcast_user_page(
"/panel/dashboard", "send_start_reload", {} user, "/panel/dashboard", "send_start_reload", {}
) )
self.helper.websocket_helper.broadcast_page(
"/panel/server_detail", "remove_spinner", {}
)
server_users = PermissionsServers.get_server_user_list(self.server_id)
for user in server_users:
self.helper.websocket_helper.broadcast_user( self.helper.websocket_helper.broadcast_user(
user, user,
"notification", "notification",
@ -1204,9 +1199,8 @@ class ServerInstance:
self.settings["server_ip"], self.settings["server_ip"],
) )
if was_started: if was_started:
self.start_server() self.start_server(HelperUsers.get_user_id_by_name("system"))
else: else:
server_users = PermissionsServers.get_server_user_list(self.server_id)
for user in server_users: for user in server_users:
self.helper.websocket_helper.broadcast_user( self.helper.websocket_helper.broadcast_user(
user, user,
@ -1217,6 +1211,8 @@ class ServerInstance:
) )
logger.error("Executable download failed.") logger.error("Executable download failed.")
self.stats_helper.set_update(False) self.stats_helper.set_update(False)
for user in server_users:
self.helper.websocket_helper.broadcast_user(user, "remove_spinner", {})
# ********************************************************************************** # **********************************************************************************
# Minecraft Servers Statistics # Minecraft Servers Statistics

View File

@ -250,18 +250,16 @@
</div> </div>
<div class="text-center"> <div class="text-center">
{% if data['server_stats']['running'] %} {% if data['server_stats']['running'] %}
<button onclick="send_command(serverId, 'update_executable');" id="update_executable"
style="max-width: 7rem;" class="btn btn-warning m-1 flex-grow-1 disabled">{{ translate('serverConfig',
'update', data['lang']) }}</button>
{% if data['server_stats']['updating'] %} {% if data['server_stats']['updating'] %}
<button onclick="send_command(serverId, 'update_executable');" id="update_executable" <i id="update-spinner" class="fa fa-spinner fa-spin"></i>&nbsp;<button
style="max-width: 7rem;" class="btn btn-warning m-1 flex-grow-1 disabled">{{ translate('serverConfig', onclick="send_command(serverId, 'update_executable');" id="update_executable" style="max-width: 7rem;"
'update', data['lang']) }}&nbsp;<i id="update-spinner" class="fa fa-spinner fa-spin"></i></button> class="btn btn-warning m-1 flex-grow-1 disabled">{{ translate('serverConfig',
'update', data['lang']) }}</button>
{% else %} {% else %}
<button onclick="send_command(serverId, 'update_executable');" id="update_executable" <i style="visibility: hidden;" id="update-spinner" class="fa fa-spinner fa-spin"></i>&nbsp;<button
style="max-width: 7rem;" class="btn btn-warning m-1 flex-grow-1 disabled">{{ translate('serverConfig', onclick="send_command(serverId, 'update_executable');" id="update_executable" style="max-width: 7rem;"
'update', data['lang']) }}&nbsp;<i style="visibility: hidden;" id="update-spinner" class="btn btn-warning m-1 flex-grow-1 disabled">{{ translate('serverConfig',
class="fa fa-spinner fa-spin"></i></button> 'update', data['lang']) }}</button>
{% end %} {% end %}
<a class="btn btn-sm btn-danger disabled">{{ translate('serverConfig', 'deleteServer', data['lang']) <a class="btn btn-sm btn-danger disabled">{{ translate('serverConfig', 'deleteServer', data['lang'])
}}</a><br /> }}</a><br />
@ -269,14 +267,15 @@
{% else %} {% else %}
{% if not data['failed'] %} {% if not data['failed'] %}
{% if data['server_stats']['updating'] %} {% if data['server_stats']['updating'] %}
<button onclick="send_command(serverId, 'update_executable');" id="update_executable" <i id="update-spinner" class="fa fa-spinner fa-spin"></i>&nbsp;<button
style="max-width: 7rem;" class="btn btn-warning m-1 flex-grow-1">{{ translate('serverConfig', onclick="send_command(serverId, 'update_executable');" id="update_executable" style="max-width: 7rem;"
'update', data['lang']) }}&nbsp;<i id="update-spinner" class="fa fa-spinner fa-spin"></i></button> class="btn btn-warning m-1 flex-grow-1">{{ translate('serverConfig',
'update', data['lang']) }}</button>
{% else %} {% else %}
<button onclick="send_command(serverId, 'update_executable');" id="update_executable" <i style="visibility: hidden;" id="update-spinner" class="fa fa-spinner fa-spin"></i>&nbsp;<button
style="max-width: 7rem;" class="btn btn-warning m-1 flex-grow-1">{{ translate('serverConfig', onclick="send_command(serverId, 'update_executable');" id="update_executable" style="max-width: 7rem;"
'update', data['lang']) }}&nbsp;<i style="visibility: hidden;" id="update-spinner" class="btn btn-warning m-1 flex-grow-1">{{ translate('serverConfig',
class="fa fa-spinner fa-spin"></i></button> 'update', data['lang']) }}</button>
{% end %} {% end %}
{% end %} {% end %}
{% if not data['failed'] %} {% if not data['failed'] %}
@ -384,16 +383,11 @@
success: function (data) { success: function (data) {
console.log("got response:"); console.log("got response:");
console.log(data); console.log(data);
setTimeout(function () { location.reload(); }, 10000); if (command != "update_executable") {
setTimeout(function () { location.reload(); }, 10000);
}
} }
}); });
if (command != "delete_server" && command != "delete_server_files") {
bootbox.alert({
backdrop: true,
title: '{% raw translate("serverConfig", "sendingRequest", data['lang']) %}',
message: '<div align="center"><i class="fas fa-spin fa-spinner"></i> &nbsp; {% raw translate("serverConfig", "bePatientUpdate", data['lang']) %} </div>'
});
}
} }
function deleteServer() { function deleteServer() {