add function edit_project_registries
This commit is contained in:
@@ -315,6 +315,40 @@ edit_project() {
|
||||
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
|
||||
change_project_setting() {
|
||||
local config_file=$1
|
||||
|
||||
Reference in New Issue
Block a user