odoo/bin/lib/odoo.lib

165 lines
3.4 KiB
Text
Raw Normal View History

#!/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/>.
DOCKER_LOCAL=dockerfile.local
DOCKER_BASE=dockerfile.base
DOCKER_SAAS=dockerfile.saas
DOCKER_BUILD=build
DOCKER_FILE=Dockerfile
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_BRCH=devs
ODOO_CFG_VARS=("18")
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_VARS[@]}"
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 DOCKERFILE=$3
if [ ! -f "$ODOO_PATH/$ODOO_PROJ/$DOCKER_BUILD/$DOCKER_FILE" ]
then
cp $DOCKERFILE "$ODOO_PATH/$ODOO_PROJ/$DOCKER_BUILD/$DOCKER_FILE"
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
}