Mauro Rosero P
c1721b5168
- Se agrega archivo entrypoint.sh a plantillas de configuración - Se agrega funcionalidad para copiar plantilla entrypoint.sh a la raíz del proyecto - Otras modificaciones menores
186 lines
4 KiB
Bash
186 lines
4 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Library: odoo.lib
|
|
# Modified: 2024/11/30 15:27:00
|
|
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>]
|
|
#
|
|
# 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 <https://www.gnu.org/licenses/>.
|
|
|
|
ODOO_APP=apps
|
|
ODOO_DOC=docs
|
|
ODOO_ETC=etc
|
|
ODOO_CFG=config
|
|
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_VALS=("18" "17" "16" "15")
|
|
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
|
|
ODOO_PKG_INAR=ia
|
|
ODOO_PKG_EXTR=extras
|
|
|
|
ODOO_CFG_PREF=odoo.v
|
|
ODOO_CFG_GITI=odoo.gitignore
|
|
ODOO_CFG_BASE=odoo.base.conf
|
|
ODOO_CFG_SAAS=odoo.saas.conf
|
|
ODOO_CFG_PACK=packs
|
|
|
|
ODOO_GIT_EXTRAS="git@git.rosero.one:OPENTECH/odoo%s_%s.git"
|
|
|
|
# Test odoo library
|
|
function odoolib_test() {
|
|
echo "Odoo Library loaded!"
|
|
}
|
|
|
|
# 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 project structured path
|
|
function odoo_structure() {
|
|
|
|
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}
|
|
if [ $? -eq 0 ]
|
|
then
|
|
echo "[x] $odmsg_008_1 $ODOO_PROJ $odmsg_008_2"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
}
|
|
|
|
# Copy docker file to build
|
|
function copy_dockerfile() {
|
|
|
|
local ODOO_PATH=$1
|
|
local ODOO_PROJ=$2
|
|
local BUILDTEMPLATE=$3
|
|
local BUILDFILE=$4
|
|
|
|
if [ ! -f "$ODOO_PATH/$ODOO_PROJ/$DOCKER_BUILD/$BUILDFILE" ]
|
|
then
|
|
cp $BUILDTEMPLATE "$ODOO_PATH/$ODOO_PROJ/$DOCKER_BUILD/$BUILDFILE"
|
|
if [ $? -eq 0 ]
|
|
then
|
|
echo "[x] $odmsg_009"
|
|
fi
|
|
fi
|
|
|
|
}
|
|
|
|
# Copy docker entrypoint.sh file to root project path
|
|
function copy_entrypoint() {
|
|
|
|
local ODOO_PATH=$1
|
|
local ODOO_PROJ=$2
|
|
local ENTRYTEMPLATE=$3
|
|
local ENTRYPOINT=$4
|
|
|
|
if [ ! -f "$ODOO_PATH/$ODOO_PROJ/$ENTRYPOINT" ]
|
|
then
|
|
cp $ENTRYTEMPLATE "$ODOO_PATH/$ODOO_PROJ/$ENTRYPOINT"
|
|
if [ $? -eq 0 ]
|
|
then
|
|
echo "[x] $odmsg_009"
|
|
fi
|
|
fi
|
|
|
|
}
|
|
|
|
# Copy odoo config template file to etc
|
|
function copy_odooconfig() {
|
|
|
|
local ODOO_PATH=$1
|
|
local ODOO_PROJ=$2
|
|
local ODOOFILE=$3
|
|
|
|
if [ ! -f "$ODOO_PATH/$ODOO_PROJ/$ODOO_ETC/$ODOO_SET" ]
|
|
then
|
|
cp $ODOOFILE "$ODOO_PATH/$ODOO_PROJ/$ODOO_ETC/$ODOO_SET"
|
|
if [ $? -eq 0 ]
|
|
then
|
|
echo "[x] $odmsg_010 $ODOOFILE"
|
|
fi
|
|
fi
|
|
|
|
}
|
|
|
|
# Create new odoo log file
|
|
function create_odoolog() {
|
|
|
|
local ODOO_PATH=$1
|
|
local ODOO_PROJ=$2
|
|
|
|
if [ ! -f "$ODOO_PATH/$ODOO_PROJ/$ODOO_ETC/$ODOO_LOG" ]
|
|
then
|
|
echo > "$ODOO_PATH/$ODOO_PROJ/$ODOO_ETC/$ODOO_LOG"
|
|
if [ $? -eq 0 ]
|
|
then
|
|
echo "[x] $odmsg_011"
|
|
fi
|
|
fi
|
|
|
|
}
|
|
|
|
# Copy odoo/version modules to apps
|
|
function copy_odooapps() {
|
|
|
|
local ODOO_PATH=$1
|
|
local ODOO_PROJ=$2
|
|
local APPS=$4
|
|
local VERSION=$3
|
|
|
|
cp -rf $ODOO_PATH/$ODOO_CFG_PACK/${ODOO_CFG_PREF}${VERSION}/${APPS} "$ODOO_PATH/$ODOO_PROJ/$ODOO_APP/"
|
|
if [ $? -eq 0 ]
|
|
then
|
|
echo "[x] $odmsg_012_1 v$VERSION $APPS $odmsg_012_2"
|
|
else
|
|
echo "[-] $odmsg_012_1 v$VERSION $APPS $odmsg_012_3"
|
|
fi
|
|
|
|
}
|