mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Fix sec bug with server creation roles
Retain current java version in dropdown.
This commit is contained in:
parent
b5331501ec
commit
c4fb6482cc
@ -633,6 +633,24 @@ class PanelHandler(BaseHandler):
|
||||
)
|
||||
return
|
||||
page_data["java_versions"] = Helpers.find_java_installs()
|
||||
server_obj: Servers = self.controller.servers.get_server_obj(server_id)
|
||||
current_java = shlex.split(server_obj.execution_command)[0]
|
||||
page_java = []
|
||||
page_data["java_versions"].append("java")
|
||||
page_data["current_java"] = current_java
|
||||
for version in page_data["java_versions"]:
|
||||
temp_version = version + "/bin/java"
|
||||
if os.name == "nt":
|
||||
if version == "java" and current_java != version:
|
||||
page_java.append(version)
|
||||
else:
|
||||
if temp_version != current_java and version != "java":
|
||||
page_java.append(version)
|
||||
else:
|
||||
if version != current_java:
|
||||
page_java.append(version)
|
||||
|
||||
page_data["java_versions"] = page_java
|
||||
|
||||
if subpage == "files":
|
||||
if (
|
||||
@ -1371,10 +1389,17 @@ class PanelHandler(BaseHandler):
|
||||
return
|
||||
execution_list = shlex.split(execution_command)
|
||||
if java_selection:
|
||||
if self.helper.is_os_windows():
|
||||
execution_list[0] = '"' + java_selection + '/bin/java"'
|
||||
if java_selection != "java":
|
||||
if (
|
||||
self.helper.is_os_windows()
|
||||
and not "/bin/java" in java_selection
|
||||
):
|
||||
if not "/bin/java" in java_selection:
|
||||
execution_list[0] = '"' + java_selection + '/bin/java"'
|
||||
else:
|
||||
execution_list[0] = '"' + java_selection + '"'
|
||||
else:
|
||||
execution_list[0] = '"' + java_selection + '"'
|
||||
execution_list[0] = "java"
|
||||
execution_command = ""
|
||||
for item in execution_list:
|
||||
execution_command += item + " "
|
||||
@ -1407,7 +1432,7 @@ class PanelHandler(BaseHandler):
|
||||
server_obj.path = server_obj.path
|
||||
server_obj.log_path = server_obj.log_path
|
||||
server_obj.executable = server_obj.executable
|
||||
server_obj.execution_command = server_obj.execution_command
|
||||
server_obj.execution_command = execution_command
|
||||
server_obj.server_ip = server_obj.server_ip
|
||||
server_obj.server_port = server_obj.server_port
|
||||
server_obj.executable_update_url = server_obj.executable_update_url
|
||||
|
@ -17,6 +17,15 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ServerHandler(BaseHandler):
|
||||
def get_user_roles(self):
|
||||
user_roles = {}
|
||||
for user_id in self.controller.users.get_all_user_ids():
|
||||
user_roles_list = self.controller.users.get_user_roles_names(user_id)
|
||||
# user_servers =
|
||||
# self.controller.servers.get_authorized_servers(user.user_id)
|
||||
user_roles[user_id] = user_roles_list
|
||||
return user_roles
|
||||
|
||||
@tornado.web.authenticated
|
||||
def get(self, page):
|
||||
(
|
||||
@ -283,7 +292,7 @@ class ServerHandler(BaseHandler):
|
||||
if not superuser:
|
||||
user_roles = self.controller.roles.get_all_roles()
|
||||
else:
|
||||
user_roles = self.controller.roles.get_all_roles()
|
||||
user_roles = self.get_user_roles()
|
||||
server = bleach.clean(self.get_argument("server", ""))
|
||||
server_name = bleach.clean(self.get_argument("server_name", ""))
|
||||
min_mem = bleach.clean(self.get_argument("min_memory", ""))
|
||||
|
@ -81,11 +81,18 @@
|
||||
{% end %}
|
||||
<div class="form-group">
|
||||
<label for="java_selection">{{ translate('serverConfig', 'javaVersion', data['lang']) }} <small
|
||||
class="text-muted ml-1"> - {{ translate('serverConfig', 'javaVersionDesc', data['lang'])
|
||||
class="text-muted ml-1"> - EXPERIMENTAL -- PLEASE REPORT ANY BUGS {{
|
||||
translate('serverConfig', 'javaVersionDesc', data['lang'])
|
||||
}}</small> </label>
|
||||
<select class="form-select form-control form-control-lg select-css" id="java_selection"
|
||||
name="java_selection" form="config_form">
|
||||
{% if data['current_java'] %}
|
||||
<option value="{{data['current_java']}}">{{data['current_java']}}</option>
|
||||
<option value="">{{ translate('serverConfig', 'javaNoChange', data['lang'])}}</option>
|
||||
{% else %}
|
||||
<option value="">{{ translate('serverConfig',
|
||||
'javaNoChange', data['lang'])}}</option>
|
||||
{% end %}
|
||||
{% for path in data['java_versions'] %}
|
||||
<option value="{{path}}">{{path}}</option>
|
||||
{% end %}
|
||||
|
Loading…
Reference in New Issue
Block a user