Fix errors and warnings when editing a service

This commit is contained in:
TheophileDiot 2022-09-22 16:24:28 +02:00
parent 94ce249d74
commit b0a887a155
3 changed files with 18 additions and 10 deletions

View File

@ -176,7 +176,7 @@ def manage_bunkerweb(method: str, operation: str = "reloads", *args):
if operation == "new":
operation, error = app.config["CONFIG"].new_service(args[0])
elif operation == "edit":
operation = app.config["CONFIG"].edit_service(args[1], args[0])
operation, error = app.config["CONFIG"].edit_service(args[1], args[0])
elif operation == "delete":
operation, error = app.config["CONFIG"].delete_service(args[2])

View File

@ -124,9 +124,8 @@ class Config:
if key_without_server_name in self.__plugins_settings
else True
):
server_key = f"{server_name}_{k}"
if not k.startswith(server_name) or k in self.__plugins_settings:
conf[server_key] = service[k]
conf[f"{server_name}_{k}"] = service[k]
else:
conf[k] = service[k]
@ -269,7 +268,7 @@ class Config:
self.__gen_conf(self.get_config(), services)
return f"Configuration for {variables['SERVER_NAME']} has been generated.", 0
def edit_service(self, old_server_name: str, variables: dict) -> str:
def edit_service(self, old_server_name: str, variables: dict) -> Tuple[str, int]:
"""Edits a service
Parameters
@ -284,9 +283,13 @@ class Config:
str
the confirmation message
"""
self.delete_service(old_server_name)
self.new_service(variables)
return f"Configuration for {old_server_name} has been edited."
message, error = self.delete_service(old_server_name)
if error:
return message, error
message, error = self.new_service(variables)
return f"Configuration for {old_server_name} has been edited.", error
def edit_global_conf(self, variables: dict) -> str:
"""Edits the global conf
@ -346,5 +349,9 @@ class Config:
if k.startswith(service_name):
del new_env[k]
for service in new_services:
if k in service:
del service[k]
self.__gen_conf(new_env, new_services)
return f"Configuration for {service_name} has been deleted.", 0

View File

@ -107,10 +107,11 @@
</div>
{% endif %} {% endfor %}
</div>
{% for plugin in config["CONFIG"].get_plugins() %} {% if
{% with global_config = config["CONFIG"].get_config() %}{%
for plugin in config["CONFIG"].get_plugins() %} {% if
plugin["settings"] and check_settings(plugin["settings"],
"multisite") %} {{ form_plugin_gen({}, plugin, "new")|safe
}} {% endif %} {% endfor %}
"multisite") %} {{ form_plugin_gen(global_config, plugin,
"new")|safe }} {% endif %} {% endfor %} {% endwith %}
</div>
</div>
</main>