Outfleet::server deleting

This commit is contained in:
mmilavkin
2024-03-15 20:15:43 +02:00
parent a2f7c09d09
commit aaf3049eb8
3 changed files with 35 additions and 24 deletions

23
main.py
View File

@ -190,6 +190,29 @@ def add_server():
) )
) )
@app.route("/del_server", methods=["POST"])
def del_server():
if request.method == "POST":
with open(CFG_PATH, "r") as file:
config = yaml.safe_load(file) or {}
local_server_id = request.form.get("local_server_id")
try:
config["servers"].pop(local_server_id)
except KeyError as e:
pass
for client_id, client_config in config["clients"].items():
try:
client_config["servers"].remove(local_server_id)
except ValueError as e:
pass
with open(CFG_PATH, "w") as file:
yaml.safe_dump(config, file)
log.info("Deleting server %s", request.form.get("local_server_id"))
update_state()
return redirect(url_for("index", nt="server has been deleted"))
@app.route("/add_client", methods=["POST"]) @app.route("/add_client", methods=["POST"])
def add_client(): def add_client():

View File

@ -18,24 +18,13 @@ a {
* -- HELPER STYLES -- * -- HELPER STYLES --
* Over-riding some of the .pure-button styles to make my buttons look unique * Over-riding some of the .pure-button styles to make my buttons look unique
*/ */
.primary-button, .button {
.secondary-button { border-radius: 6px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
border-radius: 20px;
} }
.primary-button { .delete-button {
color: #fff; background: #a20c0c;
background: #1b98f8; border: 1px solid #010101;
margin: 1em 0; color: #ffffff;
}
.secondary-button {
background: #fff;
border: 1px solid #ddd;
color: #666;
padding: 0.5em 2em;
font-size: 80%;
} }
/* /*

View File

@ -81,11 +81,6 @@
</p> </p>
</div> </div>
<!-- <div class="server-content-controls pure-u-1-2">-->
<!-- <button class="secondary-button pure-button">Reply</button>-->
<!-- <button class="secondary-button pure-button">Forward</button>-->
<!-- <button class="secondary-button pure-button">Move to</button>-->
<!-- </div>-->
</div> </div>
{% set ns = namespace(total_bytes=0) %} {% set ns = namespace(total_bytes=0) %}
@ -137,10 +132,14 @@
<label for="metrics_disabled" class="pure-radio"> <label for="metrics_disabled" class="pure-radio">
<input type="radio" id="metrics_disabled" name="metrics" value="False" {% if server.info()['metrics_enabled'] == False %}checked{% endif %} /> Disable <input type="radio" id="metrics_disabled" name="metrics" value="False" {% if server.info()['metrics_enabled'] == False %}checked{% endif %} /> Disable
</label> </label>
<button type="submit" class="pure-button pure-button-primary button">Save and apply</button>
<button type="submit" class="pure-button pure-button-primary">Save and apply</button>
</fieldset> </fieldset>
</form> </form>
<form action="/del_server" method="post">
<input type="hidden" name="local_server_id" value="{{ server.info()["local_server_id"] }}">
<button type="submit" class="pure-button pure-button-primary delete-button button">Delete Server</button>
</form>
</div> </div>
</div> </div>
</div> </div>