diff --git a/data/www/js/explorer.js b/data/www/js/explorer.js index 45aef68..52f1fa0 100644 --- a/data/www/js/explorer.js +++ b/data/www/js/explorer.js @@ -167,8 +167,11 @@ jQuery(function ($) { event.preventDefault(); $(this).off('click'); const href = $(this).attr('href'); + const callback = $(this).attr('data-callback'); - if ($(this).attr('target') === '_blank') { + if (callback) { + window[callback]($(this)); + } else if ($(this).attr('target') === '_blank') { window.open(href); } else { window.location.href = href; diff --git a/data/www/js/fleet/node-players.js b/data/www/js/fleet/node-players.js index b39a6e4..1841fea 100644 --- a/data/www/js/fleet/node-players.js +++ b/data/www/js/fleet/node-players.js @@ -4,6 +4,16 @@ jQuery(document).ready(function ($) { inputOperatingSystemUpdate(); }; + window.nodePlayerEdit = function ($this) { + const nodePlayer = JSON.parse($this.parents('li:eq(0)').attr('data-entity-json')); + showModal('modal-node-player-edit'); + $('.modal-node-player-edit input:visible:eq(0)').focus().select(); + $('#node-player-edit-name').val(nodePlayer.name); + $('#node-player-edit-host').val(nodePlayer.host); + $('#node-player-edit-id').val(nodePlayer.id); + inputOperatingSystemUpdate(); + }; + const inputOperatingSystemUpdate = function () { const $el = $('form:visible .operating-system-select'); if ($el.length === 0) return; diff --git a/src/controller/FleetNodePlayerController.py b/src/controller/FleetNodePlayerController.py index 4bc2308..0d96117 100644 --- a/src/controller/FleetNodePlayerController.py +++ b/src/controller/FleetNodePlayerController.py @@ -80,6 +80,7 @@ class FleetNodePlayerController(ObController): ) def fleet_node_player_save(self, node_player_id: int = 0): + node_player_id = request.form['id'] if 'id' in request.form else node_player_id node_player = self._model_store.node_player().get(node_player_id) if not node_player: @@ -93,7 +94,8 @@ class FleetNodePlayerController(ObController): ) self._post_update() - return redirect(url_for('fleet_node_player_edit', node_player_id=node_player_id, saved=1)) + # return redirect(url_for('fleet_node_player_edit', node_player_id=node_player_id, saved=1)) + return redirect(url_for('fleet_node_player_list')) def fleet_node_player_delete(self): node_player = self._model_store.node_player().get(request.args.get('id')) diff --git a/views/fleet/node-players/list.jinja.html b/views/fleet/node-players/list.jinja.html index 832fece..85e99e5 100644 --- a/views/fleet/node-players/list.jinja.html +++ b/views/fleet/node-players/list.jinja.html @@ -174,8 +174,8 @@ {% for node_player in node_players[working_folder.id|default(None)]|default([]) %} {% set icon = enum_operating_system.get_fa_icon(node_player.operating_system) %} {% set color = node_player.operating_system.value %} -