add function edit_project_registries
This commit is contained in:
@@ -315,6 +315,40 @@ edit_project() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Registry für Projekt auswählen
|
||||||
|
edit_project_registries() {
|
||||||
|
local config_file=$1
|
||||||
|
|
||||||
|
# aktuelle registries im Projekt auslesen
|
||||||
|
local current=$(grep "^registry=" "$config_file" 2>/dev/null | cut -d= -f2 | tr ',' ' ')
|
||||||
|
|
||||||
|
# alle registries aus Registry-Verwaltung
|
||||||
|
local all_registries
|
||||||
|
all_registries=$(ls "$REGISTRY_CONFIG_DIR" 2>/dev/null)
|
||||||
|
[ -z "$all_registries" ] && { whiptail --msgbox "Keine Registries verfügbar. Bitte zuerst eine Registry erstellen." 10 60; return; }
|
||||||
|
|
||||||
|
# menu_list für whiptail vorbereiten
|
||||||
|
local menu_list=()
|
||||||
|
for r in $all_registries; do
|
||||||
|
if [[ " $current " =~ " $r " ]]; then
|
||||||
|
menu_list+=("$r" "$r" ON)
|
||||||
|
else
|
||||||
|
menu_list+=("$r" "$r" OFF)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# whiptail checklist
|
||||||
|
local selected
|
||||||
|
selected=$(whiptail --title "Registries auswählen" --checklist "Mehrere auswählen (SPACE zum markieren)" 20 70 10 \
|
||||||
|
"${menu_list[@]}" 3>&1 1>&2 2>&3) || return
|
||||||
|
|
||||||
|
# Whiptail gibt die Auswahl in Anführungszeichen zurück, diese entfernen und Komma getrennt speichern
|
||||||
|
selected=$(echo $selected | tr -d '"' | tr ' ' ',')
|
||||||
|
|
||||||
|
# In Projekt-Config speichern
|
||||||
|
sed -i "s|^registry=.*|registry=$selected|" "$config_file"
|
||||||
|
}
|
||||||
|
|
||||||
# Schlüssel im Config-File ändern
|
# Schlüssel im Config-File ändern
|
||||||
change_project_setting() {
|
change_project_setting() {
|
||||||
local config_file=$1
|
local config_file=$1
|
||||||
|
|||||||
Reference in New Issue
Block a user