diff --git a/README.md b/README.md index 1a35141..cd86638 100644 --- a/README.md +++ b/README.md @@ -85,3 +85,21 @@ Donde **** debe ser la ruta al archivo de copia de seguridad del #### Obtebiendo secure desde repositorio central (pendiente) + +### AMBIENTE DE DESARROLLO ODOO + +#### Preparación de ambiente local de desarrollo Odoo + +Instale el área de trabajo para desarrollo de proyectos Odoo + + $ cd $HOME/devs + $ bin/odoodevs_set.sh + +#### Paquetes Aplicativos Odoo + +Dependiendo del proyecto a mejorar o desarrollar se requerirán ciertos paquetes como requisitos: + +##### PAQUETE APLICATIVO ODOO ESCOLAR + + $ cd $HOME/devs/odoo + $ bin/escolar_upack.sh \ No newline at end of file diff --git a/bin/config/odoo.repo.1 b/bin/config/odoo.repo.1 new file mode 100644 index 0000000..5aa4c4f --- /dev/null +++ b/bin/config/odoo.repo.1 @@ -0,0 +1 @@ +git@git.rosero.one:mrosero/devs_odoo.git diff --git a/bin/config/odoo.repo.2 b/bin/config/odoo.repo.2 new file mode 100644 index 0000000..c1df027 --- /dev/null +++ b/bin/config/odoo.repo.2 @@ -0,0 +1 @@ +https://git.rosero.one/mrosero/devs_odoo.git diff --git a/bin/lib/odoo.lib b/bin/lib/odoo.lib new file mode 100644 index 0000000..4b8b411 --- /dev/null +++ b/bin/lib/odoo.lib @@ -0,0 +1,160 @@ +#!/bin/bash +# +# Library: odoo.lib +# Description: Odoo Developers Tools Library +# Modified: 2024/12/09 08:20:00 +# Derechos de Autor (C) [2024] [Mauro Rosero P. ] +# +# Este programa es software libre: usted puede redistribuirlo y/o modificarlo +# bajo los términos de la Licencia Pública Affero General de GNU tal como +# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia, +# o (a su elección) cualquier versión posterior. +# +# Este programa se distribuye con la esperanza de que sea útil, +# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de +# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la +# Licencia Pública Affero General de GNU para obtener más detalles. +# +# Debería haber recibido una copia de la Licencia Pública Affero General +# junto con este programa. Si no la recibió, consulte . + +ODOO_DEVS=${ODOODEVS:=odoo} +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_CFG_VERS=("18") + +# Test library +function devslib_test() { + echo "Developers Library loaded!" + exit 1 +} + +function odoo_developers() { + clear + if [ -d "${ODOODEVS_PATH}" ]; then + return 1 + else + if [ ! -d "${ODOODEVS_PATH}/.git" ]; then + git clone "${ODOO_REPO_SSH}" "${ODOODEVS_PATH}" + if [ $? -ne 0 ]; then + 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 +} + +function odoo_check_pack() { + local PACK_NAME=$1 + local PACK_LIST=() + + if [ -d "${ODOODEVS_PATH}/${ODOO_PACK_DEV}" ]; then + return 1 + else + if [ ! -f "${ODOODEVS_PATH}/${ODOO_PACK_DEV}/${ODOO_REPO_PKG}" ]; then + return 2 + else + while IFS='|' read -r f1 _; do + PACK_LIST+=("${f1}") + done < "${ODOODEVS_PATH}/${ODOO_PACK_DEV}/${ODOO_REPO_PKG}" + for f1 in "${PACK_LIST[@]}"; do + if [ "${f1}" == "${PACK_NAME}" ]; then + return 0 + fi + done + fi + fi + return 3 +} + +function odoo_set_pack() { + local PACK_NAME=$1 + local PACK_LIST=() + + if [ ! -d "${ODOODEVS_PATH}/${ODOO_PACK_DEV}" ]; then + return 1 + else + if [ ! -f "${ODOODEVS_PATH}/${ODOO_PACK_DEV}/${ODOO_REPO_PKG}" ]; then + return 2 + else + while IFS='|' read -r f1 f2 f3 f4; do + if [ "${f1}" == "${PACK_NAME}" ]; then + if [ -d "${ODOODEVS_PATH}/${ODOO_PACK_DEV}/${PACK_NAME}" ]; then + if [ -d "${ODOODEVS_PATH}/${ODOO_PACK_DEV}/${PACK_NAME}/.git" ]; then + return 3 + else + return 4 + fi + else + clear + git clone "${f3}" "${ODOODEVS_PATH}/${ODOO_PACK_DEV}/${PACK_NAME}" -b "${f4}" + if [ $? -ne 0 ]; then + return 5 + fi + return 0 + fi + fi + done < "${ODOODEVS_PATH}/${ODOO_PACK_DEV}/${ODOO_REPO_PKG}" + fi + fi + return 6 +} + +# Check for odoo version supported +function odoo_verscheck() { + + local value=$1 + + for item in "${ODOO_CFG_VERS[@]}" + do + if [[ "$item" == "$value" ]] + then + return 0 + fi + done + return 1 + +} + +# Create odoo new project structured path +function odoo_new_project() { + + local ODOO_PATH=$1 + local ODOO_PROJ=$2 + + if [[ ! -d "${ODOO_PATH}" ]] + then + echo "${odmsg_002}" + return 1 + else + if [[ ! -d "${ODOO_PATH}/${ODOO_PROJ}" ]] + then + mkdir -p $ODOO_PATH/$ODOO_PROJ/{$DOCKER_BUILD,$ODOO_APP,$ODOO_DOC,$ODOO_ETC,$ODOO_WEB} + if [ $? -eq 0 ] + then + echo "[x] $odmsg_008_1 $ODOO_PROJ $odmsg_008_2" + fi + fi + fi + +} diff --git a/bin/msg/odoo.es b/bin/msg/odoo.es new file mode 100644 index 0000000..e01aeae --- /dev/null +++ b/bin/msg/odoo.es @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +#bash script : odoo.es +#apps : Odoo Developers Tools +#description : Odoo Translate Messages (es) +#author : MRP/mrp - Mauro Rosero P. +#company email : mauro@rosero.one +#personal email : mauro.rosero@gmail.com +#date : 20250101 +#version : 1.0.2 +#notes : +#============================================================================== +#============================================================================== + +odmsg_000="(ODOO DEVELOPERS TOOLS)" +odmsg_001="- ODOODEVS TOOLS " +odmsg_002="Ambiente Odoo ya ha sido configurado!" +odmsg_003_1="Uso:" +odmsg_003_2="[--help] [--version] " +odmsg_004="Descripción: Este script permite configurar ambiente para desarrolladores odoo" +odmsg_005="Opciones:" +odmsg_006=" --help Muestra este mensaje de ayuda." +odmsg_007=" --version Muestra la versión del script." + +odmsg_010="DESCARGAR ODOO ESCOLAR PACK" + +odmsg_100="CREAR AMBIENTE DE DESARROLLO ODOO" +odmsg_101="Desea instalar ambiente de desarrollo para Odoo?" +odmsg_102="Instalación de Ambiente de desarrollo Odoo ha sido completada satisfactoriamente!" +odmsg_103="Clonación de ambiente de desarrollo Odoo no pudo completarse..." +odmsg_104="Actualización de ambiente de desarrollo Odoo fallida..." +odmsg_105="Desea descargar paquete aplicativo odoo escolar?" +odmsg_106="Ambiente de Desarrollo Odoo no ha sido instalado correctamente!" +odmsg_107="Archivo de definición de paquetes Odoo no existe..." +odmsg_108="Paquete aplicativo Odoo ya está instalado" +odmsg_109="Paquete aplicativo Odoo no ha sido instalado correctamente!" +odmsg_110="Clonación de paquete aplicativo Odoo no pudo completarse..." +odmsg_111="Paquete aplicativo Odoo no existe o no está definido!" diff --git a/bin/odoodevs_set.sh b/bin/odoodevs_set.sh new file mode 100755 index 0000000..32817e2 --- /dev/null +++ b/bin/odoodevs_set.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# +# odoodevs_set.sh +# Modified: 2024/12/09 10:27:00 +# Derechos de Autor (C) [2024] [Mauro Rosero P. ] +# +# Este programa es software libre: usted puede redistribuirlo y/o modificarlo +# bajo los términos de la Licencia Pública Affero General de GNU tal como +# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia, +# o (a su elección) cualquier versión posterior. +# +# Este programa se distribuye con la esperanza de que sea útil, +# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de +# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la +# Licencia Pública Affero General de GNU para obtener más detalles. +# +# Debería haber recibido una copia de la Licencia Pública Affero General +# junto con este programa. Si no la recibió, consulte . + +DEVSPATH=devs +BIN_HOME=$HOME/$DEVSPATH +BIN_MESG=bin/msg +BIN_LIBS=bin/lib + +# CHECK SHELL LANGUAGE +BIN_LANG=${LANG:0:2} + +# LOAD BASE BASH LIBRARY +source $BIN_HOME/$BIN_LIBS/base.lib +#baselib_test + +# LOAD CONSOLE BASH LIBRARY +source $BIN_HOME/$BIN_LIBS/console.lib +#consolelib_test + +# LOAD GPG BASH LIBRARY +source $BIN_HOME/$BIN_LIBS/odoo.lib +#gpglib_test + +# Load head messages +load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head" + +# Load odoo messages +load_messages $BIN_HOME $BIN_MESG $BIN_LANG "odoo" + + +########### MAIN PROGRAM ########### + +# Set program title +title="$head_000 $odmsg_000" +apps_title="${odmsg_100} ${odmsg_001}" + +# Check if dialog is not installed, exited! +command_installed "dialog" +if [ $? -ne 0 ] +then + display_devstools_header "${odmsg_000}" + echo "${head_001}" + exit 200 +fi + +# Check if os is valid! +get_osname +if [ "${os_name}" == "${head_unknow}" ] +then + dialog_error_box "${head_error}" "${head_os_error}" + exit 3 +fi + +# Set odoo developers structure commands & paths +dialog_yesno "${odmsg_101}" +case ${result} in + 0) + odoo_developers + rc=$? + case $rc in + 0) + exit 0 + ;; + 1) + dialog_error_box "${head_error}" "${odmsg_002}" + clear + exit 1 + ;; + 2) + dialog_error_box "${head_error}" "${odmsg_103}" + clear + exit 2 + ;; + 3) + dialog_error_box "${head_error}" "${odmsg_odmsg_104}" + clear + exit 3 + ;; + *) + dialog_error_box "${head_error}" "${head_op_error} (${rc})" + ;; + esac + ;; + *) + dialog_error_box "${head_error}" "${head_op_error}" + ;; +esac + +# End Main Program +clear