mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 13:55:08 +00:00
95 lines
2.6 KiB
Bash
Executable file
95 lines
2.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
prompt_manage_stack_site_name_with_cancel() {
|
|
local result_var="${1}"
|
|
local stack_name="${2}"
|
|
local stack_dir="${3}"
|
|
local input_site_name=""
|
|
local suggestion=""
|
|
local prompt_status=0
|
|
|
|
suggestion="$(get_stack_primary_site_name_suggestion "${stack_dir}" || true)"
|
|
while true; do
|
|
input_site_name="$(prompt_stack_site_name "${stack_name}" "${suggestion}")"
|
|
prompt_status=$?
|
|
if [ "${prompt_status}" -ne 0 ]; then
|
|
return "${FLOW_ABORT_INPUT}"
|
|
fi
|
|
|
|
input_site_name="$(printf '%s' "${input_site_name}" | tr -d '\r\n')"
|
|
case "${input_site_name}" in
|
|
"")
|
|
show_warning_and_wait "Site name is required." 2
|
|
;;
|
|
/back | /Back | /BACK)
|
|
return "${FLOW_ABORT_INPUT}"
|
|
;;
|
|
*)
|
|
if ! is_valid_stack_site_name "${input_site_name}"; then
|
|
show_warning_and_wait "Site name may only contain letters, numbers, dots, dashes, and underscores." 3
|
|
continue
|
|
fi
|
|
printf -v "${result_var}" "%s" "${input_site_name}"
|
|
return "${FLOW_CONTINUE}"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
prompt_manage_stack_site_admin_password_with_cancel() {
|
|
local result_var="${1}"
|
|
local stack_name="${2}"
|
|
local input_admin_password=""
|
|
local prompt_status=0
|
|
|
|
while true; do
|
|
input_admin_password="$(prompt_stack_site_admin_password "${stack_name}")"
|
|
prompt_status=$?
|
|
if [ "${prompt_status}" -ne 0 ]; then
|
|
return "${FLOW_ABORT_INPUT}"
|
|
fi
|
|
|
|
input_admin_password="$(printf '%s' "${input_admin_password}" | tr -d '\r\n')"
|
|
case "${input_admin_password}" in
|
|
"")
|
|
show_warning_and_wait "Administrator password is required." 2
|
|
;;
|
|
/back | /Back | /BACK)
|
|
return "${FLOW_ABORT_INPUT}"
|
|
;;
|
|
*)
|
|
printf -v "${result_var}" "%s" "${input_admin_password}"
|
|
return "${FLOW_CONTINUE}"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
prompt_manage_stack_delete_keyword_with_cancel() {
|
|
local result_var="${1}"
|
|
local stack_name="${2}"
|
|
local delete_confirmation=""
|
|
local prompt_status=0
|
|
|
|
while true; do
|
|
delete_confirmation="$(prompt_manage_stack_delete_keyword "${stack_name}")"
|
|
prompt_status=$?
|
|
if [ "${prompt_status}" -ne 0 ]; then
|
|
return "${FLOW_ABORT_INPUT}"
|
|
fi
|
|
|
|
delete_confirmation="$(printf '%s' "${delete_confirmation}" | tr -d '\r\n')"
|
|
case "${delete_confirmation}" in
|
|
/back | /Back | /BACK | "")
|
|
return "${FLOW_ABORT_INPUT}"
|
|
;;
|
|
delete)
|
|
printf -v "${result_var}" "%s" "${delete_confirmation}"
|
|
return "${FLOW_CONTINUE}"
|
|
;;
|
|
*)
|
|
show_warning_and_wait "Type exactly delete to confirm stack removal." 3
|
|
;;
|
|
esac
|
|
done
|
|
}
|