Merge branch 'tweak/server-api-warning' into 'dev'

Show warning for serverjars API connection issues

See merge request crafty-controller/crafty-4!581
This commit is contained in:
Iain Powrie 2023-05-14 21:40:21 +00:00
commit 399af29d39
5 changed files with 61 additions and 6 deletions

View File

@ -13,6 +13,7 @@
- Fix project root error on first start ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/580))
### Tweaks
- Check for python version so we don't just fail out on unsupported python versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/577))
- Show warning for serverjars API connection issues ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/581))
### Lang
TBD
<br><br>

View File

@ -325,6 +325,16 @@ class Helpers:
except Exception:
return False
@staticmethod
def check_address_status(address):
try:
requests.get(address, timeout=1)
time.sleep(1)
requests.get(address, timeout=1)
return True
except:
return False
@staticmethod
def check_port(server_port):
try:

View File

@ -143,7 +143,11 @@ class ServerHandler(BaseHandler):
"not a server creator or server limit reached"
)
return
page_data["server_api"] = False
if page_data["online"]:
page_data["server_api"] = self.helper.check_address_status(
"https://serverjars.com/api/fetchTypes"
)
page_data["server_types"] = self.controller.server_jars.get_serverjar_data()
page_data["js_server_types"] = json.dumps(
self.controller.server_jars.get_serverjar_data()

View File

@ -19,7 +19,7 @@
<div class="row">
{% if data['online'] %}
<div class="col-sm-6 grid-margin stretch-card">
<div class="card">
<div class="card" id="creation_wizard">
<div class="card-body">
<h4>{{ translate('serverWizard', 'newServer', data['lang']) }}</h4>
@ -27,6 +27,38 @@
<p class="card-description">
<form method="post" class="server-wizard" onSubmit="wait_msg()">
{% if data["server_api"] %}
<fieldset>
{% else %}
<fieldset disabled="disabled">
<style>
#creation_wizard {
-webkit-filter: grayscale(1);
}
.api-alert{
position:absolute;
top:-5px;
left:0;
font-size: 50px !important;
color:#fff;
background:rgb(0,170,170);
opacity:.4;
width:100%;
height:100%;
z-index: 100;
}
.api-alert p {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
text-align: center;
font-size: 20px;
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
</style>
{% end %}
{% raw xsrf_form_html() %}
<div class="row">
<div class="col-sm-12">
@ -145,11 +177,16 @@
data['lang']) }}</button>
<button type="reset" class="btn btn-danger mr-2">{{ translate('serverWizard', 'resetForm', data['lang'])
}}</button>
</form>
</p>
</fieldset>
{% if not data["server_api"] %}
<div class="api-alert" style="position: absolute; top: -5px; z-index: 100; opacity: .99;">
<p style="color: white !important;"><i class="fas fa-exclamation-triangle" style="color: white;"></i>&nbsp;{{ translate('error', 'serverJars1', data['lang']) }}<a style="color: red;"; href="https://status.craftycontrol.com/status/craftycontrol"
target="_blank">&nbsp;{{ translate('error', 'craftyStatus', data['lang']) }}</a>
&nbsp;{{ translate('error', 'serverJars2', data['lang']) }}</p></div>
{% end %}
</div>
</div>
</form>
{% end %}
</div>

View File

@ -187,6 +187,9 @@
"superError": "You must be a super user to complete this action.",
"fileError": "File type must be an image.",
"migration": "Crafty's main server storage is being mirgated to a new location. All server starts have been suspended during this time. Please wait while we finish this migration",
"serverJars1": "Server JARs API unreachable. Please check",
"craftyStatus": "Crafty's status page",
"serverJars2": "for the most up to date information.",
"cronFormat": "Invalid Cron format detected"
},
"footer": {
@ -619,4 +622,4 @@
"manager": "Manager",
"selectManager": "Select Manager for User"
}
}
}