[MODIFIED] Configuración de proyecto odoo y correcciones menores

- Se agrega validación de entrada (14) de selección entre rangos
- Se corrige error de validación y despliegue de datos válidos (13)
- Se completa input de datos de formulario para configure.sh
- Se crea archivo odoo.port que lleva el control de asignación default de puerto
- Otros cambios y correciones menores
This commit is contained in:
Mauro Rosero P. 2024-12-05 15:47:34 -05:00
parent a5961e1aaa
commit a6a15de3e4
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
6 changed files with 104 additions and 28 deletions

View file

@ -47,27 +47,69 @@ load_messages $BIN_HOME $BIN_MESG $BIN_LANG "odoo"
# Function to display help message
function help() {
echo "$odmsg_003_1 $0 $odmsg_019_2"
echo "$odmsg_004"
echo "$odmsg_005"
echo "$odmsg_006"
echo "$odmsg_007"
echo "$odmsg_003_1 $0 $odmsg_019_2"
echo "$odmsg_004"
echo "$odmsg_005"
echo "$odmsg_006"
echo "$odmsg_007"
}
function odoo_configure_form() {
declare -a response c_lbl, c_hlp, c_mod, c_opt, c_val, c_dat
declare -a response c_lbl, c_hlp, c_mod, c_opt, c_val, c_dat, c_def
# Define gpg capture form
c_lbl[0]="${odlbl_000}"
c_hlp[0]="${odhlp_000}"
c_mod[0]=1
c_opt[0]=0
c_val[0]=013
c_dat[0]="${ODOO_CFG_VERS[@]}"
c_end=1
# Input: Versión Postgresql
c_lbl[0]="${odlbl_000}"
c_hlp[0]="${odhlp_000}"
c_mod[0]=1
c_opt[0]=0
c_def[0]="$ODOO_DEF_DBPG"
c_val[0]=013
c_dat[0]="${ODOO_CFG_DBPG[@]}"
# Input: Path Postgresql DB
c_lbl[1]="${odlbl_001}"
c_hlp[1]="${odhlp_001}"
c_mod[1]=1
c_opt[1]=0
c_def[1]="$BIN_HOME/data/$PROJECT_NAME/db"
c_val[1]=0
c_dat[1]=""
# Input: Path Odoo Data
c_lbl[2]="${odlbl_002}"
c_hlp[2]="${odhlp_002}"
c_mod[2]=1
c_opt[2]=0
c_val[2]=0
c_def[2]="$BIN_HOME/data/$PROJECT_NAME/files"
c_dat[2]=""
# Input: Path Odoo Backup
c_lbl[3]="${odlbl_003}"
c_hlp[3]="${odhlp_003}"
c_mod[3]=1
c_opt[3]=0
c_val[3]=0
c_def[3]="$BIN_HOME/backups/$PROJECT_NAME"
c_dat[3]=""
# Input: Odoo Port
c_lbl[4]="${odlbl_004}"
c_hlp[4]="${odhlp_004}"
c_mod[4]=1
c_opt[4]=0
c_val[4]=014
c_def[4]="${ODOO_PFX_BASE}${ODOO_CRR_PORT}"
c_dat[4]="$ODOO_BSE_RANG"
# Input: Odoo Chat Port
c_lbl[5]="${odlbl_005}"
c_hlp[5]="${odhlp_005}"
c_mod[5]=1
c_opt[5]=0
c_val[5]=014
c_def[5]="${ODOO_PFX_CHAT}${ODOO_CRR_PORT}"
c_dat[5]="$ODOO_CHT_RANG"
c_end=6
dialog_form
dialog_form
}
########### MAIN PROGRAM ###########
@ -75,9 +117,9 @@ function odoo_configure_form() {
# Check if dialog is not installed, exited!
if ! command -v dialog >/dev/null 2>&1
then
display_text_header $BIN_HOME "${odmsg_000} ${odmsg_101}"
echo "${head_001}"
exit 200
display_text_header $BIN_HOME "${odmsg_000} ${odmsg_101}"
echo "${head_001}"
exit 200
fi
# Check for arguments option
@ -131,8 +173,8 @@ apps_title="${odmsg_101} ${PROJECT_NAME^^}"
get_osname
if [ "${os_name}" == "${head_unknow}" ]
then
dialog_error_box "${head_error}" "${head_os_error}"
exit 3
dialog_error_box "${head_error}" "${head_os_error}"
exit 3
fi
# Configure odoo devs environment for project

View file

@ -217,14 +217,24 @@ function dialog_validate_input() {
fi
;;
013)
for item in "${valid_data}"
local -a elements=(${valid_data})
for item in "${elements[@]}"
do
if [[ "$item" == "$value" ]]
then
return 0
fi
done
dialog_error_box "${head_error}" "${vldt_013}"
dialog_error_box "${head_error}" "${vldt_013} ${valid_data}"
return 1
;;
014)
local -a rangos=($valid_data)
if [ $((value)) -ge ${rangos[0]} ] && [ $((value)) -le ${rangos[0]} ]
then
return 0
fi
dialog_error_box "${head_error}" "${vldt_014} ${rangos[0]} y ${rangos[1]}"
return 1
;;
esac
@ -245,7 +255,7 @@ function dialog_form() {
do
case ${c_mod[control]} in
1)
dialog_input_box "[${control}] ${c_lbl[control]}" "${c_hlp[control]}"
dialog_input_box "[${control}] ${c_lbl[control]}" "${c_hlp[control]}" "${c_def[control]}"
if [ ${codex} -eq 0 ]
then
dialog_validate_input "${c_val[control]}" "${value}" "${c_lbl[control]}" "${c_dat[control]}"

View file

@ -32,8 +32,16 @@ ODOO_SET=odoo.conf
ODOO_LOG=odoo.log
ODOO_DEF_VERS="18"
ODOO_DEF_DBPG="17"
ODOO_DEF_BRCH=devs
ODOO_CFG_VERS=("18")
ODOO_CFG_DBPG=("17" "16" "15" "14" "13" "12")
ODOO_PFX_BASE="1"
ODOO_PFX_CHAT="2"
ODOO_CRR_PORT="$(cat $BIN_HOME/config/odoo.port)"
ODOO_BSE_RANG="${ODOO_PFX_BASE}0101 ${ODOO_PFX_BASE}0999"
ODOO_CHT_RANG="${ODOO_PFX_CHAT}0101 ${ODOO_PFX_CHAT}0999"
ODOO_PKG_BASE=base
ODOO_PKG_DEVS=devs

View file

@ -37,8 +37,8 @@ vldt_002="Contraseña incorrecta! Intente nuevamente."
vldt_010="Dirección de correo electrónico es inválida!"
vldt_011="Duración de clave gpg inválida!"
vldt_012="No es un nombre de dominio DNS válido!"
vldt_013="Valor incorrecto!"
vldt_013="Valor debe ser alguno de estos:"
vldt_014="Valor no está dentro del rango válido:"
os_update="Actualizando sistema operativo "
os_nofound="Sistemas operativos soportados: Ubuntu, Debian, Arch Linux, Fedora, Redhat, AlmaLinux, Rocky, Oracle Linux, FreeBSD, MacOS"

View file

@ -42,6 +42,21 @@ odmsg_019_2="<project> [--help] [--version]"
odmsg_201="Desea configurar ambiente de desarrollo para el proyecto"
# Input: Versión Odoo
odlbl_000="Versión Odoo"
odhlp_000="Especificar la versión de odoo en uso"
# Input: Versión Postgresql
odlbl_000="Versión PG"
odhlp_000="Especificar la versión de contenedor postgresql en uso"
# Input: Path Postgresql DB
odlbl_001="PG Path"
odhlp_001="Ruta de la base de datos postgresql del proyecto"
# Input: Path Odoo Data
odlbl_002="Ruta de la carpeta de datos de la instancia"
odhlp_002="Ruta donde se almacenaran los datos de la instancia en uso"
# Input: Path Odoo Backup
odlbl_003="Backup Path"
odhlp_003="Ruta de las copias de seguridad de la instancia"
# Input: Odoo Port
odlbl_004="Puerto ODOO"
odhlp_004="Puerto de comunicación que usará la instancia Odoo"
# Input: Odoo Chat Port
odlbl_005="Puerto ODOO CHAT"
odhlp_005="Puerto de comunicación que usará el chat de la instancia Odoo"

1
config/odoo.port Normal file
View file

@ -0,0 +1 @@
0101