Compare commits
9 commits
14ab7b0a41
...
86ae118f7e
Author | SHA1 | Date | |
---|---|---|---|
86ae118f7e | |||
07cd87d386 | |||
8a2bb7b6c8 | |||
322880209e | |||
1e77cba91c | |||
b5c12016fd | |||
d24e8eeeb2 | |||
9eac07f566 | |||
706867dc05 |
4 changed files with 72 additions and 46 deletions
1
bin/config/projects.dat
Normal file
1
bin/config/projects.dat
Normal file
|
@ -0,0 +1 @@
|
|||
proyectos
|
|
@ -21,13 +21,7 @@
|
|||
ODOO_DEVS=${ODOODEVS:=odoo}
|
||||
ODOO_CFGS=${ODOO_CFGS:=configs}
|
||||
ODOODEVS_PATH="${HOME}/${DEVSPATH:=devs}/${ODOO_DEVS}"
|
||||
ODOO_REPO_WEB="$(cat ${HOME}/${DEVSPATH:=devs}/bin/config/odoo.repo.2)"
|
||||
ODOO_REPO_SSH="$(cat ${HOME}/${DEVSPATH:=devs}/bin/config/odoo.repo.1)"
|
||||
ODOO_REPO_ALT=""
|
||||
ODOO_REPO_PKG=packs.repos
|
||||
ODOO_PACK_DEV=packs
|
||||
ODOO_VERSION="$(cat < ${ODOODEVS_PATH}/${ODOO_CFGS}/odoo.version)"
|
||||
|
||||
|
||||
ODOO_CFG_VERS=("18")
|
||||
|
||||
|
@ -37,36 +31,6 @@ function devslib_test() {
|
|||
exit 1
|
||||
}
|
||||
|
||||
function odoo_developers() {
|
||||
clear
|
||||
if [ -d "${ODOODEVS_PATH}" ]; then
|
||||
return 1
|
||||
else
|
||||
if [ ! -d "${ODOODEVS_PATH}/.git" ]; then
|
||||
display_text_header "${head_000} ${odmsg_000}" "${odmsg_113} ${ODOO_REPO_SSH}"
|
||||
git clone "${ODOO_REPO_SSH}" "${ODOODEVS_PATH}"
|
||||
if [ $? -ne 0 ]; then
|
||||
display_text_header "${head_000} ${odmsg_000}" "${odmsg_114} ${ODOO_REPO_ALT}"
|
||||
git clone "${ODOO_REPO_ALT}" "${ODOODEVS_PATH}"
|
||||
if [ $? -ne 0 ]; then
|
||||
return 2
|
||||
fi
|
||||
fi
|
||||
else
|
||||
cd "${ODOODEVS_PATH}"
|
||||
git pull
|
||||
if [ $? -ne 0 ]; then
|
||||
return 3
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d "${ODOODEVS_PATH}/${ODOO_PACK_DEV}" ]; then
|
||||
mkdir "${ODOODEVS_PATH}/${ODOO_PACK_DEV}"
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
# Check for odoo version supported
|
||||
|
@ -89,6 +53,7 @@ function odoo_verscheck() {
|
|||
function odoo_create_project() {
|
||||
local project_name=$1
|
||||
local projects_folder=$2
|
||||
local project_description=$3
|
||||
local projects_path="${HOME}/${DEVSPATH}/${projects_folder}"
|
||||
local project_path="${projects_path}/${project_name}"
|
||||
|
||||
|
@ -102,6 +67,30 @@ function odoo_create_project() {
|
|||
|
||||
# Verificar si el proyecto ya existe
|
||||
if [ -d "${project_path}" ]; then
|
||||
# Si el proyecto existe y tiene un README.md, actualizar la descripción
|
||||
if [ -f "${project_path}/README.md" ]; then
|
||||
# Respaldar el README original
|
||||
cp "${project_path}/README.md" "${project_path}/README.md.bak"
|
||||
|
||||
# Crear un nuevo README con la descripción actualizada
|
||||
# Método más simple y robusto que awk, que podría fallar con sintaxis complejas
|
||||
{
|
||||
grep -i -B 1000 "^## Descripción" "${project_path}/README.md.bak" 2>/dev/null || echo -e "# Proyecto Odoo: ${project_name}\n\n## Descripción"
|
||||
echo "${project_description}"
|
||||
echo ""
|
||||
echo "Este proyecto fue actualizado con las herramientas MRDevs."
|
||||
echo ""
|
||||
grep -i -A 1000 "^## " "${project_path}/README.md.bak" | grep -v "^## Descripción" | awk 'NR>1'
|
||||
} > "${project_path}/README.md.new"
|
||||
|
||||
# Verificar que el archivo nuevo no está vacío antes de reemplazar
|
||||
if [ -s "${project_path}/README.md.new" ]; then
|
||||
mv "${project_path}/README.md.new" "${project_path}/README.md"
|
||||
else
|
||||
# Si algo falló, restaurar el backup
|
||||
mv "${project_path}/README.md.bak" "${project_path}/README.md"
|
||||
fi
|
||||
fi
|
||||
return 1 # El proyecto ya existe
|
||||
fi
|
||||
|
||||
|
@ -197,7 +186,9 @@ EOF
|
|||
# Proyecto Odoo: ${project_name}
|
||||
|
||||
## Descripción
|
||||
Este es un proyecto Odoo creado con las herramientas MRDevs.
|
||||
${project_description}
|
||||
|
||||
Este proyecto fue creado con las herramientas MRDevs.
|
||||
|
||||
## Estructura
|
||||
- \`addons/\`: Módulos Odoo
|
||||
|
|
|
@ -24,10 +24,11 @@ odmsg_106="Ingrese el nombre del proyecto Odoo a crear"
|
|||
odmsg_107="El nombre del proyecto no puede estar vacío."
|
||||
odmsg_108="Proyecto creado exitosamente en"
|
||||
odmsg_109="Error al crear el proyecto."
|
||||
odmsg_110="El directorio del proyecto ya existe."
|
||||
odmsg_110="El directorio del proyecto ya existe. Se ha actualizado la descripción en README.md."
|
||||
odmsg_111="Creando estructura de proyecto Odoo..."
|
||||
odmsg_112="No se pudo encontrar el directorio de proyectos."
|
||||
odmsg_115="Configuración completa. Se han creado todas las carpetas y archivos necesarios."
|
||||
odmsg_116="Puedes comenzar tu desarrollo ejecutando el script start.sh en la carpeta scripts."
|
||||
odmsg_113="Clonando repositorio desde"
|
||||
odmsg_114="Intentando clonar desde repositorio alternativo"
|
||||
odmsg_115="Configuración completa. Se han creado todas las carpetas y archivos necesarios."
|
||||
odmsg_116="Puedes comenzar tu desarrollo ejecutando el script start.sh en la carpeta scripts."
|
||||
odmsg_117="Descripción del Proyecto Odoo:"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#\!/bin/bash
|
||||
#
|
||||
# odoo_set.sh
|
||||
# Modified: 2025/03/12 15:00:00
|
||||
|
@ -52,7 +52,7 @@ load_messages $BIN_HOME $BIN_MESG $BIN_LANG "odoo"
|
|||
title="$head_000 $odmsg_000"
|
||||
apps_title="${odmsg_102}"
|
||||
|
||||
# Check if dialog is not installed, exited!
|
||||
# Check if dialog is not installed, exited\!
|
||||
command_installed "dialog"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
|
@ -61,7 +61,7 @@ then
|
|||
exit 200
|
||||
fi
|
||||
|
||||
# Check if os is valid!
|
||||
# Check if os is valid\!
|
||||
get_osname
|
||||
if [ "${os_name}" == "${head_unknow}" ]
|
||||
then
|
||||
|
@ -94,15 +94,37 @@ fi
|
|||
|
||||
PROJECT_NAME="$value"
|
||||
|
||||
# Solicitar descripción del proyecto Odoo
|
||||
clear
|
||||
dialog_input_box "${odmsg_117}" "" ""
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog_error_box "${head_error}" "${head_op_error}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PROJECT_DESCRIPTION="$value"
|
||||
# Si no se proporciona descripción, usar un texto predeterminado
|
||||
if [ -z "$PROJECT_DESCRIPTION" ]; then
|
||||
PROJECT_DESCRIPTION="Este es un proyecto Odoo para gestionar procesos de negocio."
|
||||
fi
|
||||
|
||||
# Inicializar la variable result
|
||||
result=0
|
||||
TEMP_FILE="/tmp/odoo_set_result.$$"
|
||||
|
||||
# Mostrar progreso de creación
|
||||
(
|
||||
echo 0; sleep 1
|
||||
echo 20; echo "# ${odmsg_111}"
|
||||
|
||||
# Crear el proyecto Odoo
|
||||
odoo_create_project "$PROJECT_NAME" "$PROJECTS_FOLDER"
|
||||
odoo_create_project "$PROJECT_NAME" "$PROJECTS_FOLDER" "$PROJECT_DESCRIPTION"
|
||||
result=$?
|
||||
|
||||
# Guardar el resultado en un archivo temporal para recuperarlo después
|
||||
echo $result > "$TEMP_FILE"
|
||||
|
||||
echo 80;
|
||||
# Mensaje basado en el resultado
|
||||
if [ $result -eq 0 ]; then
|
||||
|
@ -119,9 +141,20 @@ PROJECT_NAME="$value"
|
|||
sleep 1
|
||||
) | dialog --backtitle "${title}" --title "${apps_title}" --gauge "" 10 70 0
|
||||
|
||||
# Recuperar el resultado
|
||||
result=0 # Valor predeterminado en caso de error
|
||||
if [ -f "$TEMP_FILE" ]; then
|
||||
result=$(cat "$TEMP_FILE")
|
||||
rm -f "$TEMP_FILE"
|
||||
fi
|
||||
|
||||
case $result in
|
||||
0)
|
||||
dialog_error_box "${head_info}" "${odmsg_108} $HOME/$DEVSPATH/$PROJECTS_FOLDER/$PROJECT_NAME\n\n${odmsg_116}"
|
||||
# Mostrar mensaje de éxito con caja de diálogo ampliada para mejor visibilidad
|
||||
# Bypassing dialog_error_box para tener más control sobre el tamaño
|
||||
title_text="${head_info} - ${apps_title}"
|
||||
message_text="${odmsg_108} $HOME/$DEVSPATH/$PROJECTS_FOLDER/$PROJECT_NAME\n\n${odmsg_116}"
|
||||
dialog --backtitle "${title}" --title "${title_text}" --msgbox "\n${message_text}" 12 80
|
||||
;;
|
||||
1)
|
||||
dialog_error_box "${head_warning}" "${odmsg_110}"
|
||||
|
|
Loading…
Reference in a new issue