#!/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} 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") # 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 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 } 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 display_text_header "${head_000} ${odmsg_000}" "${odmsg_112} ${PACK_NAME}" 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 }