[IMP] support multi version odoo on same workspace

- oficially support odoo 18 instead of odoo 16
- support postgis/postgresql 18 into docker
- change version erplibre 1.6.0
- support private environment and support local git repo manifest
- support switch odoo version
- support docker for each version
- update os installation
- upgrade python requirement
- separate virtual environment for erplibre and odoo
This commit is contained in:
Mathieu Benoit 2025-08-07 06:28:34 -04:00
parent de9779cfc2
commit 93617b1a65
78 changed files with 8109 additions and 4838 deletions

View file

@ -1 +1 @@
1.5.0 1.6.0

7
.gitignore vendored
View file

@ -12,16 +12,17 @@ config.conf
coverage* coverage*
.repo .repo
addons
!addons/ !addons/
addons/* addons/*
addons*/* addons*/*
!script/addons !script/addons
addons.* addons.*
odoo*/addons/addons
odoo*/addons
odoo*/odoo
doc/itpp* doc/itpp*
doc/odoo* doc/odoo*
script/OCA* script/OCA*
odoo
odoo*/OCA_OpenUpgrade odoo*/OCA_OpenUpgrade
odoo*/odoo_documentation-user odoo*/odoo_documentation-user
image_db image_db
@ -46,5 +47,5 @@ requirements.txt
requirement/ignore_requirements.txt requirement/ignore_requirements.txt
screenshots screenshots
screencasts screencasts
script/todo/todo_override.json private/todo/todo_override_private.json
.erplibre.error.txt .erplibre.error.txt

View file

@ -43,7 +43,7 @@ endif
-include ./conf/make.todo.Makefile -include ./conf/make.todo.Makefile
# Include private Makefile # Include private Makefile
-include ./conf/make.private.Makefile -include ./private/make.private.Makefile
# Example for update # Example for update
.PHONY: custom_run_example .PHONY: custom_run_example

View file

@ -57,7 +57,7 @@ cd ERPLibre
Follow the instruction on the following script, it will try to detect your environment. Follow the instruction on the following script, it will try to detect your environment.
```bash ```bash
./script/todo/todo.py ./install.sh
``` ```
### Manually ### Manually

View file

@ -49,6 +49,14 @@ docker_exec_erplibre_repo_show_status:
./script/docker/docker_repo_show_status.sh ./script/docker/docker_repo_show_status.sh
# build docker # build docker
.PHONY: docker_build_odoo_18
docker_build_odoo_18:
./script/docker/docker_build.sh --odoo_18
.PHONY: docker_build_odoo_17
docker_build_odoo_17:
./script/docker/docker_build.sh --odoo_17
.PHONY: docker_build_odoo_16 .PHONY: docker_build_odoo_16
docker_build_odoo_16: docker_build_odoo_16:
./script/docker/docker_build.sh --odoo_16 ./script/docker/docker_build.sh --odoo_16
@ -57,6 +65,10 @@ docker_build_odoo_16:
docker_build_odoo_16_clean: docker_build_odoo_16_clean:
./script/docker/docker_build.sh --odoo_16 --no-cache ./script/docker/docker_build.sh --odoo_16 --no-cache
.PHONY: docker_build_odoo_15
docker_build_odoo_15:
./script/docker/docker_build.sh --odoo_15
.PHONY: docker_build_odoo_14 .PHONY: docker_build_odoo_14
docker_build_odoo_14: docker_build_odoo_14:
./script/docker/docker_build.sh --odoo_14 ./script/docker/docker_build.sh --odoo_14
@ -65,6 +77,10 @@ docker_build_odoo_14:
docker_build_odoo_14_clean: docker_build_odoo_14_clean:
./script/docker/docker_build.sh --odoo_14 --no-cache ./script/docker/docker_build.sh --odoo_14 --no-cache
.PHONY: docker_build_odoo_13
docker_build_odoo_13:
./script/docker/docker_build.sh --odoo_13
.PHONY: docker_build_odoo_12 .PHONY: docker_build_odoo_12
docker_build_odoo_12: docker_build_odoo_12:
./script/docker/docker_build.sh --odoo_12 ./script/docker/docker_build.sh --odoo_12

View file

@ -20,6 +20,11 @@ switch_odoo_18:
./script/version/update_env_version.py --erplibre_version odoo18.0_python3.12.10 --switch ./script/version/update_env_version.py --erplibre_version odoo18.0_python3.12.10 --switch
./script/make.sh config_gen_all ./script/make.sh config_gen_all
.PHONY: switch_odoo_18_update
switch_odoo_18_update:
./script/version/update_env_version.py --erplibre_version odoo18.0_python3.12.10 --switch --switch_update
./script/make.sh config_gen_all
.PHONY: install_odoo_17 .PHONY: install_odoo_17
install_odoo_17: install_odoo_17:
./script/version/update_env_version.py --erplibre_version odoo17.0_python3.10.18 --install_dev ./script/version/update_env_version.py --erplibre_version odoo17.0_python3.10.18 --install_dev
@ -29,6 +34,11 @@ switch_odoo_17:
./script/version/update_env_version.py --erplibre_version odoo17.0_python3.10.18 --switch ./script/version/update_env_version.py --erplibre_version odoo17.0_python3.10.18 --switch
./script/make.sh config_gen_all ./script/make.sh config_gen_all
.PHONY: switch_odoo_17_update
switch_odoo_17_update:
./script/version/update_env_version.py --erplibre_version odoo17.0_python3.10.18 --switch --switch_update
./script/make.sh config_gen_all
.PHONY: install_odoo_16 .PHONY: install_odoo_16
install_odoo_16: install_odoo_16:
./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.18 --install_dev ./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.18 --install_dev
@ -38,6 +48,11 @@ switch_odoo_16:
./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.18 --switch ./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.18 --switch
./script/make.sh config_gen_all ./script/make.sh config_gen_all
.PHONY: switch_odoo_16_update
switch_odoo_16_update:
./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.18 --switch --switch_update
./script/make.sh config_gen_all
.PHONY: install_odoo_15 .PHONY: install_odoo_15
install_odoo_15: install_odoo_15:
./script/version/update_env_version.py --erplibre_version odoo15.0_python3.8.20 --install_dev ./script/version/update_env_version.py --erplibre_version odoo15.0_python3.8.20 --install_dev
@ -47,6 +62,11 @@ switch_odoo_15:
./script/version/update_env_version.py --erplibre_version odoo15.0_python3.8.20 --switch ./script/version/update_env_version.py --erplibre_version odoo15.0_python3.8.20 --switch
./script/make.sh config_gen_all ./script/make.sh config_gen_all
.PHONY: switch_odoo_15_update
switch_odoo_15_update:
./script/version/update_env_version.py --erplibre_version odoo15.0_python3.8.20 --switch --switch_update
./script/make.sh config_gen_all
.PHONY: install_odoo_14 .PHONY: install_odoo_14
install_odoo_14: install_odoo_14:
./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --install_dev ./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --install_dev
@ -56,6 +76,11 @@ switch_odoo_14:
./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --switch ./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --switch
./script/make.sh config_gen_all ./script/make.sh config_gen_all
.PHONY: switch_odoo_14_update
switch_odoo_14_update:
./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --switch --switch_update
./script/make.sh config_gen_all
.PHONY: install_odoo_13 .PHONY: install_odoo_13
install_odoo_13: install_odoo_13:
./script/version/update_env_version.py --erplibre_version odoo13.0_python3.7.17 --install_dev ./script/version/update_env_version.py --erplibre_version odoo13.0_python3.7.17 --install_dev
@ -65,6 +90,11 @@ switch_odoo_13:
./script/version/update_env_version.py --erplibre_version odoo13.0_python3.7.17 --switch ./script/version/update_env_version.py --erplibre_version odoo13.0_python3.7.17 --switch
./script/make.sh config_gen_all ./script/make.sh config_gen_all
.PHONY: switch_odoo_13_update
switch_odoo_13_update:
./script/version/update_env_version.py --erplibre_version odoo13.0_python3.7.17 --switch --switch_update
./script/make.sh config_gen_all
.PHONY: install_odoo_12 .PHONY: install_odoo_12
install_odoo_12: install_odoo_12:
./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --install_dev ./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --install_dev
@ -74,6 +104,11 @@ switch_odoo_12:
./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --switch ./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --switch
./script/make.sh config_gen_all ./script/make.sh config_gen_all
.PHONY: switch_odoo_12_update
switch_odoo_12_update:
./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --switch --switch_update
./script/make.sh config_gen_all
.PHONY: install_odoo_all_version .PHONY: install_odoo_all_version
install_odoo_all_version: install_odoo_all_version:
./script/make.sh install_odoo_18 ./script/make.sh install_odoo_18

View file

@ -462,7 +462,6 @@
"web_search_with_and", "web_search_with_and",
"web_listview_range_select", "web_listview_range_select",
"web_dialog_size", "web_dialog_size",
"password_security",
"web_refresher", "web_refresher",
"date_range", "date_range",
"partner_contact_access_link", "partner_contact_access_link",
@ -492,7 +491,6 @@
"web_search_with_and", "web_search_with_and",
"web_listview_range_select", "web_listview_range_select",
"web_dialog_size", "web_dialog_size",
"password_security",
"web_refresher", "web_refresher",
"date_range", "date_range",
"partner_contact_access_link", "partner_contact_access_link",
@ -578,7 +576,6 @@
"web_search_with_and", "web_search_with_and",
"web_listview_range_select", "web_listview_range_select",
"web_dialog_size", "web_dialog_size",
"password_security",
"web_refresher", "web_refresher",
"date_range", "date_range",
"partner_contact_access_link", "partner_contact_access_link",
@ -703,7 +700,6 @@
"partner_firstname", "partner_firstname",
"web_search_with_and", "web_search_with_and",
"web_dialog_size", "web_dialog_size",
"password_security",
"web_refresher", "web_refresher",
"date_range", "date_range",
"partner_contact_access_link", "partner_contact_access_link",
@ -722,13 +718,14 @@
"auth_user_case_insensitive", "auth_user_case_insensitive",
"disable_odoo_online", "disable_odoo_online",
"remove_odoo_enterprise", "remove_odoo_enterprise",
"web_responsive", "web_dark_mode",
"web_theme_classic",
"muk_web_theme",
"web_timeline", "web_timeline",
"server_action_mass_edit", "server_action_mass_edit",
"partner_firstname", "partner_firstname",
"web_search_with_and", "web_search_with_and",
"web_dialog_size", "web_dialog_size",
"password_security",
"web_refresher", "web_refresher",
"date_range", "date_range",
"partner_contact_access_link", "partner_contact_access_link",

View file

@ -1,7 +1,6 @@
version: "3.3"
services: services:
ERPLibre: ERPLibre:
image: technolibre/erplibre:1.5.0_odoo_16.0_91a7d1b image: technolibre/erplibre:1.6.0_odoo_18.0_4f4f563
ports: ports:
- 8069:8069 - 8069:8069
- 8071:8071 - 8071:8071
@ -22,23 +21,25 @@ services:
#command: odoo --workers 2 --proxy-mode #command: odoo --workers 2 --proxy-mode
# For production ready # For production ready
#command: odoo --workers 2 --proxy-mode --no-database-list #command: odoo --workers 2 --proxy-mode --no-database-list
# Increase max memory
#command: odoo --limit-memory-hard=0 --limit-memory-soft=0
command: odoo command: odoo
volumes: volumes:
# See the volume section at the end of the file # See the volume section at the end of the file
- erplibre_data_dir:/home/odoo/.local/share/Odoo - erplibre_data_dir:/home/odoo/.local/share/Odoo
- ./addons/addons:/ERPLibre/addons/addons - ./odoo18.0/addons/addons:/ERPLibre/odoo18.0/addons/addons
- erplibre_conf:/etc/odoo - erplibre_conf:/etc/odoo
restart: always restart: always
db: db:
image: postgis/postgis:12-3.1-alpine image: postgis/postgis:18-3.6-alpine
environment: environment:
POSTGRES_PASSWORD: mysecretpassword POSTGRES_PASSWORD: mysecretpassword
POSTGRES_USER: odoo POSTGRES_USER: odoo
POSTGRES_DB: postgres POSTGRES_DB: postgres
PGDATA: /var/lib/postgresql/data/pgdata PGDATA: /var/lib/postgresql/pgdata
volumes: volumes:
- erplibre-db-data:/var/lib/postgresql/data/pgdata - erplibre-db-data:/var/lib/postgresql/pgdata
restart: always restart: always
# We configure volume without specific destination to let docker manage it. To configure it through docker use (read related documentation before continuing) : # We configure volume without specific destination to let docker manage it. To configure it through docker use (read related documentation before continuing) :

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
ARG PYTHON_VERSION=3.10.14 ARG PYTHON_VERSION=3.12.10
ARG DEBIAN_NAME=bookworm ARG DEBIAN_NAME=bookworm
FROM python:${PYTHON_VERSION}-slim-${DEBIAN_NAME} FROM python:${PYTHON_VERSION}-slim-${DEBIAN_NAME}
#MAINTAINER TechnoLibre <docker@technolibre.ca> #MAINTAINER TechnoLibre <docker@technolibre.ca>
@ -17,7 +17,8 @@ ENV LANG="C.UTF-8" \
PYENV_SHELL="bash" PYENV_SHELL="bash"
ENV ODOO_PREFIX /ERPLibre ENV ODOO_PREFIX /ERPLibre
ENV ODOO_EXEC_BIN $ODOO_PREFIX/odoo/odoo-bin ENV ODOO_VERSION 18.0
ENV ODOO_EXEC_BIN "${ODOO_PREFIX}/odoo${ODOO_VERSION}/odoo/odoo-bin"
ARG URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb ARG URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb
ARG SHA1SUM_WKTHMLTOX=e9f95436298c77cc9406bd4bbd242f4771d0a4b2 ARG SHA1SUM_WKTHMLTOX=e9f95436298c77cc9406bd4bbd242f4771d0a4b2
@ -73,6 +74,9 @@ RUN apt-get update \
libffi-dev \ libffi-dev \
uuid-dev \ uuid-dev \
portaudio19-dev \ portaudio19-dev \
libcups2-dev \
shfmt \
xmlsec1 \
swig \ swig \
&& curl -o wkhtmltox.deb -sSL https://${URL_WKHTMLTOX}/ \ && curl -o wkhtmltox.deb -sSL https://${URL_WKHTMLTOX}/ \
&& echo "${SHA1SUM_WKTHMLTOX} wkhtmltox.deb" | sha1sum -c - \ && echo "${SHA1SUM_WKTHMLTOX} wkhtmltox.deb" | sha1sum -c - \

View file

@ -39,7 +39,9 @@ RUN cd $ODOO_PREFIX && \
RUN cd $ODOO_PREFIX && \ RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
python -m venv .venv.erplibre python -m venv .venv.erplibre && \
source ./.venv.erplibre/bin/activate && \
pip3 install -r requirement/erplibre_require-ments.txt
RUN cd $ODOO_PREFIX && \ RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
@ -49,10 +51,12 @@ RUN cd $ODOO_PREFIX && \
RUN cd $ODOO_PREFIX && \ RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
echo "${ERPLIBRE_VERSION}" && \ echo "${ERPLIBRE_VERSION}" && \
source ./.venv.erplibre/bin/activate && \
./script/version/update_env_version.py --erplibre_version "${ERPLIBRE_VERSION}" --partial_install ./script/version/update_env_version.py --erplibre_version "${ERPLIBRE_VERSION}" --partial_install
RUN cd $ODOO_PREFIX && ls ./manifest -la && \ RUN cd $ODOO_PREFIX && ls ./manifest -la && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
source ./.venv.erplibre/bin/activate && \
./script/manifest/update_manifest_local_dev.sh ./script/manifest/update_manifest_local_dev.sh
RUN apt update && \ RUN apt update && \
@ -63,25 +67,25 @@ RUN apt update && \
RUN cd $ODOO_PREFIX && \ RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
echo "${ERPLIBRE_VERSION}" && \ echo "${ERPLIBRE_VERSION}" && \
./.venv.$(cat ".erplibre-version" | xargs)/bin/pip install --upgrade pip && git branch && ls . -lha && \ source ./.venv.$(cat ".erplibre-version" | xargs)/bin/activate && \
./.venv.$(cat ".erplibre-version" | xargs)/bin/pip install "poetry==${POETRY_VERSION}" && \ pip3 install --upgrade pip && git branch && ls . -lha && \
./.venv.$(cat ".erplibre-version" | xargs)/bin/poetry --version && \ pip3 install "poetry==${POETRY_VERSION}" && \
./.venv.$(cat ".erplibre-version" | xargs)/bin/poetry install poetry --version && \
poetry install --no-root -v
# Install local npm # Install local npm
RUN cd $ODOO_PREFIX && \ RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
npm install npm install
# Create link to addons
RUN cd $ODOO_PREFIX && \ RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
ln -s "addons.odoo${ODOO_VERSION}" addons mkdir -p "/ERPLibre/odoo${ODOO_VERSION}/addons/addons"
RUN cd $ODOO_PREFIX && \ RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \ ls -lha /ERPLibre && \
head /etc/odoo/odoo.conf && \ head /etc/odoo/odoo.conf && \
./docker/repo_manifest_gen_org_prefix_path.py $ODOO_PREFIX/addons /etc/odoo/odoo.conf /etc/odoo/odoo.conf && \ ./docker/repo_manifest_gen_org_prefix_path.py $ODOO_PREFIX/odoo${ODOO_VERSION}/addons /etc/odoo/odoo.conf /etc/odoo/odoo.conf && \
head /etc/odoo/odoo.conf head /etc/odoo/odoo.conf
RUN cp /etc/odoo/odoo.conf /odoo.conf RUN cp /etc/odoo/odoo.conf /odoo.conf

View file

@ -26,7 +26,7 @@ services:
volumes: volumes:
# See the volume section at the end of the file # See the volume section at the end of the file
- erplibre_data_dir:/home/odoo/.local/share/Odoo - erplibre_data_dir:/home/odoo/.local/share/Odoo
- ./addons/addons:/ERPLibre/addons/addons - ./addons/addons:/ERPLibre/odoo12.0/addons/addons
- ./private:/ERPLibre/private - ./private:/ERPLibre/private
- erplibre_conf:/etc/odoo - erplibre_conf:/etc/odoo
restart: always restart: always

View file

@ -26,7 +26,7 @@ services:
volumes: volumes:
# See the volume section at the end of the file # See the volume section at the end of the file
- erplibre_data_dir:/home/odoo/.local/share/Odoo - erplibre_data_dir:/home/odoo/.local/share/Odoo
- ./addons/addons:/ERPLibre/addons/addons - ./addons/addons:/ERPLibre/odoo14.0/addons/addons
- ./private:/ERPLibre/private - ./private:/ERPLibre/private
- erplibre_conf:/etc/odoo - erplibre_conf:/etc/odoo
restart: always restart: always

View file

@ -26,7 +26,7 @@ services:
volumes: volumes:
# See the volume section at the end of the file # See the volume section at the end of the file
- erplibre_data_dir:/home/odoo/.local/share/Odoo - erplibre_data_dir:/home/odoo/.local/share/Odoo
- ./addons/addons:/ERPLibre/addons/addons - ./addons/addons:/ERPLibre/odoo16.0/addons/addons
- ./private:/ERPLibre/private - ./private:/ERPLibre/private
- erplibre_conf:/etc/odoo - erplibre_conf:/etc/odoo
restart: always restart: always

View file

@ -0,0 +1,51 @@
services:
ERPLibre:
image: technolibre/erplibre:1.6.0_odoo_18.0_4f4f563
ports:
- 8069:8069
- 8071:8071
- 8072:8072
environment:
HOST: db
PASSWORD: mysecretpassword
USER: odoo
POSTGRES_DB: postgres
STOP_BEFORE_INIT: "False"
DB_NAME: ""
UPDATE_ALL_DB: "False"
depends_on:
- db
# not behind a proxy
#command: odoo --workers 0
# behind a proxy
#command: odoo --workers 2 --proxy-mode
# For production ready
#command: odoo --workers 2 --proxy-mode --no-database-list
# Increase max memory
#command: odoo --limit-memory-hard=0 --limit-memory-soft=0
command: odoo
volumes:
# See the volume section at the end of the file
- erplibre_data_dir:/home/odoo/.local/share/Odoo
- ./addons/addons:/ERPLibre/odoo18.0/addons/addons
- erplibre_conf:/etc/odoo
restart: always
db:
image: postgis/postgis:18-3.6-alpine
environment:
POSTGRES_PASSWORD: mysecretpassword
POSTGRES_USER: odoo
POSTGRES_DB: postgres
PGDATA: /var/lib/postgresql/pgdata
volumes:
- erplibre-db-data:/var/lib/postgresql/pgdata
restart: always
# We configure volume without specific destination to let docker manage it. To configure it through docker use (read related documentation before continuing) :
# - docker volume --help
# - docker-compose down --help
volumes:
erplibre_data_dir:
erplibre_conf:
erplibre-db-data:

View file

@ -1,50 +1,48 @@
#!/bin/bash #!/bin/bash
set -e set -e
if [[ "$ENV" == "dev" ]] && [ ! -z ${CURRENT_UID} ] if [[ "$ENV" == "dev" ]] && [ ! -z ${CURRENT_UID} ]; then
then export HOME=$ODOO_PREFIX
export HOME=$ODOO_PREFIX cd $HOME
cd $HOME
# As it's only possible to fetch git repos manifest from an git url, we create one using git-daemon. # As it's only possible to fetch git repos manifest from an git url, we create one using git-daemon.
git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose & git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose &
GIT_PID=$! GIT_PID=$!
echo "my repo" $(git rev-parse --abbrev-ref HEAD) echo "my repo" $(git rev-parse --abbrev-ref HEAD)
repo init -u git://127.0.0.1:9418/ -b $(git rev-parse --abbrev-ref HEAD) -m default.dev.xml repo init -u git://127.0.0.1:9418/ -b $(git rev-parse --abbrev-ref HEAD) -m default.dev.xml
repo sync -c -j $(nproc --all) repo sync -c -j $(nproc --all)
# After sync, terminate the git checkout. We don't need graceful kill as we don't do commit on the git repo during the operation. # After sync, terminate the git checkout. We don't need graceful kill as we don't do commit on the git repo during the operation.
kill -9 $GIT_PID kill -9 $GIT_PID
ls $HOME/odoo/odoo-bin ls $HOME/odoo$(cat ".odoo-version" | xargs)/odoo/odoo-bin
# $? give the posix return value of the last command. 0 == success # $? give the posix return value of the last command. 0 == success
# then IS_ODOO_FILE_EXIST : 0 == YES # then IS_ODOO_FILE_EXIST : 0 == YES
IS_ODOO_FILE_EXIST=$? IS_ODOO_FILE_EXIST=$?
if [ "$IS_ODOO_FILE_EXIST" -ne "0" ]; then if [ "$IS_ODOO_FILE_EXIST" -ne "0" ]; then
echo "The file $HOME/odoo/odoo-bin doesnt exist. Verify entrypoint.sh"; echo "The file $HOME/odoo$(cat ".odoo-version" | xargs)/odoo/odoo-bin doesnt exist. Verify entrypoint.sh"
exit 1;
fi
# Add the odoo bins code on $PATH
echo PATH=$HOME/odoo/:$PATH
# Configure an alias to use "odoo-bin" as "odoo".
alias odoo=odoo-bin
repo_manifest_gen_org_prefix_path.py $ODOO_PREFIX/addons $ODOO_RC $ODOO_PREFIX/odoo/odoo.conf && head $ODOO_PREFIX/odoo/odoo.conf
export ODOO_RC=$ODOO_PREFIX/odoo/odoo.conf
elif [[ "$ENV" == "dev" ]] && [ -z ${CURRENT_UID} ]
then
echo 'Please run as follows : CURRENT_UID=$(id -u):$(id -g) docker compose up'
exit 1 exit 1
fi
# Add the odoo bins code on $PATH
echo PATH=$HOME/odoo$(cat ".odoo-version" | xargs)/odoo/:$PATH
# Configure an alias to use "odoo-bin" as "odoo".
alias odoo=odoo-bin
repo_manifest_gen_org_prefix_path.py $ODOO_PREFIX/addons $ODOO_RC $ODOO_PREFIX/odoo/odoo.conf && head $ODOO_PREFIX/odoo/odoo.conf
export ODOO_RC=$ODOO_PREFIX/odoo/odoo.conf
elif [[ "$ENV" == "dev" ]] && [ -z ${CURRENT_UID} ]; then
echo 'Please run as follows : CURRENT_UID=$(id -u):$(id -g) docker compose up'
exit 1
fi fi
# Fix volumes of odoo.conf if not exist # Fix volumes of odoo.conf if not exist
if [ ! -f "/etc/odoo/odoo.conf" ]; then if [ ! -f "/etc/odoo/odoo.conf" ]; then
cp /odoo.conf /etc/odoo/odoo.conf cp /odoo.conf /etc/odoo/odoo.conf
fi fi
# set the postgres database host, port, user and password according to the environment # set the postgres database host, port, user and password according to the environment
@ -56,52 +54,56 @@ fi
DB_ARGS=() DB_ARGS=()
function check_config() { function check_config() {
param="$1" param="$1"
value="$2" value="$2"
if grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_RC" ; then if grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_RC"; then
value=$(grep -E "^\s*\b${param}\b\s*=" "$ODOO_RC" |cut -d " " -f3|sed 's/["\n\r]//g') value=$(grep -E "^\s*\b${param}\b\s*=" "$ODOO_RC" | cut -d " " -f3 | sed 's/["\n\r]//g')
fi; fi
DB_ARGS+=("--${param}") DB_ARGS+=("--${param}")
DB_ARGS+=("${value}") DB_ARGS+=("${value}")
} }
check_config "db_host" "$HOST" check_config "db_host" "$HOST"
check_config "db_port" "$PORT" check_config "db_port" "$PORT"
check_config "db_user" "$USER" check_config "db_user" "$USER"
check_config "db_password" "$PASSWORD" check_config "db_password" "$PASSWORD"
cd /ERPLibre
source .venv.$(cat ".erplibre-version" | xargs)/bin/activate
case "$1" in case "$1" in
-- | odoo) -- | odoo)
shift shift
if [[ "$1" == "scaffold" ]] ; then if [[ "$1" == "scaffold" ]]; then
exec odoo "$@" || exec odoo-bin "$@" exec odoo "$@" || exec odoo-bin "$@"
else else
cd $ODOO_PREFIX cd $ODOO_PREFIX
if [[ "${STOP_BEFORE_INIT}" == "True" ]] ; then if [[ "${STOP_BEFORE_INIT}" == "True" ]]; then
sleep 999999 sleep 999999
fi fi
/ERPLibre/.venv.$(cat ".erplibre-version" | xargs)/bin/python ./docker/wait-for-psql.py ${DB_ARGS[@]} --timeout=30 python3 ./docker/wait-for-psql.py "${DB_ARGS[@]}" --timeout=30
if [[ "${UPDATE_ALL_DB}" == "True" ]] ; then if [[ "${UPDATE_ALL_DB}" == "True" ]]; then
# --stop-after-init # --stop-after-init
exec ./.venv.$(cat ".erplibre-version" | xargs)/bin/python $ODOO_EXEC_BIN "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf -u all -d "${DB_NAME}" python3 "$ODOO_EXEC_BIN" "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf -u all -d "${DB_NAME}"
else else
exec ./.venv.$(cat ".erplibre-version" | xargs)/bin/python $ODOO_EXEC_BIN "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf python3 "$ODOO_EXEC_BIN" "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf
fi fi
fi fi
;; ;;
-*) -*)
cd $ODOO_PREFIX cd $ODOO_PREFIX
if [[ "${STOP_BEFORE_INIT}" == "True" ]] ; then if [[ "${STOP_BEFORE_INIT}" == "True" ]]; then
sleep 999999 sleep 999999
fi fi
/ERPLibre/.venv.$(cat ".erplibre-version" | xargs)/bin/python ./docker/wait-for-psql.py ${DB_ARGS[@]} --timeout=30 python3 ./docker/wait-for-psql.py "${DB_ARGS[@]}" --timeout=30
if [[ "${UPDATE_ALL_DB}" == "True" ]] ; then if [[ "${UPDATE_ALL_DB}" == "True" ]]; then
exec ./.venv.$(cat ".erplibre-version" | xargs)/bin/python $ODOO_EXEC_BIN "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf -u all -d "${DB_NAME}" python3 "$ODOO_EXEC_BIN" "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf -u all -d "${DB_NAME}"
else else
exec ./.venv.$(cat ".erplibre-version" | xargs)/bin/python $ODOO_EXEC_BIN "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf python3 "$ODOO_EXEC_BIN" "$@" "${DB_ARGS[@]}" -c /etc/odoo/odoo.conf
fi fi
;; ;;
*) *)
exec "$@" exec "$@"
;;
esac esac
exit 1 exit 1

View file

@ -25,9 +25,13 @@ dstConfigPath = args.dstConfigPath
addonsDirs = [abspath(join(addonsBaseDir, f)) for f in listdir(addonsBaseDir) if addonsDirs = [abspath(join(addonsBaseDir, f)) for f in listdir(addonsBaseDir) if
isdir(join(addonsBaseDir, f))] isdir(join(addonsBaseDir, f))]
with open(".odoo-version", "r") as f:
odoo_version = f.readline().strip()
str_odoo_version = f"odoo{odoo_version}"
# addonsDirs.insert(0, "/usr/lib/python3/dist-packages/odoo/addons/") # addonsDirs.insert(0, "/usr/lib/python3/dist-packages/odoo/addons/")
addonsDirs.insert(0, "/ERPLibre/addons/addons") addonsDirs.insert(0, f"/ERPLibre/{str_odoo_version}/addons/addons")
addonsDirs.insert(0, "/ERPLibre/odoo/addons/") addonsDirs.insert(0, f"/ERPLibre/{str_odoo_version}/odoo/addons")
config = configparser.ConfigParser() config = configparser.ConfigParser()

View file

@ -1,11 +1,14 @@
#!/usr/bin/env bash #!/usr/bin/env bash
ERPLIBRE_VERSION="1.6.0" ERPLIBRE_VERSION=$(cat ".erplibre-semver-version" | xargs)
EL_USER="erplibre" #EL_USER="erplibre"
EL_HOME="/${EL_USER}" EL_USER="${USER}"
EL_HOME_ERPLIBRE="${EL_HOME}/erplibre" #EL_HOME="/${EL_USER}"
EL_HOME_ODOO="${EL_HOME_ERPLIBRE}/odoo$(cat ".odoo-version" | xargs)/odoo" EL_HOME="${HOME}"
#EL_HOME_ERPLIBRE="${EL_HOME}/erplibre"
EL_HOME_ERPLIBRE="${PWD}"
EL_HOME_ODOO="${EL_HOME_ERPLIBRE}"/odoo$(cat ".odoo-version" | xargs)/odoo
EL_ODOO_VERSION=$(cat ".odoo-version" | xargs) EL_ODOO_VERSION=$(cat ".odoo-version" | xargs)
EL_POETRY_VERSION=$(cat ".poetry-version" | xargs) EL_POETRY_VERSION=$(cat ".poetry-version" | xargs)
EL_PYTHON_ODOO_VERSION=$(cat ".python-odoo-version" | xargs) EL_PYTHON_ODOO_VERSION=$(cat ".python-odoo-version" | xargs)
@ -19,7 +22,8 @@ EL_PORT="8069"
EL_LONGPOLLING_PORT="8072" EL_LONGPOLLING_PORT="8072"
# set the superadmin password # set the superadmin password
EL_SUPERADMIN="admin" EL_SUPERADMIN="admin"
EL_CONFIG="${EL_USER}" # The configuration systemctl service will be erplibre_dirname
EL_CONFIG="erplibre_${PWD##*/}"
EL_MINIMAL_ADDONS="False" EL_MINIMAL_ADDONS="False"
# Set this to True if you want to install Nginx! # Set this to True if you want to install Nginx!
EL_INSTALL_NGINX="False" EL_INSTALL_NGINX="False"

File diff suppressed because it is too large Load diff

View file

@ -2,11 +2,12 @@
<manifest> <manifest>
<remote name="odoo" fetch="https://github.com/odoo/" /> <remote name="odoo" fetch="https://github.com/odoo/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<project <project
name="OpenUpgrade.git" name="OpenUpgrade.git"
revision="12.0" revision="12.0_dev"
path="odoo12.0/OCA_OpenUpgrade" path="odoo12.0/OCA_OpenUpgrade"
remote="OCA" remote="ERPLibre_origin_OCA"
clone-depth="10" clone-depth="10"
groups="migration,odoo12.0" groups="migration,odoo12.0"
/> />

View file

@ -3,6 +3,7 @@
<remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" /> <remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" />
<remote name="ERPLibre" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre" fetch="https://github.com/ERPLibre/" />
<remote name="MathBenTech" fetch="https://github.com/MathBenTech/" /> <remote name="MathBenTech" fetch="https://github.com/MathBenTech/" />
<remote name="ERPLibre_origin_TechnoLibre" fetch="https://github.com/ERPLibre/" />
<remote name="Numigi" fetch="https://github.com/Numigi/" /> <remote name="Numigi" fetch="https://github.com/Numigi/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="OmniaGit" fetch="https://github.com/OmniaGit/" /> <remote name="OmniaGit" fetch="https://github.com/OmniaGit/" />
@ -16,6 +17,7 @@
<remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" /> <remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" />
<remote name="muk-it" fetch="https://github.com/muk-it/" /> <remote name="muk-it" fetch="https://github.com/muk-it/" />
<remote name="novacode-nl" fetch="https://github.com/novacode-nl/" /> <remote name="novacode-nl" fetch="https://github.com/novacode-nl/" />
<remote name="ERPLibre_origin_novacode-nl" fetch="https://github.com/ERPLibre/" />
<remote name="obayit" fetch="https://github.com/obayit/" /> <remote name="obayit" fetch="https://github.com/obayit/" />
<remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" />
<remote name="odooaktiv" fetch="https://github.com/odooaktiv/" /> <remote name="odooaktiv" fetch="https://github.com/odooaktiv/" />
@ -26,360 +28,375 @@
<project <project
name="OpenHRMS.git" name="OpenHRMS.git"
path="addons.odoo13.0/CybroOdoo_OpenHRMS" path="odoo13.0/addons/CybroOdoo_OpenHRMS"
remote="CybroOdoo" remote="CybroOdoo"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="access-addons.git" name="access-addons.git"
path="addons.odoo13.0/itpp-labs_access-addons" path="odoo13.0/addons/itpp-labs_access-addons"
remote="itpp-labs" remote="itpp-labs"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-analytic.git" name="account-analytic.git"
path="addons.odoo13.0/OCA_account-analytic" path="odoo13.0/addons/OCA_account-analytic"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-budgeting.git" name="account-budgeting.git"
path="addons.odoo13.0/OCA_account-budgeting" path="odoo13.0/addons/OCA_account-budgeting"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-closing.git" name="account-closing.git"
path="addons.odoo13.0/OCA_account-closing" path="odoo13.0/addons/OCA_account-closing"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-consolidation.git" name="account-consolidation.git"
path="addons.odoo13.0/OCA_account-consolidation" path="odoo13.0/addons/OCA_account-consolidation"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-financial-reporting.git" name="account-financial-reporting.git"
path="addons.odoo13.0/OCA_account-financial-reporting" path="odoo13.0/addons/OCA_account-financial-reporting"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-financial-tools.git" name="account-financial-tools.git"
path="addons.odoo13.0/OCA_account-financial-tools" path="odoo13.0/addons/OCA_account-financial-tools"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-fiscal-rule.git" name="account-fiscal-rule.git"
path="addons.odoo13.0/OCA_account-fiscal-rule" path="odoo13.0/addons/OCA_account-fiscal-rule"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-invoice-reporting.git" name="account-invoice-reporting.git"
path="addons.odoo13.0/OCA_account-invoice-reporting" path="odoo13.0/addons/OCA_account-invoice-reporting"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-invoicing.git" name="account-invoicing.git"
path="addons.odoo13.0/OCA_account-invoicing" path="odoo13.0/addons/OCA_account-invoicing"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-payment.git" name="account-payment.git"
path="addons.odoo13.0/OCA_account-payment" path="odoo13.0/addons/OCA_account-payment"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="account-reconcile.git" name="account-reconcile.git"
path="addons.odoo13.0/OCA_account-reconcile" path="odoo13.0/addons/OCA_account-reconcile"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="apps-store.git" name="apps-store.git"
path="addons.odoo13.0/OCA_apps-store" path="odoo13.0/addons/OCA_apps-store"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="bank-payment.git" name="bank-payment.git"
path="addons.odoo13.0/OCA_bank-payment" path="odoo13.0/addons/OCA_bank-payment"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="bank-statement-import.git" name="bank-statement-import.git"
path="addons.odoo13.0/OCA_bank-statement-import" path="odoo13.0/addons/OCA_bank-statement-import"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="brand.git" path="addons.odoo13.0/OCA_brand" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="brand.git" path="odoo13.0/addons/OCA_brand" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="business-requirement.git" name="business-requirement.git"
path="addons.odoo13.0/OCA_business-requirement" path="odoo13.0/addons/OCA_business-requirement"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="commission.git" name="commission.git"
path="addons.odoo13.0/OCA_commission" path="odoo13.0/addons/OCA_commission"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="community-data-files.git" name="community-data-files.git"
path="addons.odoo13.0/OCA_community-data-files" path="odoo13.0/addons/OCA_community-data-files"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="connector-ecommerce.git" name="connector-ecommerce.git"
path="addons.odoo13.0/OCA_connector-ecommerce" path="odoo13.0/addons/OCA_connector-ecommerce"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="connector-interfaces.git" name="connector-interfaces.git"
path="addons.odoo13.0/OCA_connector-interfaces" path="odoo13.0/addons/OCA_connector-interfaces"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="connector-jira.git" name="connector-jira.git"
path="addons.odoo13.0/OCA_connector-jira" path="odoo13.0/addons/OCA_connector-jira"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="connector-telephony.git" name="connector-telephony.git"
path="addons.odoo13.0/OCA_connector-telephony" path="odoo13.0/addons/OCA_connector-telephony"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="connector.git" name="connector.git"
path="addons.odoo13.0/OCA_connector" path="odoo13.0/addons/OCA_connector"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="contract.git" name="contract.git"
path="addons.odoo13.0/OCA_contract" path="odoo13.0/addons/OCA_contract"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="credit-control.git" name="credit-control.git"
path="addons.odoo13.0/OCA_credit-control" path="odoo13.0/addons/OCA_credit-control"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="crm.git" path="addons.odoo13.0/OCA_crm" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="crm.git" path="odoo13.0/addons/OCA_crm" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="currency.git" name="currency.git"
path="addons.odoo13.0/OCA_currency" path="odoo13.0/addons/OCA_currency"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="data-protection.git" name="data-protection.git"
path="addons.odoo13.0/OCA_data-protection" path="odoo13.0/addons/OCA_data-protection"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="ddmrp.git" path="addons.odoo13.0/OCA_ddmrp" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="ddmrp.git" path="odoo13.0/addons/OCA_ddmrp" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project name="dms.git" path="odoo13.0/addons/OCA_dms" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="delivery-carrier.git" name="delivery-carrier.git"
path="addons.odoo13.0/OCA_delivery-carrier" path="odoo13.0/addons/OCA_delivery-carrier"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="deltatech.git" name="deltatech.git"
path="addons.odoo13.0/dhongu_deltatech" path="odoo13.0/addons/dhongu_deltatech"
remote="dhongu" remote="dhongu"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="design-themes.git" name="design-themes.git"
path="addons.odoo13.0/odoo_design-themes" path="odoo13.0/addons/odoo_design-themes"
remote="ERPLibre_origin_odoo" remote="ERPLibre_origin_odoo"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="donation.git" name="donation.git"
path="addons.odoo13.0/OCA_donation" path="odoo13.0/addons/OCA_donation"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="e-commerce.git" name="e-commerce.git"
path="addons.odoo13.0/OCA_e-commerce" path="odoo13.0/addons/OCA_e-commerce"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="edi.git" path="addons.odoo13.0/OCA_edi" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="edi.git" path="odoo13.0/addons/OCA_edi" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project name="event.git" path="addons.odoo13.0/OCA_event" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="event.git" path="odoo13.0/addons/OCA_event" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="field-service.git" name="field-service.git"
path="addons.odoo13.0/OCA_field-service" path="odoo13.0/addons/OCA_field-service"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="fleet.git" path="addons.odoo13.0/OCA_fleet" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="fleet.git" path="odoo13.0/addons/OCA_fleet" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="geospatial.git" name="geospatial.git"
path="addons.odoo13.0/OCA_geospatial" path="odoo13.0/addons/OCA_geospatial"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="helpdesk.git" name="helpdesk.git"
path="addons.odoo13.0/OCA_helpdesk" path="odoo13.0/addons/OCA_helpdesk"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="hr.git" path="addons.odoo13.0/OCA_hr" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="hr.git" path="odoo13.0/addons/OCA_hr" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="interface-github.git" name="interface-github.git"
path="addons.odoo13.0/OCA_interface-github" path="odoo13.0/addons/OCA_interface-github"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="knowledge.git" name="knowledge.git"
path="addons.odoo13.0/OCA_knowledge" path="odoo13.0/addons/OCA_knowledge"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="l10n-canada.git" name="l10n-canada.git"
path="addons.odoo13.0/OCA_l10n-canada" path="odoo13.0/addons/OCA_l10n-canada"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="maintenance.git" name="maintenance.git"
path="addons.odoo13.0/OCA_maintenance" path="odoo13.0/addons/OCA_maintenance"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="management-system.git" name="management-system.git"
path="addons.odoo13.0/OCA_management-system" path="odoo13.0/addons/OCA_management-system"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="manufacture.git" name="manufacture.git"
path="addons.odoo13.0/OCA_manufacture" path="odoo13.0/addons/OCA_manufacture"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="margin-analysis.git" name="margin-analysis.git"
path="addons.odoo13.0/OCA_margin-analysis" path="odoo13.0/addons/OCA_margin-analysis"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="medical-fhir.git" name="medical-fhir.git"
path="addons.odoo13.0/tegin_medical-fhir" path="odoo13.0/addons/tegin_medical-fhir"
remote="tegin" remote="tegin"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="mis-builder.git" name="mis-builder.git"
path="addons.odoo13.0/OCA_mis-builder" path="odoo13.0/addons/OCA_mis-builder"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="multi-company.git" name="multi-company.git"
path="addons.odoo13.0/OCA_multi-company" path="odoo13.0/addons/OCA_multi-company"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<!-- <project name="odoo-addons.git" path="addons.odoo13.0/ajepe_odoo-addons" remote="ajepe" revision="13.0" groups="addons,odoo13.0" />--> <!-- <project name="odoo-addons.git" path="odoo13.0/addons/ajepe_odoo-addons" remote="ajepe" revision="13.0" groups="addons,odoo13.0" />-->
<!-- <project name="odoo-base-addons.git" path="addons.odoo13.0/Numigi_odoo-base-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-base-addons.git" path="odoo13.0/addons/Numigi_odoo-base-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<project <project
name="odoo-cloud-platform.git" name="odoo-cloud-platform.git"
path="addons.odoo13.0/camptocamp_odoo-cloud-platform" path="odoo13.0/addons/camptocamp_odoo-cloud-platform"
remote="camptocamp" remote="camptocamp"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<!-- <project name="odoo-entertainment-addons.git" path="addons.odoo13.0/Numigi_odoo-entertainment-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <project
name="odoo-code-generator-template.git"
path="odoo13.0/addons/TechnoLibre_odoo-code-generator-template"
remote="ERPLibre_origin_TechnoLibre"
revision="13.0"
groups="addons,odoo13.0,code_generator,image_db"
/>
<project
name="odoo-code-generator.git"
path="odoo13.0/addons/TechnoLibre_odoo-code-generator"
remote="ERPLibre_origin_TechnoLibre"
revision="13.0"
groups="addons,odoo13.0,code_generator,image_db"
/>
<!-- <project name="odoo-entertainment-addons.git" path="odoo13.0/addons/Numigi_odoo-entertainment-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<project <project
name="odoo-formio.git" name="odoo-formio.git"
path="addons.odoo13.0/novacode-nl_odoo-formio" path="odoo13.0/addons/novacode-nl_odoo-formio"
remote="novacode-nl" remote="ERPLibre_origin_novacode-nl"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<!-- <project name="odoo-git-addons.git" path="addons.odoo13.0/Numigi_odoo-git-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-git-addons.git" path="odoo13.0/addons/Numigi_odoo-git-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-hr-addons.git" path="addons.odoo13.0/Numigi_odoo-hr-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-hr-addons.git" path="odoo13.0/addons/Numigi_odoo-hr-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-partner-addons.git" path="addons.odoo13.0/Numigi_odoo-partner-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-partner-addons.git" path="odoo13.0/addons/Numigi_odoo-partner-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-product-addons.git" path="addons.odoo13.0/Numigi_odoo-product-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-product-addons.git" path="odoo13.0/addons/Numigi_odoo-product-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-project-addons.git" path="addons.odoo13.0/Numigi_odoo-project-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-project-addons.git" path="odoo13.0/addons/Numigi_odoo-project-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-purchase-addons.git" path="addons.odoo13.0/Numigi_odoo-purchase-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-purchase-addons.git" path="odoo13.0/addons/Numigi_odoo-purchase-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-stock-addons.git" path="addons.odoo13.0/Numigi_odoo-stock-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-stock-addons.git" path="odoo13.0/addons/Numigi_odoo-stock-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-survey-addons.git" path="addons.odoo13.0/Numigi_odoo-survey-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-survey-addons.git" path="odoo13.0/addons/Numigi_odoo-survey-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-timesheet-addons.git" path="addons.odoo13.0/Numigi_odoo-timesheet-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-timesheet-addons.git" path="odoo13.0/addons/Numigi_odoo-timesheet-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo-web-addons.git" path="addons.odoo13.0/Numigi_odoo-web-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo-web-addons.git" path="odoo13.0/addons/Numigi_odoo-web-addons" remote="Numigi" revision="13.0" groups="addons,odoo13.0"/>-->
<project <project
name="odoo.git" name="odoo.git"
path="odoo13.0/odoo" path="odoo13.0/odoo"
@ -388,242 +405,242 @@
revision="ERPLibre/13.0" revision="ERPLibre/13.0"
groups="odoo,odoo13.0" groups="odoo,odoo13.0"
/> />
<!-- <project name="odoo_addons.git" path="addons.odoo13.0/Smile-SA_odoo_addons" remote="ERPLibre_origin_Smile-SA" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo_addons.git" path="odoo13.0/addons/Smile-SA_odoo_addons" remote="ERPLibre_origin_Smile-SA" revision="13.0" groups="addons,odoo13.0"/>-->
<!-- <project name="odoo_dhtmlxgantt.git" path="addons.odoo13.0/obayit_odoo_dhtmlxgantt" remote="obayit" revision="13.0" groups="addons,odoo13.0"/>--> <!-- <project name="odoo_dhtmlxgantt.git" path="odoo13.0/addons/obayit_odoo_dhtmlxgantt" remote="obayit" revision="13.0" groups="addons,odoo13.0"/>-->
<project <project
name="odooapps.git" name="odooapps.git"
path="addons.odoo13.0/odoomates_odooapps" path="odoo13.0/addons/odoomates_odooapps"
remote="odoomates" remote="odoomates"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="odooplm.git" name="odooplm.git"
path="addons.odoo13.0/OmniaGit_odooplm" path="odoo13.0/addons/OmniaGit_odooplm"
remote="OmniaGit" remote="OmniaGit"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="openeducat_erp.git" name="openeducat_erp.git"
path="addons.odoo13.0/openeducat_openeducat_erp" path="odoo13.0/addons/openeducat_openeducat_erp"
remote="openeducat" remote="openeducat"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="operating-unit.git" name="operating-unit.git"
path="addons.odoo13.0/OCA_operating-unit" path="odoo13.0/addons/OCA_operating-unit"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="partner-contact.git" name="partner-contact.git"
path="addons.odoo13.0/OCA_partner-contact" path="odoo13.0/addons/OCA_partner-contact"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="pos-addons.git" name="pos-addons.git"
path="addons.odoo13.0/itpp-labs_pos-addons" path="odoo13.0/addons/itpp-labs_pos-addons"
remote="itpp-labs" remote="itpp-labs"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="pos.git" path="addons.odoo13.0/OCA_pos" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="pos.git" path="odoo13.0/addons/OCA_pos" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="product-attribute.git" name="product-attribute.git"
path="addons.odoo13.0/OCA_product-attribute" path="odoo13.0/addons/OCA_product-attribute"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="product-pack.git" name="product-pack.git"
path="addons.odoo13.0/OCA_product-pack" path="odoo13.0/addons/OCA_product-pack"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="product-variant.git" name="product-variant.git"
path="addons.odoo13.0/OCA_product-variant" path="odoo13.0/addons/OCA_product-variant"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="project-reporting.git" name="project-reporting.git"
path="addons.odoo13.0/OCA_project-reporting" path="odoo13.0/addons/OCA_project-reporting"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="project.git" name="project.git"
path="addons.odoo13.0/OCA_project" path="odoo13.0/addons/OCA_project"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="purchase-workflow.git" name="purchase-workflow.git"
path="addons.odoo13.0/OCA_purchase-workflow" path="odoo13.0/addons/OCA_purchase-workflow"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="queue.git" path="addons.odoo13.0/OCA_queue" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="queue.git" path="odoo13.0/addons/OCA_queue" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="reporting-engine.git" name="reporting-engine.git"
path="addons.odoo13.0/OCA_reporting-engine" path="odoo13.0/addons/OCA_reporting-engine"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="rma.git" path="addons.odoo13.0/OCA_rma" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="rma.git" path="odoo13.0/addons/OCA_rma" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="saas-addons.git" name="saas-addons.git"
path="addons.odoo13.0/it-projects-llc_saas-addons" path="odoo13.0/addons/it-projects-llc_saas-addons"
remote="it-projects-llc" remote="it-projects-llc"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="sale-reporting.git" name="sale-reporting.git"
path="addons.odoo13.0/OCA_sale-reporting" path="odoo13.0/addons/OCA_sale-reporting"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="sale-workflow.git" name="sale-workflow.git"
path="addons.odoo13.0/OCA_sale-workflow" path="odoo13.0/addons/OCA_sale-workflow"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="server-auth.git" name="server-auth.git"
path="addons.odoo13.0/OCA_server-auth" path="odoo13.0/addons/OCA_server-auth"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="server-backend.git" name="server-backend.git"
path="addons.odoo13.0/OCA_server-backend" path="odoo13.0/addons/OCA_server-backend"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="server-brand.git" name="server-brand.git"
path="addons.odoo13.0/OCA_server-brand" path="odoo13.0/addons/OCA_server-brand"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="server-env.git" name="server-env.git"
path="addons.odoo13.0/OCA_server-env" path="odoo13.0/addons/OCA_server-env"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="server-tools.git" name="server-tools.git"
path="addons.odoo13.0/OCA_server-tools" path="odoo13.0/addons/OCA_server-tools"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="server-ux.git" name="server-ux.git"
path="addons.odoo13.0/OCA_server-ux" path="odoo13.0/addons/OCA_server-ux"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="social.git" name="social.git"
path="addons.odoo13.0/OCA_social" path="odoo13.0/addons/OCA_social"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="stock-logistics-warehouse.git" name="stock-logistics-warehouse.git"
path="addons.odoo13.0/OCA_stock-logistics-warehouse" path="odoo13.0/addons/OCA_stock-logistics-warehouse"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="storage.git" name="storage.git"
path="addons.odoo13.0/OCA_storage" path="odoo13.0/addons/OCA_storage"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="timesheet.git" name="timesheet.git"
path="addons.odoo13.0/OCA_timesheet" path="odoo13.0/addons/OCA_timesheet"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="vertical-association.git" name="vertical-association.git"
path="addons.odoo13.0/OCA_vertical-association" path="odoo13.0/addons/OCA_vertical-association"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="vertical-hotel.git" name="vertical-hotel.git"
path="addons.odoo13.0/OCA_vertical-hotel" path="odoo13.0/addons/OCA_vertical-hotel"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="vertical-isp.git" name="vertical-isp.git"
path="addons.odoo13.0/OCA_vertical-isp" path="odoo13.0/addons/OCA_vertical-isp"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="vertical-travel.git" name="vertical-travel.git"
path="addons.odoo13.0/OCA_vertical-travel" path="odoo13.0/addons/OCA_vertical-travel"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="web.git" path="addons.odoo13.0/OCA_web" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="web.git" path="odoo13.0/addons/OCA_web" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
<project <project
name="website-addons.git" name="website-addons.git"
path="addons.odoo13.0/itpp-labs_website-addons" path="odoo13.0/addons/itpp-labs_website-addons"
remote="itpp-labs" remote="itpp-labs"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="website-cms.git" name="website-cms.git"
path="addons.odoo13.0/OCA_website-cms" path="odoo13.0/addons/OCA_website-cms"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project <project
name="website.git" name="website.git"
path="addons.odoo13.0/OCA_website" path="odoo13.0/addons/OCA_website"
remote="OCA" remote="OCA"
revision="13.0" revision="13.0"
groups="addons,odoo13.0" groups="addons,odoo13.0"
/> />
<project name="wms.git" path="addons.odoo13.0/OCA_wms" remote="OCA" revision="13.0" groups="addons,odoo13.0" /> <project name="wms.git" path="odoo13.0/addons/OCA_wms" remote="OCA" revision="13.0" groups="addons,odoo13.0" />
</manifest> </manifest>

View file

@ -2,11 +2,12 @@
<manifest> <manifest>
<remote name="odoo" fetch="https://github.com/odoo/" /> <remote name="odoo" fetch="https://github.com/odoo/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<project <project
name="OpenUpgrade.git" name="OpenUpgrade.git"
revision="13.0" revision="13.0_dev"
path="odoo13.0/OCA_OpenUpgrade" path="odoo13.0/OCA_OpenUpgrade"
remote="OCA" remote="ERPLibre_origin_OCA"
clone-depth="10" clone-depth="10"
groups="migration,odoo13.0" groups="migration,odoo13.0"
/> />

View file

@ -2,8 +2,11 @@
<manifest> <manifest>
<remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" /> <remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" />
<remote name="ERPLibre" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre" fetch="https://github.com/ERPLibre/" />
<remote name="ERPLibre_origin_MathBenTech" fetch="https://github.com/ERPLibre/" />
<remote name="MathBenTech" fetch="https://github.com/MathBenTech/" /> <remote name="MathBenTech" fetch="https://github.com/MathBenTech/" />
<remote name="ERPLibre_origin_TechnoLibre" fetch="https://github.com/ERPLibre/" />
<remote name="Numigi" fetch="https://github.com/Numigi/" /> <remote name="Numigi" fetch="https://github.com/Numigi/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="OmniaGit" fetch="https://github.com/OmniaGit/" /> <remote name="OmniaGit" fetch="https://github.com/OmniaGit/" />
<remote name="ERPLibre_origin_Smile-SA" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_Smile-SA" fetch="https://github.com/ERPLibre/" />
@ -17,6 +20,7 @@
<remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" /> <remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" />
<remote name="muk-it" fetch="https://github.com/muk-it/" /> <remote name="muk-it" fetch="https://github.com/muk-it/" />
<remote name="novacode-nl" fetch="https://github.com/novacode-nl/" /> <remote name="novacode-nl" fetch="https://github.com/novacode-nl/" />
<remote name="ERPLibre_origin_novacode-nl" fetch="https://github.com/ERPLibre/" />
<remote name="obayit" fetch="https://github.com/obayit/" /> <remote name="obayit" fetch="https://github.com/obayit/" />
<remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" />
<remote name="odooaktiv" fetch="https://github.com/odooaktiv/" /> <remote name="odooaktiv" fetch="https://github.com/odooaktiv/" />
@ -27,448 +31,470 @@
<project <project
name="OpenHRMS.git" name="OpenHRMS.git"
path="addons.odoo14.0/CybroOdoo_OpenHRMS" path="odoo14.0/addons/CybroOdoo_OpenHRMS"
remote="CybroOdoo" remote="CybroOdoo"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="access-addons.git" name="access-addons.git"
path="addons.odoo14.0/itpp-labs_access-addons" path="odoo14.0/addons/itpp-labs_access-addons"
remote="itpp-labs" remote="itpp-labs"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-analytic.git" name="account-analytic.git"
path="addons.odoo14.0/OCA_account-analytic" path="odoo14.0/addons/OCA_account-analytic"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-budgeting.git" name="account-budgeting.git"
path="addons.odoo14.0/OCA_account-budgeting" path="odoo14.0/addons/OCA_account-budgeting"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-closing.git" name="account-closing.git"
path="addons.odoo14.0/OCA_account-closing" path="odoo14.0/addons/OCA_account-closing"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-consolidation.git" name="account-consolidation.git"
path="addons.odoo14.0/OCA_account-consolidation" path="odoo14.0/addons/OCA_account-consolidation"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-financial-reporting.git" name="account-financial-reporting.git"
path="addons.odoo14.0/OCA_account-financial-reporting" path="odoo14.0/addons/OCA_account-financial-reporting"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-financial-tools.git" name="account-financial-tools.git"
path="addons.odoo14.0/OCA_account-financial-tools" path="odoo14.0/addons/OCA_account-financial-tools"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-fiscal-rule.git" name="account-fiscal-rule.git"
path="addons.odoo14.0/OCA_account-fiscal-rule" path="odoo14.0/addons/OCA_account-fiscal-rule"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-invoice-reporting.git" name="account-invoice-reporting.git"
path="addons.odoo14.0/OCA_account-invoice-reporting" path="odoo14.0/addons/OCA_account-invoice-reporting"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-invoicing.git" name="account-invoicing.git"
path="addons.odoo14.0/OCA_account-invoicing" path="odoo14.0/addons/OCA_account-invoicing"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-payment.git" name="account-payment.git"
path="addons.odoo14.0/OCA_account-payment" path="odoo14.0/addons/OCA_account-payment"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="account-reconcile.git" name="account-reconcile.git"
path="addons.odoo14.0/OCA_account-reconcile" path="odoo14.0/addons/OCA_account-reconcile"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="apps-store.git" name="apps-store.git"
path="addons.odoo14.0/OCA_apps-store" path="odoo14.0/addons/OCA_apps-store"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="bank-payment.git" name="bank-payment.git"
path="addons.odoo14.0/OCA_bank-payment" path="odoo14.0/addons/OCA_bank-payment"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="bank-statement-import.git" name="bank-statement-import.git"
path="addons.odoo14.0/OCA_bank-statement-import" path="odoo14.0/addons/OCA_bank-statement-import"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="brand.git" path="addons.odoo14.0/OCA_brand" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="brand.git" path="odoo14.0/addons/OCA_brand" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="business-requirement.git" name="business-requirement.git"
path="addons.odoo14.0/OCA_business-requirement" path="odoo14.0/addons/OCA_business-requirement"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="cetmix-tower.git" name="cetmix-tower.git"
path="addons.odoo14.0/cetmix_cetmix-tower" path="odoo14.0/addons/cetmix_cetmix-tower"
remote="cetmix" remote="cetmix"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="commission.git" name="commission.git"
path="addons.odoo14.0/OCA_commission" path="odoo14.0/addons/OCA_commission"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="community-data-files.git" name="community-data-files.git"
path="addons.odoo14.0/OCA_community-data-files" path="odoo14.0/addons/OCA_community-data-files"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="connector-ecommerce.git" name="connector-ecommerce.git"
path="addons.odoo14.0/OCA_connector-ecommerce" path="odoo14.0/addons/OCA_connector-ecommerce"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="connector-interfaces.git" name="connector-interfaces.git"
path="addons.odoo14.0/OCA_connector-interfaces" path="odoo14.0/addons/OCA_connector-interfaces"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="connector-jira.git" name="connector-jira.git"
path="addons.odoo14.0/OCA_connector-jira" path="odoo14.0/addons/OCA_connector-jira"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="connector-telephony.git" name="connector-telephony.git"
path="addons.odoo14.0/OCA_connector-telephony" path="odoo14.0/addons/OCA_connector-telephony"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="connector.git" name="connector.git"
path="addons.odoo14.0/OCA_connector" path="odoo14.0/addons/OCA_connector"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="contract.git" name="contract.git"
path="addons.odoo14.0/OCA_contract" path="odoo14.0/addons/OCA_contract"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="credit-control.git" name="credit-control.git"
path="addons.odoo14.0/OCA_credit-control" path="odoo14.0/addons/OCA_credit-control"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="crm.git" path="addons.odoo14.0/OCA_crm" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="crm.git" path="odoo14.0/addons/OCA_crm" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="currency.git" name="currency.git"
path="addons.odoo14.0/OCA_currency" path="odoo14.0/addons/OCA_currency"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="data-protection.git" name="data-protection.git"
path="addons.odoo14.0/OCA_data-protection" path="odoo14.0/addons/OCA_data-protection"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="ddmrp.git" path="addons.odoo14.0/OCA_ddmrp" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="ddmrp.git" path="odoo14.0/addons/OCA_ddmrp" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project name="dms.git" path="odoo14.0/addons/OCA_dms" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="delivery-carrier.git" name="delivery-carrier.git"
path="addons.odoo14.0/OCA_delivery-carrier" path="odoo14.0/addons/OCA_delivery-carrier"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="deltatech.git" name="deltatech.git"
path="addons.odoo14.0/dhongu_deltatech" path="odoo14.0/addons/dhongu_deltatech"
remote="dhongu" remote="dhongu"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="design-themes.git" name="design-themes.git"
path="addons.odoo14.0/odoo_design-themes" path="odoo14.0/addons/odoo_design-themes"
remote="ERPLibre_origin_odoo" remote="ERPLibre_origin_odoo"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project
name="development.git"
path="odoo14.0/addons/MathBenTech_development"
remote="ERPLibre_origin_MathBenTech"
revision="14.0"
groups="addons,odoo14.0"
/>
<project <project
name="donation.git" name="donation.git"
path="addons.odoo14.0/OCA_donation" path="odoo14.0/addons/OCA_donation"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="e-commerce.git" name="e-commerce.git"
path="addons.odoo14.0/OCA_e-commerce" path="odoo14.0/addons/OCA_e-commerce"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="edi.git" path="addons.odoo14.0/OCA_edi" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="edi.git" path="odoo14.0/addons/OCA_edi" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project name="event.git" path="addons.odoo14.0/OCA_event" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="event.git" path="odoo14.0/addons/OCA_event" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="field-service.git" name="field-service.git"
path="addons.odoo14.0/OCA_field-service" path="odoo14.0/addons/OCA_field-service"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="fleet.git" path="addons.odoo14.0/OCA_fleet" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="fleet.git" path="odoo14.0/addons/OCA_fleet" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="geospatial.git" name="geospatial.git"
path="addons.odoo14.0/OCA_geospatial" path="odoo14.0/addons/OCA_geospatial"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="helpdesk.git" name="helpdesk.git"
path="addons.odoo14.0/OCA_helpdesk" path="odoo14.0/addons/OCA_helpdesk"
remote="ERPLibre" remote="ERPLibre"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="hr.git" path="addons.odoo14.0/OCA_hr" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="hr.git" path="odoo14.0/addons/OCA_hr" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="interface-github.git" name="interface-github.git"
path="addons.odoo14.0/OCA_interface-github" path="odoo14.0/addons/OCA_interface-github"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="knowledge.git" name="knowledge.git"
path="addons.odoo14.0/OCA_knowledge" path="odoo14.0/addons/OCA_knowledge"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="l10n-canada.git" name="l10n-canada.git"
path="addons.odoo14.0/OCA_l10n-canada" path="odoo14.0/addons/OCA_l10n-canada"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="maintenance.git" name="maintenance.git"
path="addons.odoo14.0/OCA_maintenance" path="odoo14.0/addons/OCA_maintenance"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="management-system.git" name="management-system.git"
path="addons.odoo14.0/OCA_management-system" path="odoo14.0/addons/OCA_management-system"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="manufacture.git" name="manufacture.git"
path="addons.odoo14.0/OCA_manufacture" path="odoo14.0/addons/OCA_manufacture"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="margin-analysis.git" name="margin-analysis.git"
path="addons.odoo14.0/OCA_margin-analysis" path="odoo14.0/addons/OCA_margin-analysis"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="medical-fhir.git" name="medical-fhir.git"
path="addons.odoo14.0/tegin_medical-fhir" path="odoo14.0/addons/tegin_medical-fhir"
remote="tegin" remote="tegin"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="mis-builder.git" name="mis-builder.git"
path="addons.odoo14.0/OCA_mis-builder" path="odoo14.0/addons/OCA_mis-builder"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="multi-company.git" name="multi-company.git"
path="addons.odoo14.0/OCA_multi-company" path="odoo14.0/addons/OCA_multi-company"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="muk_web.git" name="muk_web.git"
path="addons.odoo14.0/muk-it_muk_web" path="odoo14.0/addons/muk-it_muk_web"
remote="muk-it" remote="muk-it"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-addons.git" name="odoo-addons.git"
path="addons.odoo14.0/ajepe_odoo-addons" path="odoo14.0/addons/ajepe_odoo-addons"
remote="ajepe" remote="ajepe"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-base-addons.git" name="odoo-base-addons.git"
path="addons.odoo14.0/Numigi_odoo-base-addons" path="odoo14.0/addons/Numigi_odoo-base-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-cloud-platform.git" name="odoo-cloud-platform.git"
path="addons.odoo14.0/camptocamp_odoo-cloud-platform" path="odoo14.0/addons/camptocamp_odoo-cloud-platform"
remote="camptocamp" remote="camptocamp"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project
name="odoo-code-generator-template.git"
path="odoo14.0/addons/TechnoLibre_odoo-code-generator-template"
remote="ERPLibre_origin_TechnoLibre"
revision="14.0"
groups="addons,odoo14.0,code_generator,image_db"
/>
<project
name="odoo-code-generator.git"
path="odoo14.0/addons/TechnoLibre_odoo-code-generator"
remote="ERPLibre_origin_TechnoLibre"
revision="14.0"
groups="addons,odoo14.0,code_generator,image_db"
/>
<project <project
name="odoo-entertainment-addons.git" name="odoo-entertainment-addons.git"
path="addons.odoo14.0/Numigi_odoo-entertainment-addons" path="odoo14.0/addons/Numigi_odoo-entertainment-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-formio.git" name="odoo-formio.git"
path="addons.odoo14.0/novacode-nl_odoo-formio" path="odoo14.0/addons/novacode-nl_odoo-formio"
remote="novacode-nl" remote="ERPLibre_origin_novacode-nl"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-git-addons.git" name="odoo-git-addons.git"
path="addons.odoo14.0/Numigi_odoo-git-addons" path="odoo14.0/addons/Numigi_odoo-git-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-hr-addons.git" name="odoo-hr-addons.git"
path="addons.odoo14.0/Numigi_odoo-hr-addons" path="odoo14.0/addons/Numigi_odoo-hr-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-partner-addons.git" name="odoo-partner-addons.git"
path="addons.odoo14.0/Numigi_odoo-partner-addons" path="odoo14.0/addons/Numigi_odoo-partner-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-product-addons.git" name="odoo-product-addons.git"
path="addons.odoo14.0/Numigi_odoo-product-addons" path="odoo14.0/addons/Numigi_odoo-product-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-project-addons.git" name="odoo-project-addons.git"
path="addons.odoo14.0/Numigi_odoo-project-addons" path="odoo14.0/addons/Numigi_odoo-project-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-purchase-addons.git" name="odoo-purchase-addons.git"
path="addons.odoo14.0/Numigi_odoo-purchase-addons" path="odoo14.0/addons/Numigi_odoo-purchase-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-stock-addons.git" name="odoo-stock-addons.git"
path="addons.odoo14.0/Numigi_odoo-stock-addons" path="odoo14.0/addons/Numigi_odoo-stock-addons"
remote="ERPLibre" remote="ERPLibre"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-survey-addons.git" name="odoo-survey-addons.git"
path="addons.odoo14.0/Numigi_odoo-survey-addons" path="odoo14.0/addons/Numigi_odoo-survey-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-timesheet-addons.git" name="odoo-timesheet-addons.git"
path="addons.odoo14.0/Numigi_odoo-timesheet-addons" path="odoo14.0/addons/Numigi_odoo-timesheet-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo-web-addons.git" name="odoo-web-addons.git"
path="addons.odoo14.0/Numigi_odoo-web-addons" path="odoo14.0/addons/Numigi_odoo-web-addons"
remote="Numigi" remote="Numigi"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
@ -483,273 +509,273 @@
/> />
<project <project
name="odoo_addons.git" name="odoo_addons.git"
path="addons.odoo14.0/Smile-SA_odoo_addons" path="odoo14.0/addons/Smile-SA_odoo_addons"
remote="ERPLibre_origin_Smile-SA" remote="ERPLibre_origin_Smile-SA"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odoo_dhtmlxgantt.git" name="odoo_dhtmlxgantt.git"
path="addons.odoo14.0/obayit_odoo_dhtmlxgantt" path="odoo14.0/addons/obayit_odoo_dhtmlxgantt"
remote="obayit" remote="obayit"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odooapps.git" name="odooapps.git"
path="addons.odoo14.0/odoomates_odooapps" path="odoo14.0/addons/odoomates_odooapps"
remote="odoomates" remote="odoomates"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="odooplm.git" name="odooplm.git"
path="addons.odoo14.0/OmniaGit_odooplm" path="odoo14.0/addons/OmniaGit_odooplm"
remote="OmniaGit" remote="OmniaGit"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="openeducat_erp.git" name="openeducat_erp.git"
path="addons.odoo14.0/openeducat_openeducat_erp" path="odoo14.0/addons/openeducat_openeducat_erp"
remote="openeducat" remote="openeducat"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="operating-unit.git" name="operating-unit.git"
path="addons.odoo14.0/OCA_operating-unit" path="odoo14.0/addons/OCA_operating-unit"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="partner-contact.git" name="partner-contact.git"
path="addons.odoo14.0/OCA_partner-contact" path="odoo14.0/addons/OCA_partner-contact"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="pos-addons.git" name="pos-addons.git"
path="addons.odoo14.0/itpp-labs_pos-addons" path="odoo14.0/addons/itpp-labs_pos-addons"
remote="itpp-labs" remote="itpp-labs"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="pos.git" path="addons.odoo14.0/OCA_pos" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="pos.git" path="odoo14.0/addons/OCA_pos" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="product-attribute.git" name="product-attribute.git"
path="addons.odoo14.0/OCA_product-attribute" path="odoo14.0/addons/OCA_product-attribute"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="product-configurator.git" name="product-configurator.git"
path="addons.odoo14.0/OCA_product-configurator" path="odoo14.0/addons/OCA_product-configurator"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="product-pack.git" name="product-pack.git"
path="addons.odoo14.0/OCA_product-pack" path="odoo14.0/addons/OCA_product-pack"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="product-variant.git" name="product-variant.git"
path="addons.odoo14.0/OCA_product-variant" path="odoo14.0/addons/OCA_product-variant"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="project-reporting.git" name="project-reporting.git"
path="addons.odoo14.0/OCA_project-reporting" path="odoo14.0/addons/OCA_project-reporting"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="project-agile.git" name="project-agile.git"
path="addons.odoo14.0/OCA_project-agile" path="odoo14.0/addons/OCA_project-agile"
remote="ERPLibre" remote="ERPLibre_origin_OCA"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="project.git" name="project.git"
path="addons.odoo14.0/OCA_project" path="odoo14.0/addons/OCA_project"
remote="ERPLibre" remote="ERPLibre"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="purchase-workflow.git" name="purchase-workflow.git"
path="addons.odoo14.0/OCA_purchase-workflow" path="odoo14.0/addons/OCA_purchase-workflow"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="queue.git" path="addons.odoo14.0/OCA_queue" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="queue.git" path="odoo14.0/addons/OCA_queue" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="reporting-engine.git" name="reporting-engine.git"
path="addons.odoo14.0/OCA_reporting-engine" path="odoo14.0/addons/OCA_reporting-engine"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="rma.git" path="addons.odoo14.0/OCA_rma" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="rma.git" path="odoo14.0/addons/OCA_rma" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="saas-addons.git" name="saas-addons.git"
path="addons.odoo14.0/it-projects-llc_saas-addons" path="odoo14.0/addons/it-projects-llc_saas-addons"
remote="it-projects-llc" remote="it-projects-llc"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="sale-reporting.git" name="sale-reporting.git"
path="addons.odoo14.0/OCA_sale-reporting" path="odoo14.0/addons/OCA_sale-reporting"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="sale-workflow.git" name="sale-workflow.git"
path="addons.odoo14.0/OCA_sale-workflow" path="odoo14.0/addons/OCA_sale-workflow"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="server-auth.git" name="server-auth.git"
path="addons.odoo14.0/OCA_server-auth" path="odoo14.0/addons/OCA_server-auth"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="server-backend.git" name="server-backend.git"
path="addons.odoo14.0/OCA_server-backend" path="odoo14.0/addons/OCA_server-backend"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="server-brand.git" name="server-brand.git"
path="addons.odoo14.0/OCA_server-brand" path="odoo14.0/addons/OCA_server-brand"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="server-env.git" name="server-env.git"
path="addons.odoo14.0/OCA_server-env" path="odoo14.0/addons/OCA_server-env"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="server-tools.git" name="server-tools.git"
path="addons.odoo14.0/OCA_server-tools" path="odoo14.0/addons/OCA_server-tools"
remote="ERPLibre" remote="ERPLibre"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="server-ux.git" name="server-ux.git"
path="addons.odoo14.0/OCA_server-ux" path="odoo14.0/addons/OCA_server-ux"
remote="ERPLibre" remote="ERPLibre"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="social.git" name="social.git"
path="addons.odoo14.0/OCA_social" path="odoo14.0/addons/OCA_social"
remote="ERPLibre" remote="ERPLibre"
revision="14.0_dev" revision="14.0_dev"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="survey.git" name="survey.git"
path="addons.odoo14.0/OCA_survey" path="odoo14.0/addons/OCA_survey"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="stock-logistics-warehouse.git" name="stock-logistics-warehouse.git"
path="addons.odoo14.0/OCA_stock-logistics-warehouse" path="odoo14.0/addons/OCA_stock-logistics-warehouse"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="storage.git" name="storage.git"
path="addons.odoo14.0/OCA_storage" path="odoo14.0/addons/OCA_storage"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="timesheet.git" name="timesheet.git"
path="addons.odoo14.0/OCA_timesheet" path="odoo14.0/addons/OCA_timesheet"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="vertical-association.git" name="vertical-association.git"
path="addons.odoo14.0/OCA_vertical-association" path="odoo14.0/addons/OCA_vertical-association"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="vertical-hotel.git" name="vertical-hotel.git"
path="addons.odoo14.0/OCA_vertical-hotel" path="odoo14.0/addons/OCA_vertical-hotel"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="vertical-isp.git" name="vertical-isp.git"
path="addons.odoo14.0/OCA_vertical-isp" path="odoo14.0/addons/OCA_vertical-isp"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="vertical-travel.git" name="vertical-travel.git"
path="addons.odoo14.0/OCA_vertical-travel" path="odoo14.0/addons/OCA_vertical-travel"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="web.git" path="addons.odoo14.0/OCA_web" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="web.git" path="odoo14.0/addons/OCA_web" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
<project <project
name="website-addons.git" name="website-addons.git"
path="addons.odoo14.0/itpp-labs_website-addons" path="odoo14.0/addons/itpp-labs_website-addons"
remote="itpp-labs" remote="itpp-labs"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="website-cms.git" name="website-cms.git"
path="addons.odoo14.0/OCA_website-cms" path="odoo14.0/addons/OCA_website-cms"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project <project
name="website.git" name="website.git"
path="addons.odoo14.0/OCA_website" path="odoo14.0/addons/OCA_website"
remote="OCA" remote="OCA"
revision="14.0" revision="14.0"
groups="addons,odoo14.0" groups="addons,odoo14.0"
/> />
<project name="wms.git" path="addons.odoo14.0/OCA_wms" remote="OCA" revision="14.0" groups="addons,odoo14.0" /> <project name="wms.git" path="odoo14.0/addons/OCA_wms" remote="OCA" revision="14.0" groups="addons,odoo14.0" />
</manifest> </manifest>

View file

@ -2,11 +2,12 @@
<manifest> <manifest>
<remote name="odoo" fetch="https://github.com/odoo/" /> <remote name="odoo" fetch="https://github.com/odoo/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<project <project
name="OpenUpgrade.git" name="OpenUpgrade.git"
revision="14.0" revision="14.0_dev"
path="odoo14.0/OCA_OpenUpgrade" path="odoo14.0/OCA_OpenUpgrade"
remote="OCA" remote="ERPLibre_origin_OCA"
clone-depth="10" clone-depth="10"
groups="migration,odoo14.0" groups="migration,odoo14.0"
/> />

View file

@ -3,6 +3,7 @@
<remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" /> <remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" />
<remote name="ERPLibre" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre" fetch="https://github.com/ERPLibre/" />
<remote name="MathBenTech" fetch="https://github.com/MathBenTech/" /> <remote name="MathBenTech" fetch="https://github.com/MathBenTech/" />
<remote name="ERPLibre_origin_TechnoLibre" fetch="https://github.com/ERPLibre/" />
<remote name="Numigi" fetch="https://github.com/Numigi/" /> <remote name="Numigi" fetch="https://github.com/Numigi/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
@ -18,382 +19,399 @@
<remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" /> <remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" />
<remote name="muk-it" fetch="https://github.com/muk-it/" /> <remote name="muk-it" fetch="https://github.com/muk-it/" />
<remote name="novacode-nl" fetch="https://github.com/novacode-nl/" /> <remote name="novacode-nl" fetch="https://github.com/novacode-nl/" />
<remote name="ERPLibre_origin_novacode-nl" fetch="https://github.com/ERPLibre/" />
<remote name="obayit" fetch="https://github.com/obayit/" /> <remote name="obayit" fetch="https://github.com/obayit/" />
<remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" />
<remote name="odooaktiv" fetch="https://github.com/odooaktiv/" /> <remote name="odooaktiv" fetch="https://github.com/odooaktiv/" />
<remote name="odoomates" fetch="https://github.com/odoomates/" /> <remote name="odoomates" fetch="https://github.com/odoomates/" />
<remote name="ERPLibre_origin_odoomates" fetch="https://github.com/erplibre/" />
<remote name="openeducat" fetch="https://github.com/openeducat/" /> <remote name="openeducat" fetch="https://github.com/openeducat/" />
<remote name="pledra" fetch="https://github.com/pledra/" /> <remote name="pledra" fetch="https://github.com/pledra/" />
<remote name="tegin" fetch="https://github.com/tegin/" /> <remote name="tegin" fetch="https://github.com/tegin/" />
<project <project
name="OpenHRMS.git" name="OpenHRMS.git"
path="addons.odoo15.0/CybroOdoo_OpenHRMS" path="odoo15.0/addons/CybroOdoo_OpenHRMS"
remote="CybroOdoo" remote="CybroOdoo"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="access-addons.git" name="access-addons.git"
path="addons.odoo15.0/itpp-labs_access-addons" path="odoo15.0/addons/itpp-labs_access-addons"
remote="itpp-labs" remote="itpp-labs"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-analytic.git" name="account-analytic.git"
path="addons.odoo15.0/OCA_account-analytic" path="odoo15.0/addons/OCA_account-analytic"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-budgeting.git" name="account-budgeting.git"
path="addons.odoo15.0/OCA_account-budgeting" path="odoo15.0/addons/OCA_account-budgeting"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-closing.git" name="account-closing.git"
path="addons.odoo15.0/OCA_account-closing" path="odoo15.0/addons/OCA_account-closing"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-consolidation.git" name="account-consolidation.git"
path="addons.odoo15.0/OCA_account-consolidation" path="odoo15.0/addons/OCA_account-consolidation"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-financial-reporting.git" name="account-financial-reporting.git"
path="addons.odoo15.0/OCA_account-financial-reporting" path="odoo15.0/addons/OCA_account-financial-reporting"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-financial-tools.git" name="account-financial-tools.git"
path="addons.odoo15.0/OCA_account-financial-tools" path="odoo15.0/addons/OCA_account-financial-tools"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-fiscal-rule.git" name="account-fiscal-rule.git"
path="addons.odoo15.0/OCA_account-fiscal-rule" path="odoo15.0/addons/OCA_account-fiscal-rule"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-invoice-reporting.git" name="account-invoice-reporting.git"
path="addons.odoo15.0/OCA_account-invoice-reporting" path="odoo15.0/addons/OCA_account-invoice-reporting"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-invoicing.git" name="account-invoicing.git"
path="addons.odoo15.0/OCA_account-invoicing" path="odoo15.0/addons/OCA_account-invoicing"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-payment.git" name="account-payment.git"
path="addons.odoo15.0/OCA_account-payment" path="odoo15.0/addons/OCA_account-payment"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="account-reconcile.git" name="account-reconcile.git"
path="addons.odoo15.0/OCA_account-reconcile" path="odoo15.0/addons/OCA_account-reconcile"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="apps-store.git" name="apps-store.git"
path="addons.odoo15.0/OCA_apps-store" path="odoo15.0/addons/OCA_apps-store"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="bank-payment.git" name="bank-payment.git"
path="addons.odoo15.0/OCA_bank-payment" path="odoo15.0/addons/OCA_bank-payment"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="bank-statement-import.git" name="bank-statement-import.git"
path="addons.odoo15.0/OCA_bank-statement-import" path="odoo15.0/addons/OCA_bank-statement-import"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="brand.git" path="addons.odoo15.0/OCA_brand" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="brand.git" path="odoo15.0/addons/OCA_brand" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="business-requirement.git" name="business-requirement.git"
path="addons.odoo15.0/OCA_business-requirement" path="odoo15.0/addons/OCA_business-requirement"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<!-- <project name="cetmix-tower.git" path="addons.odoo15.0/cetmix_cetmix-tower" remote="cetmix" revision="15.0" groups="addons,odoo15.0" />--> <!-- <project name="cetmix-tower.git" path="odoo15.0/addons/cetmix_cetmix-tower" remote="cetmix" revision="15.0" groups="addons,odoo15.0" />-->
<project <project
name="commission.git" name="commission.git"
path="addons.odoo15.0/OCA_commission" path="odoo15.0/addons/OCA_commission"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="community-data-files.git" name="community-data-files.git"
path="addons.odoo15.0/OCA_community-data-files" path="odoo15.0/addons/OCA_community-data-files"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="connector-ecommerce.git" name="connector-ecommerce.git"
path="addons.odoo15.0/OCA_connector-ecommerce" path="odoo15.0/addons/OCA_connector-ecommerce"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="connector-interfaces.git" name="connector-interfaces.git"
path="addons.odoo15.0/OCA_connector-interfaces" path="odoo15.0/addons/OCA_connector-interfaces"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="connector-jira.git" name="connector-jira.git"
path="addons.odoo15.0/OCA_connector-jira" path="odoo15.0/addons/OCA_connector-jira"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="connector-telephony.git" name="connector-telephony.git"
path="addons.odoo15.0/OCA_connector-telephony" path="odoo15.0/addons/OCA_connector-telephony"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="connector.git" name="connector.git"
path="addons.odoo15.0/OCA_connector" path="odoo15.0/addons/OCA_connector"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="contract.git" name="contract.git"
path="addons.odoo15.0/OCA_contract" path="odoo15.0/addons/OCA_contract"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="credit-control.git" name="credit-control.git"
path="addons.odoo15.0/OCA_credit-control" path="odoo15.0/addons/OCA_credit-control"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="crm.git" path="addons.odoo15.0/OCA_crm" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="crm.git" path="odoo15.0/addons/OCA_crm" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="currency.git" name="currency.git"
path="addons.odoo15.0/OCA_currency" path="odoo15.0/addons/OCA_currency"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="data-protection.git" name="data-protection.git"
path="addons.odoo15.0/OCA_data-protection" path="odoo15.0/addons/OCA_data-protection"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="ddmrp.git" path="addons.odoo15.0/OCA_ddmrp" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="ddmrp.git" path="odoo15.0/addons/OCA_ddmrp" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project name="dms.git" path="odoo15.0/addons/OCA_dms" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="delivery-carrier.git" name="delivery-carrier.git"
path="addons.odoo15.0/OCA_delivery-carrier" path="odoo15.0/addons/OCA_delivery-carrier"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="deltatech.git" name="deltatech.git"
path="addons.odoo15.0/dhongu_deltatech" path="odoo15.0/addons/dhongu_deltatech"
remote="dhongu" remote="dhongu"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="design-themes.git" name="design-themes.git"
path="addons.odoo15.0/odoo_design-themes" path="odoo15.0/addons/odoo_design-themes"
remote="ERPLibre_origin_odoo" remote="ERPLibre_origin_odoo"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="donation.git" name="donation.git"
path="addons.odoo15.0/OCA_donation" path="odoo15.0/addons/OCA_donation"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="e-commerce.git" name="e-commerce.git"
path="addons.odoo15.0/OCA_e-commerce" path="odoo15.0/addons/OCA_e-commerce"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="edi.git" path="addons.odoo15.0/OCA_edi" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="edi.git" path="odoo15.0/addons/OCA_edi" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project name="event.git" path="addons.odoo15.0/OCA_event" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="event.git" path="odoo15.0/addons/OCA_event" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="field-service.git" name="field-service.git"
path="addons.odoo15.0/OCA_field-service" path="odoo15.0/addons/OCA_field-service"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="fleet.git" path="addons.odoo15.0/OCA_fleet" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="fleet.git" path="odoo15.0/addons/OCA_fleet" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="geospatial.git" name="geospatial.git"
path="addons.odoo15.0/OCA_geospatial" path="odoo15.0/addons/OCA_geospatial"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="helpdesk.git" name="helpdesk.git"
path="addons.odoo15.0/OCA_helpdesk" path="odoo15.0/addons/OCA_helpdesk"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="hr.git" path="addons.odoo15.0/OCA_hr" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="hr.git" path="odoo15.0/addons/OCA_hr" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="interface-github.git" name="interface-github.git"
path="addons.odoo15.0/OCA_interface-github" path="odoo15.0/addons/OCA_interface-github"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="knowledge.git" name="knowledge.git"
path="addons.odoo15.0/OCA_knowledge" path="odoo15.0/addons/OCA_knowledge"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="l10n-canada.git" name="l10n-canada.git"
path="addons.odoo15.0/OCA_l10n-canada" path="odoo15.0/addons/OCA_l10n-canada"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="maintenance.git" name="maintenance.git"
path="addons.odoo15.0/OCA_maintenance" path="odoo15.0/addons/OCA_maintenance"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="management-system.git" name="management-system.git"
path="addons.odoo15.0/OCA_management-system" path="odoo15.0/addons/OCA_management-system"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="manufacture.git" name="manufacture.git"
path="addons.odoo15.0/OCA_manufacture" path="odoo15.0/addons/OCA_manufacture"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="margin-analysis.git" name="margin-analysis.git"
path="addons.odoo15.0/OCA_margin-analysis" path="odoo15.0/addons/OCA_margin-analysis"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<!-- <project name="medical-fhir.git" path="addons.odoo15.0/tegin_medical-fhir" remote="tegin" revision="15.0" groups="addons,odoo15.0" />--> <!-- <project name="medical-fhir.git" path="odoo15.0/addons/tegin_medical-fhir" remote="tegin" revision="15.0" groups="addons,odoo15.0" />-->
<project <project
name="mis-builder.git" name="mis-builder.git"
path="addons.odoo15.0/OCA_mis-builder" path="odoo15.0/addons/OCA_mis-builder"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="multi-company.git" name="multi-company.git"
path="addons.odoo15.0/OCA_multi-company" path="odoo15.0/addons/OCA_multi-company"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="muk_web.git" name="muk_web.git"
path="addons.odoo15.0/muk-it_muk_web" path="odoo15.0/addons/muk-it_muk_web"
remote="muk-it" remote="muk-it"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="odoo-addons.git" name="odoo-addons.git"
path="addons.odoo15.0/ajepe_odoo-addons" path="odoo15.0/addons/ajepe_odoo-addons"
remote="ajepe" remote="ajepe"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<!-- <project--> <!-- <project-->
<!-- name="odoo-base-addons.git"--> <!-- name="odoo-base-addons.git"-->
<!-- path="addons.odoo15.0/Numigi_odoo-base-addons"--> <!-- path="odoo15.0/addons/Numigi_odoo-base-addons"-->
<!-- remote="Numigi"--> <!-- remote="Numigi"-->
<!-- revision="15.0"--> <!-- revision="15.0"-->
<!-- groups="addons,odoo15.0"--> <!-- groups="addons,odoo15.0"-->
<!-- />--> <!-- />-->
<project <project
name="odoo-cloud-platform.git" name="odoo-cloud-platform.git"
path="addons.odoo15.0/camptocamp_odoo-cloud-platform" path="odoo15.0/addons/camptocamp_odoo-cloud-platform"
remote="camptocamp" remote="camptocamp"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project
name="odoo-code-generator-template.git"
path="odoo15.0/addons/TechnoLibre_odoo-code-generator-template"
remote="ERPLibre_origin_TechnoLibre"
revision="15.0"
groups="addons,odoo15.0,code_generator,image_db"
/>
<project
name="odoo-code-generator.git"
path="odoo15.0/addons/TechnoLibre_odoo-code-generator"
remote="ERPLibre_origin_TechnoLibre"
revision="15.0"
groups="addons,odoo15.0,code_generator,image_db"
/>
<!-- <project--> <!-- <project-->
<!-- name="odoo-entertainment-addons.git"--> <!-- name="odoo-entertainment-addons.git"-->
<!-- path="addons.odoo15.0/Numigi_odoo-entertainment-addons"--> <!-- path="odoo15.0/addons/Numigi_odoo-entertainment-addons"-->
<!-- remote="Numigi"--> <!-- remote="Numigi"-->
<!-- revision="15.0"--> <!-- revision="15.0"-->
<!-- groups="addons,odoo15.0"--> <!-- groups="addons,odoo15.0"-->
<!-- />--> <!-- />-->
<project <project
name="odoo-formio.git" name="odoo-formio.git"
path="addons.odoo15.0/novacode-nl_odoo-formio" path="odoo15.0/addons/novacode-nl_odoo-formio"
remote="novacode-nl" remote="ERPLibre_origin_novacode-nl"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<!-- <project name="odoo-git-addons.git" path="addons.odoo15.0/Numigi_odoo-git-addons" remote="Numigi" revision="15.0" groups="addons,odoo15.0" />--> <!-- <project name="odoo-git-addons.git" path="odoo15.0/addons/Numigi_odoo-git-addons" remote="Numigi" revision="15.0" groups="addons,odoo15.0" />-->
<!-- <project name="odoo-hr-addons.git" path="addons.odoo15.0/Numigi_odoo-hr-addons" remote="Numigi" revision="15.0" groups="addons,odoo15.0" />--> <!-- <project name="odoo-hr-addons.git" path="odoo15.0/addons/Numigi_odoo-hr-addons" remote="Numigi" revision="15.0" groups="addons,odoo15.0" />-->
<project <project
name="odoo.git" name="odoo.git"
path="odoo15.0/odoo" path="odoo15.0/odoo"
@ -404,273 +422,273 @@
/> />
<!-- <project--> <!-- <project-->
<!-- name="odoo_addons.git"--> <!-- name="odoo_addons.git"-->
<!-- path="addons.odoo15.0/Smile-SA_odoo_addons"--> <!-- path="odoo15.0/addons/Smile-SA_odoo_addons"-->
<!-- remote="ERPLibre_origin_Smile-SA"--> <!-- remote="ERPLibre_origin_Smile-SA"-->
<!-- revision="15.0"--> <!-- revision="15.0"-->
<!-- groups="addons,odoo15.0"--> <!-- groups="addons,odoo15.0"-->
<!-- />--> <!-- />-->
<!-- <project--> <!-- <project-->
<!-- name="odoo_dhtmlxgantt.git"--> <!-- name="odoo_dhtmlxgantt.git"-->
<!-- path="addons.odoo15.0/obayit_odoo_dhtmlxgantt"--> <!-- path="odoo15.0/addons/obayit_odoo_dhtmlxgantt"-->
<!-- remote="obayit"--> <!-- remote="obayit"-->
<!-- revision="15.0"--> <!-- revision="15.0"-->
<!-- groups="addons,odoo15.0"--> <!-- groups="addons,odoo15.0"-->
<!-- />--> <!-- />-->
<project <project
name="odooapps.git" name="odooapps.git"
path="addons.odoo15.0/odoomates_odooapps" path="odoo15.0/addons/odoomates_odooapps"
remote="odoomates" remote="ERPLibre_origin_odoomates"
revision="15.0" revision="15.0_dev"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="odooplm.git" name="odooplm.git"
path="addons.odoo15.0/OmniaGit_odooplm" path="odoo15.0/addons/OmniaGit_odooplm"
remote="OmniaGit" remote="OmniaGit"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="openeducat_erp.git" name="openeducat_erp.git"
path="addons.odoo15.0/openeducat_openeducat_erp" path="odoo15.0/addons/openeducat_openeducat_erp"
remote="openeducat" remote="openeducat"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="operating-unit.git" name="operating-unit.git"
path="addons.odoo15.0/OCA_operating-unit" path="odoo15.0/addons/OCA_operating-unit"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="partner-contact.git" name="partner-contact.git"
path="addons.odoo15.0/OCA_partner-contact" path="odoo15.0/addons/OCA_partner-contact"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="pos-addons.git" name="pos-addons.git"
path="addons.odoo15.0/itpp-labs_pos-addons" path="odoo15.0/addons/itpp-labs_pos-addons"
remote="itpp-labs" remote="itpp-labs"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="pos.git" path="addons.odoo15.0/OCA_pos" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="pos.git" path="odoo15.0/addons/OCA_pos" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="product-attribute.git" name="product-attribute.git"
path="addons.odoo15.0/OCA_product-attribute" path="odoo15.0/addons/OCA_product-attribute"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="product-configurator.git" name="product-configurator.git"
path="addons.odoo15.0/OCA_product-configurator" path="odoo15.0/addons/OCA_product-configurator"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="product-pack.git" name="product-pack.git"
path="addons.odoo15.0/OCA_product-pack" path="odoo15.0/addons/OCA_product-pack"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="product-variant.git" name="product-variant.git"
path="addons.odoo15.0/OCA_product-variant" path="odoo15.0/addons/OCA_product-variant"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="project-reporting.git" name="project-reporting.git"
path="addons.odoo15.0/OCA_project-reporting" path="odoo15.0/addons/OCA_project-reporting"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="project-agile.git" name="project-agile.git"
path="addons.odoo15.0/OCA_project-agile" path="odoo15.0/addons/OCA_project-agile"
remote="OCA" remote="ERPLibre_origin_OCA"
revision="15.0" revision="15.0_dev"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="project.git" name="project.git"
path="addons.odoo15.0/OCA_project" path="odoo15.0/addons/OCA_project"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="purchase-workflow.git" name="purchase-workflow.git"
path="addons.odoo15.0/OCA_purchase-workflow" path="odoo15.0/addons/OCA_purchase-workflow"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="queue.git" path="addons.odoo15.0/OCA_queue" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="queue.git" path="odoo15.0/addons/OCA_queue" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="reporting-engine.git" name="reporting-engine.git"
path="addons.odoo15.0/OCA_reporting-engine" path="odoo15.0/addons/OCA_reporting-engine"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="rma.git" path="addons.odoo15.0/OCA_rma" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="rma.git" path="odoo15.0/addons/OCA_rma" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<project <project
name="saas-addons.git" name="saas-addons.git"
path="addons.odoo15.0/it-projects-llc_saas-addons" path="odoo15.0/addons/it-projects-llc_saas-addons"
remote="it-projects-llc" remote="it-projects-llc"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="sale-reporting.git" name="sale-reporting.git"
path="addons.odoo15.0/OCA_sale-reporting" path="odoo15.0/addons/OCA_sale-reporting"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="sale-workflow.git" name="sale-workflow.git"
path="addons.odoo15.0/OCA_sale-workflow" path="odoo15.0/addons/OCA_sale-workflow"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="server-auth.git" name="server-auth.git"
path="addons.odoo15.0/OCA_server-auth" path="odoo15.0/addons/OCA_server-auth"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="server-backend.git" name="server-backend.git"
path="addons.odoo15.0/OCA_server-backend" path="odoo15.0/addons/OCA_server-backend"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="server-brand.git" name="server-brand.git"
path="addons.odoo15.0/OCA_server-brand" path="odoo15.0/addons/OCA_server-brand"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="server-env.git" name="server-env.git"
path="addons.odoo15.0/OCA_server-env" path="odoo15.0/addons/OCA_server-env"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="server-tools.git" name="server-tools.git"
path="addons.odoo15.0/OCA_server-tools" path="odoo15.0/addons/OCA_server-tools"
remote="ERPLibre_origin_OCA" remote="ERPLibre_origin_OCA"
revision="15.0_dev" revision="15.0_dev"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="server-ux.git" name="server-ux.git"
path="addons.odoo15.0/OCA_server-ux" path="odoo15.0/addons/OCA_server-ux"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="social.git" name="social.git"
path="addons.odoo15.0/OCA_social" path="odoo15.0/addons/OCA_social"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="survey.git" name="survey.git"
path="addons.odoo15.0/OCA_survey" path="odoo15.0/addons/OCA_survey"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="stock-logistics-warehouse.git" name="stock-logistics-warehouse.git"
path="addons.odoo15.0/OCA_stock-logistics-warehouse" path="odoo15.0/addons/OCA_stock-logistics-warehouse"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="storage.git" name="storage.git"
path="addons.odoo15.0/OCA_storage" path="odoo15.0/addons/OCA_storage"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="timesheet.git" name="timesheet.git"
path="addons.odoo15.0/OCA_timesheet" path="odoo15.0/addons/OCA_timesheet"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="vertical-association.git" name="vertical-association.git"
path="addons.odoo15.0/OCA_vertical-association" path="odoo15.0/addons/OCA_vertical-association"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="vertical-hotel.git" name="vertical-hotel.git"
path="addons.odoo15.0/OCA_vertical-hotel" path="odoo15.0/addons/OCA_vertical-hotel"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="vertical-isp.git" name="vertical-isp.git"
path="addons.odoo15.0/OCA_vertical-isp" path="odoo15.0/addons/OCA_vertical-isp"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="vertical-travel.git" name="vertical-travel.git"
path="addons.odoo15.0/OCA_vertical-travel" path="odoo15.0/addons/OCA_vertical-travel"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="web.git" path="addons.odoo15.0/OCA_web" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="web.git" path="odoo15.0/addons/OCA_web" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
<!-- <project--> <!-- <project-->
<!-- name="website-addons.git"--> <!-- name="website-addons.git"-->
<!-- path="addons.odoo15.0/itpp-labs_website-addons"--> <!-- path="odoo15.0/addons/itpp-labs_website-addons"-->
<!-- remote="itpp-labs"--> <!-- remote="itpp-labs"-->
<!-- revision="15.0"--> <!-- revision="15.0"-->
<!-- groups="addons,odoo15.0"--> <!-- groups="addons,odoo15.0"-->
<!-- />--> <!-- />-->
<project <project
name="website-cms.git" name="website-cms.git"
path="addons.odoo15.0/OCA_website-cms" path="odoo15.0/addons/OCA_website-cms"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project <project
name="website.git" name="website.git"
path="addons.odoo15.0/OCA_website" path="odoo15.0/addons/OCA_website"
remote="OCA" remote="OCA"
revision="15.0" revision="15.0"
groups="addons,odoo15.0" groups="addons,odoo15.0"
/> />
<project name="wms.git" path="addons.odoo15.0/OCA_wms" remote="OCA" revision="15.0" groups="addons,odoo15.0" /> <project name="wms.git" path="odoo15.0/addons/OCA_wms" remote="OCA" revision="15.0" groups="addons,odoo15.0" />
</manifest> </manifest>

View file

@ -2,11 +2,12 @@
<manifest> <manifest>
<remote name="odoo" fetch="https://github.com/odoo/" /> <remote name="odoo" fetch="https://github.com/odoo/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<project <project
name="OpenUpgrade.git" name="OpenUpgrade.git"
revision="15.0" revision="15.0_dev"
path="odoo15.0/OCA_OpenUpgrade" path="odoo15.0/OCA_OpenUpgrade"
remote="OCA" remote="ERPLibre_origin_OCA"
clone-depth="10" clone-depth="10"
groups="migration,odoo15.0" groups="migration,odoo15.0"
/> />

File diff suppressed because it is too large Load diff

View file

@ -2,11 +2,12 @@
<manifest> <manifest>
<remote name="odoo" fetch="https://github.com/odoo/" /> <remote name="odoo" fetch="https://github.com/odoo/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<project <project
name="OpenUpgrade.git" name="OpenUpgrade.git"
revision="16.0" revision="16.0_dev"
path="odoo16.0/OCA_OpenUpgrade" path="odoo16.0/OCA_OpenUpgrade"
remote="OCA" remote="ERPLibre_origin_OCA"
clone-depth="10" clone-depth="10"
groups="migration,odoo16.0" groups="migration,odoo16.0"
/> />

View file

@ -3,6 +3,7 @@
<remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" /> <remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" />
<remote name="ERPLibre" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre" fetch="https://github.com/ERPLibre/" />
<remote name="ERPLibre_origin_MathBenTech" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_MathBenTech" fetch="https://github.com/ERPLibre/" />
<remote name="ERPLibre_origin_TechnoLibre" fetch="https://github.com/ERPLibre/" />
<remote name="Numigi" fetch="https://github.com/Numigi/" /> <remote name="Numigi" fetch="https://github.com/Numigi/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="OmniaGit" fetch="https://github.com/OmniaGit/" /> <remote name="OmniaGit" fetch="https://github.com/OmniaGit/" />
@ -16,6 +17,7 @@
<remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" /> <remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" />
<remote name="muk-it" fetch="https://github.com/muk-it/" /> <remote name="muk-it" fetch="https://github.com/muk-it/" />
<remote name="novacode-nl" fetch="https://github.com/novacode-nl/" /> <remote name="novacode-nl" fetch="https://github.com/novacode-nl/" />
<remote name="ERPLibre_origin_novacode-nl" fetch="https://github.com/ERPLibre/" />
<remote name="obayit" fetch="https://github.com/obayit/" /> <remote name="obayit" fetch="https://github.com/obayit/" />
<remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" />
<remote name="odooaktiv" fetch="https://github.com/odooaktiv/" /> <remote name="odooaktiv" fetch="https://github.com/odooaktiv/" />
@ -26,14 +28,14 @@
<project <project
name="OpenHRMS.git" name="OpenHRMS.git"
path="addons.odoo17.0/CybroOdoo_OpenHRMS" path="odoo17.0/addons/CybroOdoo_OpenHRMS"
remote="CybroOdoo" remote="CybroOdoo"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="CybroAddons.git" name="CybroAddons.git"
path="addons.odoo17.0/CybroOdoo_CybroAddons" path="odoo17.0/addons/CybroOdoo_CybroAddons"
remote="CybroOdoo" remote="CybroOdoo"
clone-depth="1" clone-depth="1"
revision="17.0" revision="17.0"
@ -41,372 +43,394 @@
/> />
<project <project
name="account-analytic.git" name="account-analytic.git"
path="addons.odoo17.0/OCA_account-analytic" path="odoo17.0/addons/OCA_account-analytic"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-budgeting.git" name="account-budgeting.git"
path="addons.odoo17.0/OCA_account-budgeting" path="odoo17.0/addons/OCA_account-budgeting"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-closing.git" name="account-closing.git"
path="addons.odoo17.0/OCA_account-closing" path="odoo17.0/addons/OCA_account-closing"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-consolidation.git" name="account-consolidation.git"
path="addons.odoo17.0/OCA_account-consolidation" path="odoo17.0/addons/OCA_account-consolidation"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-financial-reporting.git" name="account-financial-reporting.git"
path="addons.odoo17.0/OCA_account-financial-reporting" path="odoo17.0/addons/OCA_account-financial-reporting"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-financial-tools.git" name="account-financial-tools.git"
path="addons.odoo17.0/OCA_account-financial-tools" path="odoo17.0/addons/OCA_account-financial-tools"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-fiscal-rule.git" name="account-fiscal-rule.git"
path="addons.odoo17.0/OCA_account-fiscal-rule" path="odoo17.0/addons/OCA_account-fiscal-rule"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-invoice-reporting.git" name="account-invoice-reporting.git"
path="addons.odoo17.0/OCA_account-invoice-reporting" path="odoo17.0/addons/OCA_account-invoice-reporting"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-invoicing.git" name="account-invoicing.git"
path="addons.odoo17.0/OCA_account-invoicing" path="odoo17.0/addons/OCA_account-invoicing"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-payment.git" name="account-payment.git"
path="addons.odoo17.0/OCA_account-payment" path="odoo17.0/addons/OCA_account-payment"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="account-reconcile.git" name="account-reconcile.git"
path="addons.odoo17.0/OCA_account-reconcile" path="odoo17.0/addons/OCA_account-reconcile"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="apps-store.git" name="apps-store.git"
path="addons.odoo17.0/OCA_apps-store" path="odoo17.0/addons/OCA_apps-store"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="bank-payment.git" name="bank-payment.git"
path="addons.odoo17.0/OCA_bank-payment" path="odoo17.0/addons/OCA_bank-payment"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="bank-statement-import.git" name="bank-statement-import.git"
path="addons.odoo17.0/OCA_bank-statement-import" path="odoo17.0/addons/OCA_bank-statement-import"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="brand.git" path="addons.odoo17.0/OCA_brand" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="brand.git" path="odoo17.0/addons/OCA_brand" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="business-requirement.git" name="business-requirement.git"
path="addons.odoo17.0/OCA_business-requirement" path="odoo17.0/addons/OCA_business-requirement"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="commission.git" name="commission.git"
path="addons.odoo17.0/OCA_commission" path="odoo17.0/addons/OCA_commission"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="calendar.git" name="calendar.git"
path="addons.odoo17.0/OCA_calendar" path="odoo17.0/addons/OCA_calendar"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="cetmix-tower.git" name="cetmix-tower.git"
path="addons.odoo17.0/cetmix_cetmix-tower" path="odoo17.0/addons/cetmix_cetmix-tower"
remote="cetmix" remote="cetmix"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="community-data-files.git" name="community-data-files.git"
path="addons.odoo17.0/OCA_community-data-files" path="odoo17.0/addons/OCA_community-data-files"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="connector-ecommerce.git" name="connector-ecommerce.git"
path="addons.odoo17.0/OCA_connector-ecommerce" path="odoo17.0/addons/OCA_connector-ecommerce"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="connector-interfaces.git" name="connector-interfaces.git"
path="addons.odoo17.0/OCA_connector-interfaces" path="odoo17.0/addons/OCA_connector-interfaces"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="connector-jira.git" name="connector-jira.git"
path="addons.odoo17.0/OCA_connector-jira" path="odoo17.0/addons/OCA_connector-jira"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="connector-telephony.git" name="connector-telephony.git"
path="addons.odoo17.0/OCA_connector-telephony" path="odoo17.0/addons/OCA_connector-telephony"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="connector.git" name="connector.git"
path="addons.odoo17.0/OCA_connector" path="odoo17.0/addons/OCA_connector"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="contract.git" name="contract.git"
path="addons.odoo17.0/OCA_contract" path="odoo17.0/addons/OCA_contract"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="credit-control.git" name="credit-control.git"
path="addons.odoo17.0/OCA_credit-control" path="odoo17.0/addons/OCA_credit-control"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="crm.git" path="addons.odoo17.0/OCA_crm" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="crm.git" path="odoo17.0/addons/OCA_crm" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="currency.git" name="currency.git"
path="addons.odoo17.0/OCA_currency" path="odoo17.0/addons/OCA_currency"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="data-protection.git" name="data-protection.git"
path="addons.odoo17.0/OCA_data-protection" path="odoo17.0/addons/OCA_data-protection"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="ddmrp.git" path="addons.odoo17.0/OCA_ddmrp" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="ddmrp.git" path="odoo17.0/addons/OCA_ddmrp" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project name="dms.git" path="odoo17.0/addons/OCA_dms" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="delivery-carrier.git" name="delivery-carrier.git"
path="addons.odoo17.0/OCA_delivery-carrier" path="odoo17.0/addons/OCA_delivery-carrier"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="deltatech.git" name="deltatech.git"
path="addons.odoo17.0/dhongu_deltatech" path="odoo17.0/addons/dhongu_deltatech"
remote="dhongu" remote="dhongu"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<!-- <project--> <project
<!-- name="development.git"--> name="development.git"
<!-- path="addons.odoo17.0/MathBenTech_development"--> revision="17.0"
<!-- remote="ERPLibre_origin_MathBenTech"--> path="odoo17.0/addons/MathBenTech_development"
<!-- revision="17.0"--> remote="ERPLibre_origin_MathBenTech"
<!-- groups="addons,base,odoo17.0"--> groups="addons,base,odoo17.0"
<!-- />--> />
<project <project
name="donation.git" name="donation.git"
path="addons.odoo17.0/OCA_donation" path="odoo17.0/addons/OCA_donation"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="e-commerce.git" name="e-commerce.git"
path="addons.odoo17.0/OCA_e-commerce" path="odoo17.0/addons/OCA_e-commerce"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="edi.git" path="addons.odoo17.0/OCA_edi" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="edi.git" path="odoo17.0/addons/OCA_edi" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<!-- <project--> <project
<!-- name="erplibre_addons.git"--> name="erplibre_addons.git"
<!-- path="addons.odoo17.0/ERPLibre_erplibre_addons"--> path="odoo17.0/addons/ERPLibre_erplibre_addons"
<!-- remote="ERPLibre"--> remote="ERPLibre"
<!-- revision="17.0"--> revision="17.0"
<!-- groups="addons,base,odoo17.0"--> groups="addons,base,odoo17.0"
<!-- />--> />
<project name="event.git" path="addons.odoo17.0/OCA_event" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="event.git" path="odoo17.0/addons/OCA_event" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="field-service.git" name="field-service.git"
path="addons.odoo17.0/OCA_field-service" path="odoo17.0/addons/OCA_field-service"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="fleet.git" path="addons.odoo17.0/OCA_fleet" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="fleet.git" path="odoo17.0/addons/OCA_fleet" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="geospatial.git" name="geospatial.git"
path="addons.odoo17.0/OCA_geospatial" path="odoo17.0/addons/OCA_geospatial"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="helpdesk.git" name="helpdesk.git"
path="addons.odoo17.0/OCA_helpdesk" path="odoo17.0/addons/OCA_helpdesk"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="hr.git" path="addons.odoo17.0/OCA_hr" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="hr.git" path="odoo17.0/addons/OCA_hr" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="hr-holidays.git" name="hr-holidays.git"
path="addons.odoo17.0/OCA_hr-holidays" path="odoo17.0/addons/OCA_hr-holidays"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="interface-github.git" name="interface-github.git"
path="addons.odoo17.0/OCA_interface-github" path="odoo17.0/addons/OCA_interface-github"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="knowledge.git" name="knowledge.git"
path="addons.odoo17.0/OCA_knowledge" path="odoo17.0/addons/OCA_knowledge"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="l10n-canada.git" name="l10n-canada.git"
path="addons.odoo17.0/OCA_l10n-canada" path="odoo17.0/addons/OCA_l10n-canada"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="maintenance.git" name="maintenance.git"
path="addons.odoo17.0/OCA_maintenance" path="odoo17.0/addons/OCA_maintenance"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="management-system.git" name="management-system.git"
path="addons.odoo17.0/OCA_management-system" path="odoo17.0/addons/OCA_management-system"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="manufacture.git" name="manufacture.git"
path="addons.odoo17.0/OCA_manufacture" path="odoo17.0/addons/OCA_manufacture"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="margin-analysis.git" name="margin-analysis.git"
path="addons.odoo17.0/OCA_margin-analysis" path="odoo17.0/addons/OCA_margin-analysis"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<!-- <project--> <!-- <project-->
<!-- name="medical-fhir.git"--> <!-- name="medical-fhir.git"-->
<!-- path="addons.odoo17.0/tegin_medical-fhir"--> <!-- path="odoo17.0/addons/tegin_medical-fhir"-->
<!-- remote="tegin"--> <!-- remote="tegin"-->
<!-- revision="17.0"--> <!-- revision="17.0"-->
<!-- groups="addons,odoo17.0"--> <!-- groups="addons,odoo17.0"-->
<!-- />--> <!-- />-->
<project <project
name="mis-builder.git" name="mis-builder.git"
path="addons.odoo17.0/OCA_mis-builder" path="odoo17.0/addons/OCA_mis-builder"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="multi-company.git" name="multi-company.git"
path="addons.odoo17.0/OCA_multi-company" path="odoo17.0/addons/OCA_multi-company"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<!-- <project--> <!-- <project-->
<!-- name="muk_web.git"--> <!-- name="muk_web.git"-->
<!-- path="addons.odoo17.0/muk-it_muk_web"--> <!-- path="odoo17.0/addons/muk-it_muk_web"-->
<!-- remote="muk-it"--> <!-- remote="muk-it"-->
<!-- revision="17.0"--> <!-- revision="17.0"-->
<!-- groups="addons,odoo17.0"--> <!-- groups="addons,odoo17.0"-->
<!-- />--> <!-- />-->
<!-- <project--> <!-- <project-->
<!-- name="odoo-business-spending-management-quebec-canada.git"--> <!-- name="odoo-business-spending-management-quebec-canada.git"-->
<!-- path="addons.odoo17.0/MathBenTech_odoo-business-spending-management-quebec-canada"--> <!-- path="odoo17.0/addons/MathBenTech_odoo-business-spending-management-quebec-canada"-->
<!-- remote="ERPLibre_origin_MathBenTech"--> <!-- remote="ERPLibre_origin_MathBenTech"-->
<!-- revision="17.0"--> <!-- revision="17.0"-->
<!-- groups="addons,base,odoo17.0"--> <!-- groups="addons,base,odoo17.0"-->
<!-- />--> <!-- />-->
<project <project
name="odoo-cloud-platform.git" name="odoo-cloud-platform.git"
path="addons.odoo17.0/camptocamp_odoo-cloud-platform" path="odoo17.0/addons/camptocamp_odoo-cloud-platform"
remote="camptocamp" remote="camptocamp"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project
name="odoo-code-generator-template.git"
path="odoo17.0/addons/TechnoLibre_odoo-code-generator-template"
remote="ERPLibre_origin_TechnoLibre"
revision="17.0"
groups="addons,odoo17.0,code_generator,image_db"
/>
<project
name="odoo-code-generator.git"
path="odoo17.0/addons/TechnoLibre_odoo-code-generator"
remote="ERPLibre_origin_TechnoLibre"
revision="17.0"
groups="addons,odoo17.0,code_generator,image_db"
/>
<project <project
name="odoo-formio.git" name="odoo-formio.git"
path="addons.odoo17.0/novacode-nl_odoo-formio" path="odoo17.0/addons/novacode-nl_odoo-formio"
remote="novacode-nl" remote="ERPLibre_origin_novacode-nl"
revision="17.0"
groups="addons,odoo17.0"
/>
<project
name="odoo-modules.git"
path="odoo17.0/addons/muk-it_odoo-modules"
remote="muk-it"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
@ -420,260 +444,253 @@
/> />
<project <project
name="odooapps.git" name="odooapps.git"
path="addons.odoo17.0/odoomates_odooapps" path="odoo17.0/addons/odoomates_odooapps"
remote="odoomates" remote="odoomates"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="odooplm.git" name="odooplm.git"
path="addons.odoo17.0/OmniaGit_odooplm" path="odoo17.0/addons/OmniaGit_odooplm"
remote="OmniaGit" remote="OmniaGit"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="openeducat_erp.git" name="openeducat_erp.git"
path="addons.odoo17.0/openeducat_openeducat_erp" path="odoo17.0/addons/openeducat_openeducat_erp"
remote="openeducat" remote="openeducat"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project
name="OpenUpgrade.git"
path="script/OCA_OpenUpgrade"
remote="OCA"
clone-depth="10"
revision="17.0"
groups="migration"
/>
<project <project
name="operating-unit.git" name="operating-unit.git"
path="addons.odoo17.0/OCA_operating-unit" path="odoo17.0/addons/OCA_operating-unit"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="partner-contact.git" name="partner-contact.git"
path="addons.odoo17.0/OCA_partner-contact" path="odoo17.0/addons/OCA_partner-contact"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="pos.git" path="addons.odoo17.0/OCA_pos" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="pos.git" path="odoo17.0/addons/OCA_pos" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="product-attribute.git" name="product-attribute.git"
path="addons.odoo17.0/OCA_product-attribute" path="odoo17.0/addons/OCA_product-attribute"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="product-configurator.git" name="product-configurator.git"
path="addons.odoo17.0/OCA_product-configurator" path="odoo17.0/addons/OCA_product-configurator"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="product-pack.git" name="product-pack.git"
path="addons.odoo17.0/OCA_product-pack" path="odoo17.0/addons/OCA_product-pack"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="product-variant.git" name="product-variant.git"
path="addons.odoo17.0/OCA_product-variant" path="odoo17.0/addons/OCA_product-variant"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="project-reporting.git" name="project-reporting.git"
path="addons.odoo17.0/OCA_project-reporting" path="odoo17.0/addons/OCA_project-reporting"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="project-agile.git" name="project-agile.git"
path="addons.odoo17.0/OCA_project-agile" path="odoo17.0/addons/OCA_project-agile"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="project.git" name="project.git"
path="addons.odoo17.0/OCA_project" path="odoo17.0/addons/OCA_project"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="purchase-workflow.git" name="purchase-workflow.git"
path="addons.odoo17.0/OCA_purchase-workflow" path="odoo17.0/addons/OCA_purchase-workflow"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="queue.git" path="addons.odoo17.0/OCA_queue" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="queue.git" path="odoo17.0/addons/OCA_queue" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="reporting-engine.git" name="reporting-engine.git"
path="addons.odoo17.0/OCA_reporting-engine" path="odoo17.0/addons/OCA_reporting-engine"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="rma.git" path="addons.odoo17.0/OCA_rma" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="rma.git" path="odoo17.0/addons/OCA_rma" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<!-- <project--> <!-- <project-->
<!-- name="saas-addons.git"--> <!-- name="saas-addons.git"-->
<!-- path="addons.odoo17.0/it-projects-llc_saas-addons"--> <!-- path="odoo17.0/addons/it-projects-llc_saas-addons"-->
<!-- remote="it-projects-llc"--> <!-- remote="it-projects-llc"-->
<!-- revision="17.0"--> <!-- revision="17.0"-->
<!-- groups="addons,odoo17.0"--> <!-- groups="addons,odoo17.0"-->
<!-- />--> <!-- />-->
<project <project
name="sale-reporting.git" name="sale-reporting.git"
path="addons.odoo17.0/OCA_sale-reporting" path="odoo17.0/addons/OCA_sale-reporting"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="sale-workflow.git" name="sale-workflow.git"
path="addons.odoo17.0/OCA_sale-workflow" path="odoo17.0/addons/OCA_sale-workflow"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="server-auth.git" name="server-auth.git"
path="addons.odoo17.0/OCA_server-auth" path="odoo17.0/addons/OCA_server-auth"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="server-backend.git" name="server-backend.git"
path="addons.odoo17.0/OCA_server-backend" path="odoo17.0/addons/OCA_server-backend"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="server-brand.git" name="server-brand.git"
path="addons.odoo17.0/OCA_server-brand" path="odoo17.0/addons/OCA_server-brand"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="server-env.git" name="server-env.git"
path="addons.odoo17.0/OCA_server-env" path="odoo17.0/addons/OCA_server-env"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="server-tools.git" name="server-tools.git"
path="addons.odoo17.0/OCA_server-tools" path="odoo17.0/addons/OCA_server-tools"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="server-ux.git" name="server-ux.git"
path="addons.odoo17.0/OCA_server-ux" path="odoo17.0/addons/OCA_server-ux"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="sign.git" revision="17.0" path="odoo17.0/addons/OCA_sign" remote="OCA" groups="addons,odoo17.0" />
<project <project
name="shift-planning.git" name="shift-planning.git"
path="addons.odoo17.0/OCA_shift-planning" path="odoo17.0/addons/OCA_shift-planning"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="social.git" name="social.git"
path="addons.odoo17.0/OCA_social" path="odoo17.0/addons/OCA_social"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="survey.git" name="survey.git"
path="addons.odoo17.0/OCA_survey" path="odoo17.0/addons/OCA_survey"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="stock-logistics-warehouse.git" name="stock-logistics-warehouse.git"
path="addons.odoo17.0/OCA_stock-logistics-warehouse" path="odoo17.0/addons/OCA_stock-logistics-warehouse"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="storage.git" name="storage.git"
path="addons.odoo17.0/OCA_storage" path="odoo17.0/addons/OCA_storage"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="timesheet.git" name="timesheet.git"
path="addons.odoo17.0/OCA_timesheet" path="odoo17.0/addons/OCA_timesheet"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="vertical-association.git" name="vertical-association.git"
path="addons.odoo17.0/OCA_vertical-association" path="odoo17.0/addons/OCA_vertical-association"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="vertical-hotel.git" name="vertical-hotel.git"
path="addons.odoo17.0/OCA_vertical-hotel" path="odoo17.0/addons/OCA_vertical-hotel"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="vertical-isp.git" name="vertical-isp.git"
path="addons.odoo17.0/OCA_vertical-isp" path="odoo17.0/addons/OCA_vertical-isp"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="vertical-travel.git" name="vertical-travel.git"
path="addons.odoo17.0/OCA_vertical-travel" path="odoo17.0/addons/OCA_vertical-travel"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="web.git" path="addons.odoo17.0/OCA_web" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="web.git" path="odoo17.0/addons/OCA_web" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
<project <project
name="website-cms.git" name="website-cms.git"
path="addons.odoo17.0/OCA_website-cms" path="odoo17.0/addons/OCA_website-cms"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project <project
name="website.git" name="website.git"
path="addons.odoo17.0/OCA_website" path="odoo17.0/addons/OCA_website"
remote="OCA" remote="OCA"
revision="17.0" revision="17.0"
groups="addons,odoo17.0" groups="addons,odoo17.0"
/> />
<project name="wms.git" path="addons.odoo17.0/OCA_wms" remote="OCA" revision="17.0" groups="addons,odoo17.0" /> <project name="wms.git" path="odoo17.0/addons/OCA_wms" remote="OCA" revision="17.0" groups="addons,odoo17.0" />
</manifest> </manifest>

View file

@ -2,11 +2,12 @@
<manifest> <manifest>
<remote name="odoo" fetch="https://github.com/odoo/" /> <remote name="odoo" fetch="https://github.com/odoo/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<project <project
name="OpenUpgrade.git" name="OpenUpgrade.git"
revision="17.0" revision="17.0_dev"
path="odoo17.0/OCA_OpenUpgrade" path="odoo17.0/OCA_OpenUpgrade"
remote="OCA" remote="ERPLibre_origin_OCA"
clone-depth="10" clone-depth="10"
groups="migration,odoo17.0" groups="migration,odoo17.0"
/> />

View file

@ -3,11 +3,16 @@
<remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" /> <remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/" />
<remote name="ERPLibre" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre" fetch="https://github.com/ERPLibre/" />
<remote name="ERPLibre_origin_MathBenTech" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_MathBenTech" fetch="https://github.com/ERPLibre/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<remote name="ERPLibre_origin_CybroOdoo" fetch="https://github.com/ERPLibre/" />
<remote name="ERPLibre_origin_TechnoLibre" fetch="https://github.com/ERPLibre/" />
<remote name="Numigi" fetch="https://github.com/Numigi/" /> <remote name="Numigi" fetch="https://github.com/Numigi/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="OmniaGit" fetch="https://github.com/OmniaGit/" /> <remote name="OmniaGit" fetch="https://github.com/OmniaGit/" />
<remote name="TechnoLibre" fetch="https://github.com/TechnoLibre/" /> <remote name="TechnoLibre" fetch="https://github.com/TechnoLibre/" />
<remote name="ajepe" fetch="https://github.com/ajepe/" /> <remote name="ajepe" fetch="https://github.com/ajepe/" />
<remote name="bemade" fetch="https://git.bemade.org/bemade/" />
<remote name="ERPLibre_origin_bemade" fetch="https://eregion.chezlepro.ca/TechnoLibre/" />
<remote name="camptocamp" fetch="https://github.com/camptocamp/" /> <remote name="camptocamp" fetch="https://github.com/camptocamp/" />
<remote name="cetmix" fetch="https://github.com/cetmix/" /> <remote name="cetmix" fetch="https://github.com/cetmix/" />
<remote name="dhongu" fetch="https://github.com/dhongu/" /> <remote name="dhongu" fetch="https://github.com/dhongu/" />
@ -15,7 +20,9 @@
<remote name="itpp-labs" fetch="https://github.com/itpp-labs/" /> <remote name="itpp-labs" fetch="https://github.com/itpp-labs/" />
<remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" /> <remote name="kinjal-sorathiya" fetch="https://github.com/kinjal-sorathiya/" />
<remote name="muk-it" fetch="https://github.com/muk-it/" /> <remote name="muk-it" fetch="https://github.com/muk-it/" />
<remote name="TechnoLibre_origin_muk-it" fetch="https://github.com/TechnoLibre/" />
<remote name="novacode-nl" fetch="https://github.com/novacode-nl/" /> <remote name="novacode-nl" fetch="https://github.com/novacode-nl/" />
<remote name="ERPLibre_origin_novacode-nl" fetch="https://github.com/ERPLibre/" />
<remote name="obayit" fetch="https://github.com/obayit/" /> <remote name="obayit" fetch="https://github.com/obayit/" />
<remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" /> <remote name="ERPLibre_origin_odoo" fetch="https://github.com/ERPLibre/" />
<remote name="odooaktiv" fetch="https://github.com/odooaktiv/" /> <remote name="odooaktiv" fetch="https://github.com/odooaktiv/" />
@ -27,383 +34,412 @@
<project <project
name="OpenHRMS.git" name="OpenHRMS.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/CybroOdoo_OpenHRMS" path="odoo18.0/addons/CybroOdoo_OpenHRMS"
remote="CybroOdoo" remote="CybroOdoo"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project--> <project
<!-- name="CybroAddons.git"--> name="CybroAddons.git"
<!-- revision="18.0" path="addons.odoo18.0/CybroOdoo_CybroAddons"--> path="odoo18.0/addons/CybroOdoo_CybroAddons"
<!-- remote="ERPLibre"--> remote="ERPLibre_origin_CybroOdoo"
<!-- clone-depth="1"--> clone-depth="1"
<!-- revision="18.0_dev"--> revision="18.0_dev"
<!-- groups="addons,odoo18.0"--> groups="addons,odoo18.0"
<!-- />--> />
<project <project
name="account-analytic.git" name="account-analytic.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-analytic" path="odoo18.0/addons/OCA_account-analytic"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-budgeting.git" name="account-budgeting.git"
revision="18.0" revision="18.0-mig-account_budget_oca"
path="addons.odoo18.0/OCA_account-budgeting" path="odoo18.0/addons/OCA_account-budgeting"
remote="OCA" remote="ERPLibre_origin_OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-closing.git" name="account-closing.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-closing" path="odoo18.0/addons/OCA_account-closing"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-consolidation.git" name="account-consolidation.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-consolidation" path="odoo18.0/addons/OCA_account-consolidation"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-financial-reporting.git" name="account-financial-reporting.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-financial-reporting" path="odoo18.0/addons/OCA_account-financial-reporting"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-financial-tools.git" name="account-financial-tools.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-financial-tools" path="odoo18.0/addons/OCA_account-financial-tools"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-fiscal-rule.git" name="account-fiscal-rule.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-fiscal-rule" path="odoo18.0/addons/OCA_account-fiscal-rule"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-invoice-reporting.git" name="account-invoice-reporting.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-invoice-reporting" path="odoo18.0/addons/OCA_account-invoice-reporting"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-invoicing.git" name="account-invoicing.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-invoicing" path="odoo18.0/addons/OCA_account-invoicing"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-payment.git" name="account-payment.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-payment" path="odoo18.0/addons/OCA_account-payment"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="account-reconcile.git" name="account-reconcile.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_account-reconcile" path="odoo18.0/addons/OCA_account-reconcile"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="apps-store.git" name="apps-store.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_apps-store" path="odoo18.0/addons/OCA_apps-store"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="bank-payment.git" name="bank-payment.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_bank-payment" path="odoo18.0/addons/OCA_bank-payment"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="bank-statement-import.git" name="bank-statement-import.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_bank-statement-import" path="odoo18.0/addons/OCA_bank-statement-import"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="bank-payment-alternative.git" name="bank-payment-alternative.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_bank-payment-alternative" path="odoo18.0/addons/OCA_bank-payment-alternative"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="brand.git" revision="18.0" path="addons.odoo18.0/OCA_brand" remote="OCA" groups="addons,odoo18.0" /> <project
name="bemade-addons.git"
revision="18.0_dev"
path="odoo18.0/addons/bemade_bemade-addons"
remote="ERPLibre_origin_bemade"
groups="addons,odoo18.0"
/>
<project name="brand.git" revision="18.0" path="odoo18.0/addons/OCA_brand" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="business-requirement.git" name="business-requirement.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_business-requirement" path="odoo18.0/addons/OCA_business-requirement"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="commission.git" name="commission.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_commission" path="odoo18.0/addons/OCA_commission"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="calendar.git" name="calendar.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_calendar" path="odoo18.0/addons/OCA_calendar"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project name="cetmix-tower.git" revision="18.0" path="addons.odoo18.0/cetmix_cetmix-tower" remote="cetmix" groups="addons,odoo18.0" />--> <!-- <project name="cetmix-tower.git" revision="18.0" path="odoo18.0/addons/cetmix_cetmix-tower" remote="cetmix" groups="addons,odoo18.0" />-->
<project <project
name="community-data-files.git" name="community-data-files.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_community-data-files" path="odoo18.0/addons/OCA_community-data-files"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="connector-ecommerce.git" name="connector-ecommerce.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_connector-ecommerce" path="odoo18.0/addons/OCA_connector-ecommerce"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="connector-interfaces.git" name="connector-interfaces.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_connector-interfaces" path="odoo18.0/addons/OCA_connector-interfaces"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="connector-jira.git" name="connector-jira.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_connector-jira" path="odoo18.0/addons/OCA_connector-jira"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="connector-telephony.git" name="connector-telephony.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_connector-telephony" path="odoo18.0/addons/OCA_connector-telephony"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="connector.git" name="connector.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_connector" path="odoo18.0/addons/OCA_connector"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="contract.git" name="contract.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_contract" path="odoo18.0/addons/OCA_contract"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="credit-control.git" name="credit-control.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_credit-control" path="odoo18.0/addons/OCA_credit-control"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="crowdfunding.git" name="crowdfunding.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_crowdfunding" path="odoo18.0/addons/OCA_crowdfunding"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="crm.git" revision="18.0" path="addons.odoo18.0/OCA_crm" remote="OCA" groups="addons,odoo18.0" /> <project name="crm.git" revision="18.0" path="odoo18.0/addons/OCA_crm" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="currency.git" name="currency.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_currency" path="odoo18.0/addons/OCA_currency"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="data-protection.git" name="data-protection.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_data-protection" path="odoo18.0/addons/OCA_data-protection"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="ddmrp.git" revision="18.0" path="addons.odoo18.0/OCA_ddmrp" remote="OCA" groups="addons,odoo18.0" /> <project name="ddmrp.git" revision="18.0" path="odoo18.0/addons/OCA_ddmrp" remote="OCA" groups="addons,odoo18.0" />
<project name="dms.git" revision="18.0" path="addons.odoo18.0/OCA_dms" remote="OCA" groups="addons,odoo18.0" /> <project name="dms.git" revision="18.0" path="odoo18.0/addons/OCA_dms" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="delivery-carrier.git" name="delivery-carrier.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_delivery-carrier" path="odoo18.0/addons/OCA_delivery-carrier"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="deltatech.git" name="deltatech.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/dhongu_deltatech" path="odoo18.0/addons/dhongu_deltatech"
remote="dhongu" remote="dhongu"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project--> <project
<!-- name="development.git"--> name="development.git"
<!-- revision="18.0" path="addons.odoo18.0/MathBenTech_development"--> revision="18.0"
<!-- remote="ERPLibre_origin_MathBenTech"--> path="odoo18.0/addons/MathBenTech_development"
<!-- groups="addons,base,odoo18.0"--> remote="ERPLibre_origin_MathBenTech"
<!-- />--> groups="addons,base,odoo18.0"
/>
<project <project
name="donation.git" name="donation.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_donation" path="odoo18.0/addons/OCA_donation"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="e-commerce.git" name="e-commerce.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_e-commerce" path="odoo18.0/addons/OCA_e-commerce"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="edi.git" revision="18.0" path="addons.odoo18.0/OCA_edi" remote="OCA" groups="addons,odoo18.0" /> <project name="edi.git" revision="18.0" path="odoo18.0/addons/OCA_edi" remote="OCA" groups="addons,odoo18.0" />
<!-- <project--> <project
<!-- name="erplibre_addons.git"--> name="erplibre_addons.git"
<!-- revision="18.0" path="addons.odoo18.0/ERPLibre_erplibre_addons"--> revision="18.0"
<!-- remote="ERPLibre"--> path="odoo18.0/addons/ERPLibre_erplibre_addons"
<!-- groups="addons,base,odoo18.0"--> remote="ERPLibre"
<!-- />--> groups="addons,base,odoo18.0"
<project name="event.git" revision="18.0" path="addons.odoo18.0/OCA_event" remote="OCA" groups="addons,odoo18.0" /> />
<project name="event.git" revision="18.0" path="odoo18.0/addons/OCA_event" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="field-service.git" name="field-service.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_field-service" path="odoo18.0/addons/OCA_field-service"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="fleet.git" revision="18.0" path="addons.odoo18.0/OCA_fleet" remote="OCA" groups="addons,odoo18.0" /> <project name="fleet.git" revision="18.0" path="odoo18.0/addons/OCA_fleet" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="geospatial.git" name="geospatial.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_geospatial" path="odoo18.0/addons/OCA_geospatial"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="helpdesk.git" name="helpdesk.git"
revision="18.0" revision="18.0_dev"
path="addons.odoo18.0/OCA_helpdesk" path="odoo18.0/addons/OCA_helpdesk"
remote="OCA" remote="ERPLibre_origin_OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="hr.git" revision="18.0" path="addons.odoo18.0/OCA_hr" remote="OCA" groups="addons,odoo18.0" /> <project name="hr.git" revision="18.0" path="odoo18.0/addons/OCA_hr" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="hr-holidays.git" name="hr-holidays.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_hr-holidays" path="odoo18.0/addons/OCA_hr-holidays"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="interface-github.git" name="interface-github.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_interface-github" path="odoo18.0/addons/OCA_interface-github"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="knowledge.git" name="knowledge.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_knowledge" path="odoo18.0/addons/OCA_knowledge"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="l10n-canada.git" name="l10n-canada.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_l10n-canada" path="odoo18.0/addons/OCA_l10n-canada"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="maintenance.git" name="maintenance.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_maintenance" path="odoo18.0/addons/OCA_maintenance"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="mail.git" revision="18.0" path="addons.odoo18.0/OCA_mail" remote="OCA" groups="addons,odoo18.0" /> <project name="mail.git" revision="18.0" path="odoo18.0/addons/OCA_mail" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="management-system.git" name="management-system.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_management-system" path="odoo18.0/addons/OCA_management-system"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="manufacture.git" name="manufacture.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_manufacture" path="odoo18.0/addons/OCA_manufacture"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="margin-analysis.git" name="margin-analysis.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_margin-analysis" path="odoo18.0/addons/OCA_margin-analysis"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project name="medical-fhir.git" revision="18.0" path="addons.odoo18.0/tegin_medical-fhir" remote="tegin" groups="addons,odoo18.0" />--> <!-- <project name="medical-fhir.git" revision="18.0" path="odoo18.0/addons/tegin_medical-fhir" remote="tegin" groups="addons,odoo18.0" />-->
<project <project
name="mis-builder.git" name="mis-builder.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_mis-builder" path="odoo18.0/addons/OCA_mis-builder"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="multi-company.git" name="multi-company.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_multi-company" path="odoo18.0/addons/OCA_multi-company"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project name="muk_web.git" revision="18.0" path="addons.odoo18.0/muk-it_muk_web" remote="muk-it" groups="addons,odoo18.0" />--> <!-- <project name="muk_web.git" revision="18.0" path="odoo18.0/addons/muk-it_muk_web" remote="muk-it" groups="addons,odoo18.0" />-->
<!-- <project--> <!-- <project-->
<!-- name="odoo-business-spending-management-quebec-canada.git"--> <!-- name="odoo-business-spending-management-quebec-canada.git"-->
<!-- revision="18.0" path="addons.odoo18.0/MathBenTech_odoo-business-spending-management-quebec-canada"--> <!-- revision="18.0" path="odoo18.0/addons/MathBenTech_odoo-business-spending-management-quebec-canada"-->
<!-- remote="ERPLibre_origin_MathBenTech"--> <!-- remote="ERPLibre_origin_MathBenTech"-->
<!-- groups="addons,base,odoo18.0"--> <!-- groups="addons,base,odoo18.0"-->
<!-- />--> <!-- />-->
<project <project
name="odoo-cloud-platform.git" name="odoo-cloud-platform.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/camptocamp_odoo-cloud-platform" path="odoo18.0/addons/camptocamp_odoo-cloud-platform"
remote="camptocamp" remote="camptocamp"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project
name="odoo-code-generator-template.git"
path="odoo18.0/addons/TechnoLibre_odoo-code-generator-template"
remote="ERPLibre_origin_TechnoLibre"
revision="18.0"
groups="addons,odoo18.0,code_generator,image_db"
/>
<project
name="odoo-code-generator.git"
path="odoo18.0/addons/TechnoLibre_odoo-code-generator"
remote="ERPLibre_origin_TechnoLibre"
revision="18.0"
groups="addons,odoo18.0,code_generator,image_db"
/>
<project <project
name="odoo-formio.git" name="odoo-formio.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/novacode-nl_odoo-formio" path="odoo18.0/addons/novacode-nl_odoo-formio"
remote="novacode-nl" remote="ERPLibre_origin_novacode-nl"
groups="addons,odoo18.0"
/>
<project
name="muk-it_odoo-modules.git"
path="odoo18.0/addons/muk-it_odoo-modules"
remote="TechnoLibre_origin_muk-it"
revision="18.0"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
@ -417,258 +453,271 @@
<project <project
name="odooapps.git" name="odooapps.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/odoomates_odooapps" path="odoo18.0/addons/odoomates_odooapps"
remote="odoomates" remote="odoomates"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="odooplm.git" name="odooplm.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OmniaGit_odooplm" path="odoo18.0/addons/OmniaGit_odooplm"
remote="OmniaGit" remote="OmniaGit"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="openeducat_erp.git" name="openeducat_erp.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/openeducat_openeducat_erp" path="odoo18.0/addons/openeducat_openeducat_erp"
remote="openeducat" remote="openeducat"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="operating-unit.git" name="operating-unit.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_operating-unit" path="odoo18.0/addons/OCA_operating-unit"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="partner-contact.git" name="partner-contact.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_partner-contact" path="odoo18.0/addons/OCA_partner-contact"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="pos.git" revision="18.0" path="addons.odoo18.0/OCA_pos" remote="OCA" groups="addons,odoo18.0" /> <project name="pos.git" revision="18.0" path="odoo18.0/addons/OCA_pos" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="product-attribute.git" name="product-attribute.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_product-attribute" path="odoo18.0/addons/OCA_product-attribute"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="product-configurator.git" name="product-configurator.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_product-configurator" path="odoo18.0/addons/OCA_product-configurator"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="product-pack.git" name="product-pack.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_product-pack" path="odoo18.0/addons/OCA_product-pack"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="product-variant.git" name="product-variant.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_product-variant" path="odoo18.0/addons/OCA_product-variant"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="project-reporting.git" name="project-reporting.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_project-reporting" path="odoo18.0/addons/OCA_project-reporting"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="project-agile.git" name="project-agile.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_project-agile" path="odoo18.0/addons/OCA_project-agile"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="project.git" name="project.git"
revision="18.0" revision="18.0_dev"
path="addons.odoo18.0/OCA_project" path="odoo18.0/addons/OCA_project"
remote="OCA" remote="ERPLibre_origin_OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="purchase-workflow.git" name="purchase-workflow.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_purchase-workflow" path="odoo18.0/addons/OCA_purchase-workflow"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="queue.git" revision="18.0" path="addons.odoo18.0/OCA_queue" remote="OCA" groups="addons,odoo18.0" /> <project name="queue.git" revision="18.0" path="odoo18.0/addons/OCA_queue" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="reporting-engine.git" name="reporting-engine.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_reporting-engine" path="odoo18.0/addons/OCA_reporting-engine"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="rma.git" revision="18.0" path="addons.odoo18.0/OCA_rma" remote="OCA" groups="addons,odoo18.0" /> <project name="rma.git" revision="18.0" path="odoo18.0/addons/OCA_rma" remote="OCA" groups="addons,odoo18.0" />
<!-- <project--> <!-- <project-->
<!-- name="saas-addons.git"--> <!-- name="saas-addons.git"-->
<!-- revision="18.0" path="addons.odoo18.0/it-projects-llc_saas-addons"--> <!-- revision="18.0" path="odoo18.0/addons/it-projects-llc_saas-addons"-->
<!-- remote="it-projects-llc"--> <!-- remote="it-projects-llc"-->
<!-- groups="addons,odoo18.0"--> <!-- groups="addons,odoo18.0"-->
<!-- />--> <!-- />-->
<project <project
name="sale-reporting.git" name="sale-reporting.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_sale-reporting" path="odoo18.0/addons/OCA_sale-reporting"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="sale-workflow.git" name="sale-workflow.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_sale-workflow" path="odoo18.0/addons/OCA_sale-workflow"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="server-auth.git" name="server-auth.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_server-auth" path="odoo18.0/addons/OCA_server-auth"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="server-backend.git" name="server-backend.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_server-backend" path="odoo18.0/addons/OCA_server-backend"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="server-brand.git" name="server-brand.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_server-brand" path="odoo18.0/addons/OCA_server-brand"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="server-env.git" name="server-env.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_server-env" path="odoo18.0/addons/OCA_server-env"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project--> <project
<!-- name="server-tools.git"--> name="server-tools.git"
<!-- revision="18.0" path="addons.odoo18.0/OCA_server-tools"--> revision="18.0_dev"
<!-- remote="ERPLibre"--> path="odoo18.0/addons/OCA_server-tools"
<!-- revision="ERPLibre/18.0"--> remote="ERPLibre_origin_OCA"
<!-- groups="addons,odoo18.0"--> groups="addons,odoo18.0"
<!-- />--> />
<project <project
name="server-ux.git" name="server-ux.git"
revision="18.0" revision="18.0_fix_base_tier_validation_message_repetition"
path="addons.odoo18.0/OCA_server-ux" path="odoo18.0/addons/OCA_server-ux"
remote="OCA" remote="ERPLibre_origin_OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project--> <!-- <project-->
<!-- name="shift-planning.git"--> <!-- name="shift-planning.git"-->
<!-- revision="18.0" path="addons.odoo18.0/OCA_shift-planning"--> <!-- revision="18.0" path="odoo18.0/addons/OCA_shift-planning"-->
<!-- remote="ERPLibre"--> <!-- remote="ERPLibre"-->
<!-- revision="18.0_dev"--> <!-- revision="18.0_dev"-->
<!-- groups="addons,odoo18.0"--> <!-- groups="addons,odoo18.0"-->
<!-- />--> <!-- />-->
<project name="sign.git" revision="18.0" path="odoo18.0/addons/OCA_sign" remote="OCA" groups="addons,odoo18.0" />
<project <project
name="social.git" name="spreadsheet.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_social" path="odoo18.0/addons/OCA_spreadsheet"
remote="OCA"
groups="addons,odoo18.0"
/>
<project
name="social.git"
revision="18.0"
path="odoo18.0/addons/OCA_social"
remote="OCA"
groups="addons,odoo18.0"
/>
<project
name="survey.git"
revision="18.0"
path="odoo18.0/addons/OCA_survey"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project-->
<!-- name="survey.git"-->
<!-- revision="18.0" path="addons.odoo18.0/OCA_survey"-->
<!-- remote="ERPLibre"-->
<!-- revision="18.0_dev"-->
<!-- groups="addons,odoo18.0"-->
<!-- />-->
<project <project
name="stock-logistics-putaway.git" name="stock-logistics-putaway.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_stock-logistics-putaway" path="odoo18.0/addons/OCA_stock-logistics-putaway"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="stock-logistics-warehouse.git" name="stock-logistics-warehouse.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_stock-logistics-warehouse" path="odoo18.0/addons/OCA_stock-logistics-warehouse"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="storage.git" name="storage.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_storage" path="odoo18.0/addons/OCA_storage"
remote="OCA"
groups="addons,odoo18.0"
/>
<project
name="timesheet.git"
revision="18.0"
path="odoo18.0/addons/OCA_timesheet"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<!-- <project-->
<!-- name="timesheet.git"-->
<!-- revision="18.0" path="addons.odoo18.0/OCA_timesheet"-->
<!-- remote="ERPLibre"-->
<!-- revision="18.0_dev"-->
<!-- groups="addons,odoo18.0"-->
<!-- />-->
<project <project
name="vertical-association.git" name="vertical-association.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_vertical-association" path="odoo18.0/addons/OCA_vertical-association"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="vertical-hotel.git" name="vertical-hotel.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_vertical-hotel" path="odoo18.0/addons/OCA_vertical-hotel"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="vertical-isp.git" name="vertical-isp.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_vertical-isp" path="odoo18.0/addons/OCA_vertical-isp"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="vertical-travel.git" name="vertical-travel.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_vertical-travel" path="odoo18.0/addons/OCA_vertical-travel"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="web.git" revision="18.0" path="addons.odoo18.0/OCA_web" remote="OCA" groups="addons,odoo18.0" /> <project
name="web.git"
revision="18.0_dev"
path="odoo18.0/addons/OCA_web"
remote="ERPLibre_origin_OCA"
groups="addons,odoo18.0"
/>
<project <project
name="website-cms.git" name="website-cms.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_website-cms" path="odoo18.0/addons/OCA_website-cms"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project <project
name="website.git" name="website.git"
revision="18.0" revision="18.0"
path="addons.odoo18.0/OCA_website" path="odoo18.0/addons/OCA_website"
remote="OCA" remote="OCA"
groups="addons,odoo18.0" groups="addons,odoo18.0"
/> />
<project name="wms.git" revision="18.0" path="addons.odoo18.0/OCA_wms" remote="OCA" groups="addons,odoo18.0" /> <project name="wms.git" revision="18.0" path="odoo18.0/addons/OCA_wms" remote="OCA" groups="addons,odoo18.0" />
</manifest> </manifest>

View file

@ -2,11 +2,12 @@
<manifest> <manifest>
<remote name="odoo" fetch="https://github.com/odoo/" /> <remote name="odoo" fetch="https://github.com/odoo/" />
<remote name="OCA" fetch="https://github.com/OCA/" /> <remote name="OCA" fetch="https://github.com/OCA/" />
<remote name="ERPLibre_origin_OCA" fetch="https://github.com/ERPLibre/" />
<project <project
name="OpenUpgrade.git" name="OpenUpgrade.git"
revision="18.0" revision="18.0_dev"
path="odoo18.0/OCA_OpenUpgrade" path="odoo18.0/OCA_OpenUpgrade"
remote="OCA" remote="ERPLibre_origin_OCA"
clone-depth="10" clone-depth="10"
groups="migration,odoo18.0" groups="migration,odoo18.0"
/> />

View file

@ -23,10 +23,14 @@ aioshutil
openai openai
humanize humanize
requests requests
urwid
dateutil
# Force upgrade package to fix Ubuntu 25.04 # Force upgrade package to fix Ubuntu 25.04
virtualenv==20.30.0 virtualenv==20.30.0
# For logical test and quality # For logical test and quality
git+https://github.com/psf/black.git@24.8.0 git+https://github.com/psf/black.git@24.8.0
pre-commit pre-commit
odoo-module-migrator

View file

@ -21,3 +21,4 @@ suds-jurko
vatnumber vatnumber
dns dns
pypiwin32 pypiwin32
rfc6266_parser

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -232,13 +232,13 @@ files = [
[[package]] [[package]]
name = "asn1crypto" name = "asn1crypto"
version = "1.4.0" version = "1.5.1"
description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
{file = "asn1crypto-1.4.0-py2.py3-none-any.whl", hash = "sha256:4bcdf33c861c7d40bdcd74d8e4dd7661aac320fcdf40b9a3f95b4ee12fde2fa8"}, {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"},
{file = "asn1crypto-1.4.0.tar.gz", hash = "sha256:f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c"}, {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"},
] ]
[[package]] [[package]]
@ -723,41 +723,15 @@ files = [
[package.dependencies] [package.dependencies]
numpy = "*" numpy = "*"
[[package]]
name = "cbor2"
version = "5.4.2"
description = "Pure Python CBOR (de)serializer with extensive tag support"
optional = false
python-versions = ">=3.6"
files = [
{file = "cbor2-5.4.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:0153635a78e62d70f26f5b3469cb8de822420eda69c996304fb3d0dc1a53d7f3"},
{file = "cbor2-5.4.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70fb47a4bca70ae2d1b2b6c9d5ed6c898494739966653f7c84737f795b26d754"},
{file = "cbor2-5.4.2-cp36-cp36m-win_amd64.whl", hash = "sha256:10f178697e66eaae51534c3ef9acce1abf2f747e63c841e8702b9453c5bc4cfe"},
{file = "cbor2-5.4.2-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:4c112b21fad53b2d936ef2d55c698641a6d49025c1a9cf73db3ef24684514db1"},
{file = "cbor2-5.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93baf1ee33a305acf8f1391fed4e63ea2e837b561294fd6275ce8785acb795fa"},
{file = "cbor2-5.4.2-cp37-cp37m-win_amd64.whl", hash = "sha256:d9f64241bb30439f6ebde74101683e9dceecab95afe105560ac9d0e54d1b3c2e"},
{file = "cbor2-5.4.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:2757a7b624478d3b6707adf8ab7aef03d81fdaca6bea981b2323069660b9360f"},
{file = "cbor2-5.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32c1d00d8ad1a89f2358bf444fd43cacc3ca61f3c3feb1a2f2b2bea8ba4853d2"},
{file = "cbor2-5.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:79c10306d9128258dea110c01abbe9c58c48ee2ffcf995f982fb063f1a82e2ee"},
{file = "cbor2-5.4.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:0e27c52abdccadadab858437f6d98d5e8711aa84f0af7417dd1404d16127db7f"},
{file = "cbor2-5.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395aec8f415f039ab3be6cb58861c21bd2202f5c0ad6537b31956da532ea74ad"},
{file = "cbor2-5.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:310c7d7925f7aa6cb90791606be17c164bbf3b28d4d17047b5d19d303f2fe817"},
{file = "cbor2-5.4.2.tar.gz", hash = "sha256:e283e70b55a049ff364cc5e648fde587e4d9b0e87e4b2664c69e639135e6b3b8"},
]
[package.extras]
doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
test = ["pytest", "pytest-cov"]
[[package]] [[package]]
name = "certifi" name = "certifi"
version = "2025.7.14" version = "2025.8.3"
description = "Python package for providing Mozilla's CA Bundle." description = "Python package for providing Mozilla's CA Bundle."
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
{file = "certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2"}, {file = "certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5"},
{file = "certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995"}, {file = "certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407"},
] ]
[[package]] [[package]]
@ -1875,21 +1849,6 @@ six = "*"
i18n = ["Babel (>=0.8)"] i18n = ["Babel (>=0.8)"]
plugin = ["setuptools (>=0.6a2)"] plugin = ["setuptools (>=0.6a2)"]
[[package]]
name = "geoip2"
version = "2.9.0"
description = "MaxMind GeoIP2 API"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
{file = "geoip2-2.9.0-py2.py3-none-any.whl", hash = "sha256:a37ddac2d200ffb97c736da8b8ba9d5d8dc47da6ec0f162a461b681ecac53a14"},
{file = "geoip2-2.9.0.tar.gz", hash = "sha256:f7ffe9d258e71a42cf622ce6350d976de1d0312b9f2fbce3975c7d838b57ecf0"},
]
[package.dependencies]
maxminddb = ">=1.4.0"
requests = ">=2.9"
[[package]] [[package]]
name = "geojson" name = "geojson"
version = "2.5.0" version = "2.5.0"
@ -2804,94 +2763,6 @@ pillow = ">=6.2.0"
pyparsing = ">=2.3.1" pyparsing = ">=2.3.1"
python-dateutil = ">=2.7" python-dateutil = ">=2.7"
[[package]]
name = "maxminddb"
version = "2.6.3"
description = "Reader for the MaxMind DB format"
optional = false
python-versions = ">=3.8"
files = [
{file = "maxminddb-2.6.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d69c5493c81f11bca90961b4dfa028c031aa8e7bb156653edf242a03dfc51561"},
{file = "maxminddb-2.6.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6cc002099c9e1637309df772789a36db9a4601c4623dd1ace8145d057358c20b"},
{file = "maxminddb-2.6.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef41bfe15692fe15e1799d600366a0faa3673a0d7d7dbe6a305ec3a5b6f07708"},
{file = "maxminddb-2.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46bdc8dc528a2f64ef34182bf40084e05410344d40097c1e93554d732dfb0e15"},
{file = "maxminddb-2.6.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98258a295149aadf96ed8d667468722b248fe47bb991891ad01cfa8cb9e9684a"},
{file = "maxminddb-2.6.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0dd55d2498d287b6cfd6b857deed9070e53c4b22a1acd69615e88dec92d95fb3"},
{file = "maxminddb-2.6.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e38a449890a976365da1f2c927ac076838aa2715b464593080075a18ae4e0dc8"},
{file = "maxminddb-2.6.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a70d46337c9497a5b3329d9c7fa7f45be33243ffad04924b8f06ffe41a136279"},
{file = "maxminddb-2.6.3-cp310-cp310-win32.whl", hash = "sha256:45da7549c952f88da39c9f440cb3fa2abbd7472571597699467641af88512730"},
{file = "maxminddb-2.6.3-cp310-cp310-win_amd64.whl", hash = "sha256:6c977da32cc72784980da1928a79d38b3e9fe83faa9a40ea9bae598a6bf2f7bb"},
{file = "maxminddb-2.6.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27ba5e22bd09fe324f0a4c5ed97e73c1c7c3ab7e3bae4e1e6fcaa15f175b9f5a"},
{file = "maxminddb-2.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa36f1ca12fd3a37ad758afd0666457a749b2c4b16db0eb3f8c953f55ae6325d"},
{file = "maxminddb-2.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83d2324788a31a28bbb38b0dbdece5826f56db4df6e1538cf6f4b72f6a3da66c"},
{file = "maxminddb-2.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4bac2b7b7609bed8dcf6beef1ef4a1e411e9e39c311070ffc2ace80d6de6444"},
{file = "maxminddb-2.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8868580f34b483d5b74edd4270db417e211906d57fb13bbeeb11ea8d5cd01829"},
{file = "maxminddb-2.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b29cea50b191784e2242227e0fac5bc985972b3849f97fe96c7f37fb7a7426d7"},
{file = "maxminddb-2.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d470fc4f9c5ed8854a945dc5ea56b2f0644a5c3e5872d0e579d66a5a9238d7f"},
{file = "maxminddb-2.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2849357de35bfed0011ad1ff14a83c946273ae8c75a8867612d22f559df70e7d"},
{file = "maxminddb-2.6.3-cp311-cp311-win32.whl", hash = "sha256:39254e173af7b0018c1508c2dd68ecda0c043032176140cfe917587e2d082f42"},
{file = "maxminddb-2.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:489c5ae835198a228380b83cc537a5ffb1911f1579d7545baf097e4a8eefcd9a"},
{file = "maxminddb-2.6.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2b0fef825b23df047876d2056cbb69fb8d8e4b965f744f674be75e16fb86a52e"},
{file = "maxminddb-2.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a38faf03db15cc285009c0ddaacd04071b84ebd8ff7d773f700c7def695a291c"},
{file = "maxminddb-2.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edab18a50470031fc8447bcd9285c9f5f952abef2b6db5579fe50665bdcda941"},
{file = "maxminddb-2.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:415dd5de87adc7640d3da2a8e7cf19a313c1a715cb84a3433f0e3b2d27665319"},
{file = "maxminddb-2.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d78a02b70ededb3ba7317c24266217d7b68283e3be04cad0c34ee446a0217ee0"},
{file = "maxminddb-2.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4b80275603bba6a95ed69d859d184dfa60bfd8e83cd4c8b722d7f7eaa9d95f8f"},
{file = "maxminddb-2.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a6868438d1771c0bd0bbc95d84480c1ae04df72a85879e1ada42762250a00f59"},
{file = "maxminddb-2.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:efd875d43c4207fb90e10d582e4394d8a04f7b55c83c4d6bc0593a7be450e04f"},
{file = "maxminddb-2.6.3-cp312-cp312-win32.whl", hash = "sha256:aadb9d12e887a1f52e8214e539e5d78338356fad4ef2a51931f6f7dbe56c2228"},
{file = "maxminddb-2.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:7d6024d1e40244b5549c5e6063af109399a2f89503a24916b5139c4d0657f1c8"},
{file = "maxminddb-2.6.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9580b2cd017185db07baacd9d629ca01f3fe6f236528681c88a0209725376e9c"},
{file = "maxminddb-2.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:47828bed767b82c219ba7aa65f0cb03d7f7443d7270259ce931e133a40691d34"},
{file = "maxminddb-2.6.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77112cb1a2e381de42c443d1bf222c58b9da203183bb2008dd370c3d2a587a4e"},
{file = "maxminddb-2.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:448d062e95242e3088df85fe7ed3f2890a9f4aea924bde336e9ff5d2337ca5fd"},
{file = "maxminddb-2.6.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a59d72bf373c61da156fd43e2be6da802f68370a50a2205de84ee76916e05f9f"},
{file = "maxminddb-2.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e867852037a8a26a24cfcf31b697dce63d488e1617af244c2895568d8f6c7a31"},
{file = "maxminddb-2.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5a1586260eac831d61c2665b26ca1ae3ad00caca57c8031346767f4527025311"},
{file = "maxminddb-2.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6eb23f842a72ab3096f9f9b1c292f4feb55a8d758567cb6d77637c2257a3187c"},
{file = "maxminddb-2.6.3-cp313-cp313-win32.whl", hash = "sha256:acf46e20709a27d2b519669888e3f53a37bc4204b98a0c690664c48ff8cb1364"},
{file = "maxminddb-2.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:3015afb00e6168837938dbe5fda40ace37442c22b292ccee27c1690fbf6078ed"},
{file = "maxminddb-2.6.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9d913971187326e59be8a63068128b6439f6717b13c7c451e6d9e1723286d9ff"},
{file = "maxminddb-2.6.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:89afed255ac3652db7f91d8f6b278a4c490c47283ddbff5589c22cfdef4b8453"},
{file = "maxminddb-2.6.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01b143a38ae38c71ebc9028d67bbcb05c1b954e0f3a28c508eaee46833807903"},
{file = "maxminddb-2.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:deebf098c79ce031069fec1d7202cba0e766b3f12adbb631d16223174994724a"},
{file = "maxminddb-2.6.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f49eefddad781e088969188c606b7988a7da27592590f6c4cc2b64fd2a85ff28"},
{file = "maxminddb-2.6.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:da584edc3e4465f5417a48602ed7e2bee4f2a7a2b43fcf2c40728cfc9f9fd5aa"},
{file = "maxminddb-2.6.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:e5a8cfe71db548aa9a520a3f7e92430b6b7900affadef3b0c83c530c759dd12f"},
{file = "maxminddb-2.6.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:daa20961ad0fb550038c02dbf76a04e1c1958a3b899fa14a7c412aed67380812"},
{file = "maxminddb-2.6.3-cp38-cp38-win32.whl", hash = "sha256:6480ca47db4d8d09296c268e8ff4e6f4c1d455773a67233c9f899dfa6af3e6c6"},
{file = "maxminddb-2.6.3-cp38-cp38-win_amd64.whl", hash = "sha256:0348c8dadef9493dbcd45f032ae271c7fd2216ed4bb4bab0aff371ffc522f871"},
{file = "maxminddb-2.6.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1bc2edcef76ce54d4df04f58aec98f4df0377f37aae2217587bfecd663ed5c66"},
{file = "maxminddb-2.6.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1f0b78c40a12588e9e0ca0ffe5306b6dea028dcd21f2c120d1ceb328a3307a98"},
{file = "maxminddb-2.6.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f06e9c908a9270e882f0d23f041a9674680a7a110412b453f902d22323f86d38"},
{file = "maxminddb-2.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46096646c284835c8a580ec2ccbf0d6d5398191531fa543bb0437983c75cb7ba"},
{file = "maxminddb-2.6.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d82fbddf3a88e6aa6181bd16bc08a6939d6353f97f143eeddec16bc5394e361"},
{file = "maxminddb-2.6.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6136dc8ad8c8f7e95a7d84174a990c1b47d5e641e3a3a8ae67d7bde625342dbb"},
{file = "maxminddb-2.6.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:01773fee182cc36f6d38c277936accf7c85b8f4c20d13bb630666f6b3f087ad8"},
{file = "maxminddb-2.6.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:890dd845e371f67edef7b19a2866191d9fff85faf88f4b4c416a0aaa37204416"},
{file = "maxminddb-2.6.3-cp39-cp39-win32.whl", hash = "sha256:4e0865069ef76b4f3eb862c042b107088171cbf43fea3dcaae0dd7253effe6e3"},
{file = "maxminddb-2.6.3-cp39-cp39-win_amd64.whl", hash = "sha256:7c3209d7a4b2f50d4b28a1d886d95b19094cdc840208e69dbbc40cae2c1cc65b"},
{file = "maxminddb-2.6.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b4729936fedb4793d9162b92d6de63e267e388c8938e19e700120b6df6a6ae6c"},
{file = "maxminddb-2.6.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6887315de47f3a9840df19f498a4e68723c160c9448d276c3ef454531555778e"},
{file = "maxminddb-2.6.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34943b4b724a35ef63ec40dcf894a100575d233b23b6cd4f8224017ea1195265"},
{file = "maxminddb-2.6.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d25acb42ef8829e8e3491b6b3b4ced9dbb4eea6c4ec24afdc4028051e7b8803"},
{file = "maxminddb-2.6.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a23c7c88f9df0727a3e56f2385ec19fb5f61bb46dcbebb6ddc5c948cf0b73b0a"},
{file = "maxminddb-2.6.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:85763c19246dce43044be58cb9119579c2efd0b85a7b79d865b741a698866488"},
{file = "maxminddb-2.6.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7c5d15a0546821a7e9104b71ca701c01462390d0a1bee5cad75f583cf26c400b"},
{file = "maxminddb-2.6.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:de8415538d778ae4f4bb40e2cee9581e2d5c860abdbdbba1458953f5b314a6b0"},
{file = "maxminddb-2.6.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81340e52c743cdc3c0f4a9f45f9cf4e3c2ae87bf4bbb34613c5059a5b829eb65"},
{file = "maxminddb-2.6.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b140c1db0c218f485b033b51a086d98d57f55f4a4c2b1cb72fe6a5e1e57359a"},
{file = "maxminddb-2.6.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ec674a2c2e4b47ab9f582460670a5c1d7725b1cbf16e6cbb94de1ae51ee9edf"},
{file = "maxminddb-2.6.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e28622fd7c4ccd298c3f630161d0801182eb38038ca01319693a70264de40b89"},
{file = "maxminddb-2.6.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b09bb7bb98418a620b1ec1881d1594c02e715a68cdc925781de1e79b39cefe77"},
{file = "maxminddb-2.6.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a6597599cde3916730d69b023045e6c22ff1c076d9cad7fb63641d36d01e3e93"},
{file = "maxminddb-2.6.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e7e6d5f3c1aa6350303edab8f0dd471e616d69b5d47ff5ecbf2c7c82998b9c6"},
{file = "maxminddb-2.6.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:536a39fb917a44b1cd037da624e3d11d49898b5579dfc00c4d7103a057dc51ab"},
{file = "maxminddb-2.6.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9ebd373a4ef69218bfbce93e9b97f583cfe681b28d4e32e0d64f76ded148fba"},
{file = "maxminddb-2.6.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e441478922c2d311b8bc96f35d6e78306802774149fc20d07d96cc5c3b57dd02"},
{file = "maxminddb-2.6.3.tar.gz", hash = "sha256:d2c3806baa7aa047aa1bac7419e7e353db435f88f09d51106a84dbacf645d254"},
]
[[package]] [[package]]
name = "mccabe" name = "mccabe"
version = "0.7.0" version = "0.7.0"
@ -3449,13 +3320,13 @@ full = ["XLMMacroDeobfuscator"]
[[package]] [[package]]
name = "openai" name = "openai"
version = "1.97.1" version = "1.99.6"
description = "The official Python library for the openai API" description = "The official Python library for the openai API"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "openai-1.97.1-py3-none-any.whl", hash = "sha256:4e96bbdf672ec3d44968c9ea39d2c375891db1acc1794668d8149d5fa6000606"}, {file = "openai-1.99.6-py3-none-any.whl", hash = "sha256:e40d44b2989588c45ce13819598788b77b8fb80ba2f7ae95ce90d14e46f1bd26"},
{file = "openai-1.97.1.tar.gz", hash = "sha256:a744b27ae624e3d4135225da9b1c89c107a2a7e5bc4c93e5b7b5214772ce7a4e"}, {file = "openai-1.99.6.tar.gz", hash = "sha256:f48f4239b938ef187062f3d5199a05b69711d8b600b9a9b6a3853cd271799183"},
] ]
[package.dependencies] [package.dependencies]
@ -3476,13 +3347,13 @@ voice-helpers = ["numpy (>=2.0.2)", "sounddevice (>=0.5.1)"]
[[package]] [[package]]
name = "openpyxl" name = "openpyxl"
version = "3.0.9" version = "3.1.5"
description = "A Python library to read/write Excel 2010 xlsx/xlsm files" description = "A Python library to read/write Excel 2010 xlsx/xlsm files"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.8"
files = [ files = [
{file = "openpyxl-3.0.9-py2.py3-none-any.whl", hash = "sha256:8f3b11bd896a95468a4ab162fc4fcd260d46157155d1f8bfaabb99d88cfcf79f"}, {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"},
{file = "openpyxl-3.0.9.tar.gz", hash = "sha256:40f568b9829bf9e446acfffce30250ac1fa39035124d55fc024025c41481c90f"}, {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"},
] ]
[package.dependencies] [package.dependencies]
@ -3627,18 +3498,15 @@ dev = ["Sphinx (==1.2.2)", "black", "coverage (>=7.2.2,<7.3.0)", "flake8", "isor
[[package]] [[package]]
name = "packaging" name = "packaging"
version = "21.3" version = "25.0"
description = "Core utilities for Python packages" description = "Core utilities for Python packages"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.8"
files = [ files = [
{file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"},
{file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"},
] ]
[package.dependencies]
pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
[[package]] [[package]]
name = "pandas" name = "pandas"
version = "1.3.5" version = "1.3.5"
@ -3794,13 +3662,13 @@ pillow = "*"
[[package]] [[package]]
name = "phonenumbers" name = "phonenumbers"
version = "9.0.10" version = "9.0.11"
description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers."
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
{file = "phonenumbers-9.0.10-py2.py3-none-any.whl", hash = "sha256:13b12d269be1f2b363c9bc2868656a7e2e8b50f1a1cef629c75005da6c374c6b"}, {file = "phonenumbers-9.0.11-py2.py3-none-any.whl", hash = "sha256:a8ebb2136f1f14dfdbadb98be01cb71b96f880dea011eb5e0921967fe3a23abf"},
{file = "phonenumbers-9.0.10.tar.gz", hash = "sha256:c2d15a6a9d0534b14a7764f51246ada99563e263f65b80b0251d1a760ac4a1ba"}, {file = "phonenumbers-9.0.11.tar.gz", hash = "sha256:6573858dcf0a7a2753a071375e154d9fc11791546c699b575af95d2ba7d84a1d"},
] ]
[[package]] [[package]]
@ -4439,21 +4307,20 @@ test = ["psutil", "pyopenssl", "pytest", "pytest-xdist", "setuptools"]
[[package]] [[package]]
name = "pygithub" name = "pygithub"
version = "2.6.1" version = "2.7.0"
description = "Use the full Github API v3" description = "Use the full Github API v3"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "PyGithub-2.6.1-py3-none-any.whl", hash = "sha256:6f2fa6d076ccae475f9fc392cc6cdbd54db985d4f69b8833a28397de75ed6ca3"}, {file = "pygithub-2.7.0-py3-none-any.whl", hash = "sha256:40ecbfe26dc55cc34ab4b0ffa1d455e6f816ef9a2bc8d6f5ad18ce572f163700"},
{file = "pygithub-2.6.1.tar.gz", hash = "sha256:b5c035392991cca63959e9453286b41b54d83bf2de2daa7d7ff7e4312cebf3bf"}, {file = "pygithub-2.7.0.tar.gz", hash = "sha256:7cd6eafabb09b5369afba3586d86b1f1ad6f1326d2ff01bc47bb26615dce4cbb"},
] ]
[package.dependencies] [package.dependencies]
Deprecated = "*"
pyjwt = {version = ">=2.4.0", extras = ["crypto"]} pyjwt = {version = ">=2.4.0", extras = ["crypto"]}
pynacl = ">=1.4.0" pynacl = ">=1.4.0"
requests = ">=2.14.0" requests = ">=2.14.0"
typing-extensions = ">=4.0.0" typing-extensions = ">=4.5.0"
urllib3 = ">=1.26.0" urllib3 = ">=1.26.0"
[[package]] [[package]]
@ -4522,25 +4389,27 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"]
[[package]] [[package]]
name = "pykcs11" name = "pykcs11"
version = "1.5.17" version = "1.5.18"
description = "A Full PKCS#11 wrapper for Python" description = "A Full PKCS#11 wrapper for Python"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
{file = "PyKCS11-1.5.17-cp310-cp310-win32.whl", hash = "sha256:2edad7e9ff1b7696c93e78e3de3737a80dcf611f6ec660b2d40bbdfe8b4db752"}, {file = "PyKCS11-1.5.18-cp310-cp310-win32.whl", hash = "sha256:b1fe9d789cf4905d485b42356740cb8161794c436a7bfe5f939f054f0bd0a8cb"},
{file = "PyKCS11-1.5.17-cp310-cp310-win_amd64.whl", hash = "sha256:e934a728e9bf6136e1b3ef34ccadea3b38e5c55394a0d535f81141444140eab0"}, {file = "PyKCS11-1.5.18-cp310-cp310-win_amd64.whl", hash = "sha256:704a4bf39e746a6ac04ccec87d90d9304a2b141db382bad4fe4bf7454c3b1cb1"},
{file = "PyKCS11-1.5.17-cp311-cp311-win32.whl", hash = "sha256:47ff79a019c1f58f6abd2957000c19e759e6ff7683d0fff9395eb46b60356509"}, {file = "PyKCS11-1.5.18-cp311-cp311-win32.whl", hash = "sha256:e82b21e5fc6fd1d254c7eec782dce1f6b3ec910ddaacdf479542e5255def06b4"},
{file = "PyKCS11-1.5.17-cp311-cp311-win_amd64.whl", hash = "sha256:60bfa8a336cb921ab9b9bdb592a3fc5ccb5983c5bd464a1e5896490cb3c14fe2"}, {file = "PyKCS11-1.5.18-cp311-cp311-win_amd64.whl", hash = "sha256:110b19f3fdf53ae002440edc7e4452aad5758f200f3209afa05db0c9e43da25f"},
{file = "PyKCS11-1.5.17-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:72794bb9f32756cba645263143990e3edcce934704df063d85c87ec561cc3095"}, {file = "PyKCS11-1.5.18-cp37-cp37m-win32.whl", hash = "sha256:66261a2c16bd730ef19bcfa65b94f9006d968605a21be8da5d2d8c30c0dfc1c9"},
{file = "PyKCS11-1.5.17-cp312-cp312-win32.whl", hash = "sha256:4417542f90131f2c88f7d347da45eab96fef55e350e1dfc0426cf9f210e5a55f"}, {file = "PyKCS11-1.5.18-cp37-cp37m-win_amd64.whl", hash = "sha256:b87c44c30d330d6fd82f5b94b52fd855f159af92c44a28a8fb2f2c2fb46cf954"},
{file = "PyKCS11-1.5.17-cp312-cp312-win_amd64.whl", hash = "sha256:911ab211e02a6676f546dabacefddbe1d91830698e61145090003c87dc1dbee2"}, {file = "PyKCS11-1.5.18-cp38-cp38-win32.whl", hash = "sha256:13bbda2f081613af35dd1ac93291b6ade7097f837bdd2c9d79bf0c6ab39a7717"},
{file = "PyKCS11-1.5.17-cp37-cp37m-win32.whl", hash = "sha256:6710997ed0f6c9e1c36d2373db76429fe2130c98ff27a891209c9fdd424bc212"}, {file = "PyKCS11-1.5.18-cp38-cp38-win_amd64.whl", hash = "sha256:3c46ceb9e834e3306ca2d8a78cdc4d0a90dcb7ecd8a896996b757b3a1e4be817"},
{file = "PyKCS11-1.5.17-cp37-cp37m-win_amd64.whl", hash = "sha256:6009ea06417546753dd72d43419bf08508bdc79fffcba204db9a8462d694b363"}, {file = "PyKCS11-1.5.18-cp39-cp39-win32.whl", hash = "sha256:8c80486f1053a61fa95823b79247c72153f2812c5ac3faf6bf3086004be9bd49"},
{file = "PyKCS11-1.5.17-cp38-cp38-win32.whl", hash = "sha256:df72223865f3e7f56a66d8aee80590d44450f4b2cd3433601bd07e7ffa10dc43"}, {file = "PyKCS11-1.5.18-cp39-cp39-win_amd64.whl", hash = "sha256:ea772f4717480e97901677b103dc4e267c0df4023ba0f44721487013283aed29"},
{file = "PyKCS11-1.5.17-cp38-cp38-win_amd64.whl", hash = "sha256:9bf9a7fdf0023079bdb00566f437a0640578c85f932e78fbe4a14d98daded582"}, {file = "pykcs11-1.5.18-cp312-cp312-win32.whl", hash = "sha256:505f7c5565934dcace4e4b70404792ae0ae7208e53d5b170d31873064d3d59c4"},
{file = "PyKCS11-1.5.17-cp39-cp39-win32.whl", hash = "sha256:fcafd8b610348f5cdfd267a4c3022b7a4bd54fcc87561b003f2178d9cf937934"}, {file = "pykcs11-1.5.18-cp312-cp312-win_amd64.whl", hash = "sha256:5e900551bde66ea470d49ec1e7981f36680c87b74d004278ea8f28e9d53c74d6"},
{file = "PyKCS11-1.5.17-cp39-cp39-win_amd64.whl", hash = "sha256:3b1113cb462fa71df1261241887656bd457300325a909689b4e961d245a335b0"}, {file = "pykcs11-1.5.18-cp313-cp313-macosx_15_0_x86_64.whl", hash = "sha256:a180fb431452f4ac5f0d8c8dae7cb664803d7f692465547b7720c820bc3d77ea"},
{file = "pykcs11-1.5.17.tar.gz", hash = "sha256:7b667e959fa0b6ad0750b03e2081a059cbe9a62789766143e50f90988a338994"}, {file = "pykcs11-1.5.18-cp313-cp313-win32.whl", hash = "sha256:331326adefca73021482b2edc27a7bb896061e0bd65de503787f52818cea3629"},
{file = "pykcs11-1.5.18-cp313-cp313-win_amd64.whl", hash = "sha256:2fb89ff22c03b8358b7329cffad709838697c86cf5c9ca500dffec1a1d1c0589"},
{file = "pykcs11-1.5.18.tar.gz", hash = "sha256:12fd878b369821d80c1be8a140c85e8a0fb1358fcaaba66ca66869213692f227"},
] ]
[[package]] [[package]]
@ -4724,13 +4593,13 @@ diagrams = ["jinja2", "railroad-diagrams"]
[[package]] [[package]]
name = "pypdf" name = "pypdf"
version = "5.8.0" version = "5.9.0"
description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "pypdf-5.8.0-py3-none-any.whl", hash = "sha256:bfe861285cd2f79cceecefde2d46901e4ee992a9f4b42c56548c4a6e9236a0d1"}, {file = "pypdf-5.9.0-py3-none-any.whl", hash = "sha256:be10a4c54202f46d9daceaa8788be07aa8cd5ea8c25c529c50dd509206382c35"},
{file = "pypdf-5.8.0.tar.gz", hash = "sha256:f8332f80606913e6f0ce65488a870833c9d99ccdb988c17bb6c166f7c8e140cb"}, {file = "pypdf-5.9.0.tar.gz", hash = "sha256:30f67a614d558e495e1fbb157ba58c1de91ffc1718f5e0dfeb82a029233890a1"},
] ]
[package.dependencies] [package.dependencies]
@ -5422,28 +5291,6 @@ typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9
[package.extras] [package.extras]
jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"] jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"]
[[package]]
name = "rjsmin"
version = "1.1.0"
description = "Javascript Minifier"
optional = false
python-versions = "*"
files = [
{file = "rjsmin-1.1.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:799890bd07a048892d8d3deb9042dbc20b7f5d0eb7da91e9483c561033b23ce2"},
{file = "rjsmin-1.1.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:211c2fe8298951663bbc02acdffbf714f6793df54bfc50e1c6c9e71b3f2559a3"},
{file = "rjsmin-1.1.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:585e75a84d9199b68056fd4a083d9a61e2a92dfd10ff6d4ce5bdb04bc3bdbfaf"},
{file = "rjsmin-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e487a7783ac4339e79ec610b98228eb9ac72178973e3dee16eba0e3feef25924"},
{file = "rjsmin-1.1.0-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:0ab825839125eaca57cc59581d72e596e58a7a56fbc0839996b7528f0343a0a8"},
{file = "rjsmin-1.1.0-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:6044ca86e917cd5bb2f95e6679a4192cef812122f28ee08c677513de019629b3"},
{file = "rjsmin-1.1.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:ecd29f1b3e66a4c0753105baec262b331bcbceefc22fbe6f7e8bcd2067bcb4d7"},
{file = "rjsmin-1.1.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:975b69754d6a76be47c0bead12367a1ca9220d08e5393f80bab0230d4625d1f4"},
{file = "rjsmin-1.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:466fe70cc5647c7c51b3260c7e2e323a98b2b173564247f9c89e977720a0645f"},
{file = "rjsmin-1.1.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e3908b21ebb584ce74a6ac233bdb5f29485752c9d3be5e50c5484ed74169232c"},
{file = "rjsmin-1.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:714329db774a90947e0e2086cdddb80d5e8c4ac1c70c9f92436378dedb8ae345"},
{file = "rjsmin-1.1.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dd0f4819df4243ffe4c964995794c79ca43943b5b756de84be92b445a652fb86"},
{file = "rjsmin-1.1.0.tar.gz", hash = "sha256:b15dc75c71f65d9493a8c7fa233fdcec823e3f1b88ad84a843ffef49b338ac32"},
]
[[package]] [[package]]
name = "rsa" name = "rsa"
version = "4.9.1" version = "4.9.1"
@ -6475,17 +6322,6 @@ files = [
{file = "xlrd-1.2.0.tar.gz", hash = "sha256:546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2"}, {file = "xlrd-1.2.0.tar.gz", hash = "sha256:546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2"},
] ]
[[package]]
name = "xlsxwriter"
version = "1.1.2"
description = "A Python module for creating Excel XLSX files."
optional = false
python-versions = "*"
files = [
{file = "XlsxWriter-1.1.2-py2.py3-none-any.whl", hash = "sha256:7cc07619760641b67112dbe0df938399d4d915d9b9924bb58eb5c17384d29cc6"},
{file = "XlsxWriter-1.1.2.tar.gz", hash = "sha256:ae22658a0fc5b9e875fa97c213d1ffd617d86dc49bf08be99ebdac814db7bf36"},
]
[[package]] [[package]]
name = "xlwt" name = "xlwt"
version = "1.3.0" version = "1.3.0"
@ -6784,4 +6620,4 @@ files = [
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = ">=3.8.20,<3.9" python-versions = ">=3.8.20,<3.9"
content-hash = "9cf07ce0816af48f5325e9319352d24741271551ecff5ffe18d84d832752b18c" content-hash = "660feb736151a54776a49b047a9dcf428145a2add97c89dddca2178be2c9d542"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -20,7 +20,6 @@ authors = [ "Mathieu Benoit <mathben@technolibre.ca>",]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = ">=3.7.16,<3.8" python = ">=3.7.16,<3.8"
acme = "2.6.0" acme = "2.6.0"
agithub = "^2.2.2"
aioshutil = "<1.2" aioshutil = "<1.2"
altair = "5.0.1" altair = "5.0.1"
argcomplete = "3.1.1" argcomplete = "3.1.1"
@ -29,16 +28,15 @@ astor = "^0.8.1"
azure-identity = "1.15.0" azure-identity = "1.15.0"
azure-storage-blob = "12.19.0" azure-storage-blob = "12.19.0"
babel = "2.9.1" babel = "2.9.1"
beautifulsoup4 = "^4.12.3" beautifulsoup4 = "^4.13.4"
bokeh = "1.1.0" bokeh = "1.1.0"
boto3 = "1.33.13" boto3 = "1.33.13"
cachetools = ">=2.0.1" cachetools = ">=2.0.1"
cerberus = "^1.3.5" cerberus = "^1.3.7"
chardet = "5.0.0" chardet = "5.0.0"
click = "^8.1.7" click = "8.1.8"
cloudflare = "3.0.1" cloudflare = "3.0.1"
code-writer = "1.1.1" code-writer = "1.1.1"
colorama = "^0.4.6"
configparser = "5.0.2" configparser = "5.0.2"
coverage = "7.2.7" coverage = "7.2.7"
cryptography = "39.0.1" cryptography = "39.0.1"
@ -50,21 +48,20 @@ dnspython = "2.3.0"
docutils = "0.17.1" docutils = "0.17.1"
ebaysdk = "2.1.5" ebaysdk = "2.1.5"
email-validator = "2.0.0" email-validator = "2.0.0"
emoji = "^2.14.0" emoji = "^2.14.1"
extract-msg = "0.36.1" extract-msg = "0.36.1"
factur-x = "^3.1" factur-x = "3.6"
feedparser = "6.0.10" feedparser = "6.0.10"
flake8 = "<6.0.0" flake8 = "<6.0.0"
formio-data = "^2.1.0" formio-data = "^2.1.1"
freezegun = "1.2.2" freezegun = "1.2.2"
furo = "2021.2.21b25" furo = "2021.2.21b25"
future = "0.18.3" future = "0.18.3"
geojson = "<3.0.0" geojson = "<3.0.0"
gevent = "1.5.0" gevent = "1.5.0"
gitpython = "3.1.30" gitpython = "^3.1.45"
giturlparse = "0.10.0" giturlparse = "0.10.0"
greenlet = "0.4.14" greenlet = "0.4.14"
gst = "^0.1.0"
html2text = "2016.9.19" html2text = "2016.9.19"
humanize = "4.6.0" humanize = "4.6.0"
invoice2data = "0.3.5" invoice2data = "0.3.5"
@ -73,7 +70,7 @@ isort = "<5.12.0"
jinja2 = "2.11.3" jinja2 = "2.11.3"
jira = "2.0.0" jira = "2.0.0"
jose = "^1.0.0" jose = "^1.0.0"
josepy = "^1.14.0" josepy = "1.14.0"
js2py = "^0.74" js2py = "^0.74"
keystoneauth1 = "3.14.0" keystoneauth1 = "3.14.0"
lasso = "^0.1.0" lasso = "^0.1.0"
@ -83,7 +80,7 @@ mako = "1.2.2"
markupsafe = "0.23" markupsafe = "0.23"
mmg = "1.0.3" mmg = "1.0.3"
mock = "2.0.0" mock = "2.0.0"
mpld3 = "^0.5.10" mpld3 = "^0.5.11"
mysqlclient = "2.1.1" mysqlclient = "2.1.1"
num2words = "0.5.6" num2words = "0.5.6"
numpy = "1.21.1" numpy = "1.21.1"
@ -93,17 +90,17 @@ odoorpc = "^0.10.1"
ofxparse = "0.16" ofxparse = "0.16"
olefile = "0.47" olefile = "0.47"
openpyxl = "3.1.3" openpyxl = "3.1.3"
openupgradelib = "^3.7.1" openupgradelib = "^3.11.1"
orjson = "3.6.0" orjson = "3.6.0"
ovh = "1.1.2" ovh = "1.1.2"
paho-mqtt = "^2.1.0" paho-mqtt = "^2.1.0"
pandas = "1.3.5" pandas = "1.3.5"
paramiko = "^3.5.0" paramiko = "3.5.1"
passlib = "1.6.5" passlib = "1.6.5"
pdf2image = "^1.17.0" pdf2image = "^1.17.0"
pdfminer = "^20191125" pdfminer = "^20191125"
pexpect = "^4.9.0" pexpect = "^4.9.0"
phonenumbers = "^8.13.47" phonenumbers = "^9.0.12"
pillow = "9.3.0" pillow = "9.3.0"
plotly = "4.1.0" plotly = "4.1.0"
portalocker = "1.7.1" portalocker = "1.7.1"
@ -117,8 +114,6 @@ py3o-template = "^0.10.0"
pycountry = "22.3.5" pycountry = "22.3.5"
pydot = "1.2.3" pydot = "1.2.3"
pygments = "2.7.4" pygments = "2.7.4"
pygments-csv-lexer = ">=0.1,<1.0"
pygobject = "3.44.1"
pygount = ">1.2.1" pygount = ">1.2.1"
pyjsparser = "^2.7.1" pyjsparser = "^2.7.1"
pyjwt = "2.5.0" pyjwt = "2.5.0"
@ -128,22 +123,21 @@ pymssql = "2.3.0"
pymysql = "^1.1.1" pymysql = "^1.1.1"
pyotp = "^2.9.0" pyotp = "^2.9.0"
pyparsing = "2.1.10" pyparsing = "2.1.10"
pypdf = "4.3.1"
pypdf2 = "1.27.9" pypdf2 = "1.27.9"
pyproj = "3.2.1" pyproj = "3.2.1"
pysass = ">=0.1.0,<0.2.0"
pyserial = "3.1.1" pyserial = "3.1.1"
pysftp = "^0.2.9" pysftp = "^0.2.9"
python-chess = "<0.24" python-chess = "<0.24"
python-dateutil = "2.7.3" python-dateutil = "2.7.3"
python-git = "^2018.2.1" python-git = "^2018.2.1"
python-jose = "^3.3.0" python-jose = "3.3.0"
python-json-logger = "0.1.5" python-json-logger = "0.1.5"
python-keystoneclient = "3.22.0" python-keystoneclient = "3.22.0"
python-ldap = "^3.4.4" python-ldap = "^3.4.4"
python-pptx = "0.6.23" python-pptx = "0.6.23"
python-randomword-fr = "^1.0.0"
python-slugify = ">=3.0.2" python-slugify = ">=3.0.2"
python-stdnum = "^1.20" python-stdnum = "1.20"
python-swiftclient = "3.9.0" python-swiftclient = "3.9.0"
python-u2flib-server = "^5.0.1" python-u2flib-server = "^5.0.1"
pytz = ">=2022.7" pytz = ">=2022.7"
@ -159,9 +153,8 @@ requests-mock = "^1.12.1"
requests-oauthlib = "1.1.0" requests-oauthlib = "1.1.0"
requests-toolbelt = "0.9.1" requests-toolbelt = "0.9.1"
responses = "0.23.1" responses = "0.23.1"
retrying = "^1.3.4"
selenium = "4.11.2" selenium = "4.11.2"
sentry-sdk = "^2.17.0" sentry-sdk = "^2.35.0"
serial = "^0.0.97" serial = "^0.0.97"
setuptools = "65.5.1" setuptools = "65.5.1"
shapely = "1.8.5" shapely = "1.8.5"
@ -169,16 +162,15 @@ simplejson = "3.16.0"
slugify = "^0.0.1" slugify = "^0.0.1"
soappy = "^0.12.22" soappy = "^0.12.22"
sphinx = "3.0" sphinx = "3.0"
sphinx-intl = "^2.2.0" sphinx-intl = "2.2.0"
sphinx-rtd-theme = "1.2.2" sphinx-rtd-theme = "1.2.2"
sqlalchemy = "^2.0.36" sqlalchemy = "2.0.36"
sqlparse = "0.4.4" sqlparse = "0.4.4"
statsd = "3.2.1" statsd = "3.2.1"
toml = "^0.10.2" toml = "^0.10.2"
tornado = "6.1" tornado = "6.1"
tqdm = "^4.66.5" tqdm = "^4.67.1"
unidecode = "1.0.22" unidecode = "1.0.22"
unidiff = "^0.7.5"
urllib3 = ">=1.26.13" urllib3 = ">=1.26.13"
uvloop = "0.17.0" uvloop = "0.17.0"
validators = "0.20.0" validators = "0.20.0"
@ -194,12 +186,10 @@ wheel = "0.42.0"
win-unicode-console = "^0.5" win-unicode-console = "^0.5"
xlrd = "1.0.0" xlrd = "1.0.0"
xlsxwriter = "0.9.3" xlsxwriter = "0.9.3"
xlwt = "1.3" xmlformatter = "^0.2.8"
xmlformatter = "^0.2.6"
xmltodict = "^0.14.2"
zeep = "4.2.1" zeep = "4.2.1"
zipp = ">=3.6.0" zipp = ">=3.6.0"
zxcvbn = "^4.4.28" zxcvbn = "^4.5.0"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
websocket_client = "^1.1.0" websocket_client = "^1.1.0"

View file

@ -20,16 +20,19 @@ authors = [ "Mathieu Benoit <mathben@technolibre.ca>",]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = ">=3.7.16,<3.8" python = ">=3.7.16,<3.8"
acme = "2.6.0" acme = "2.6.0"
aiohttp = "3.8.6"
aioshutil = "<1.2" aioshutil = "<1.2"
altair = "5.0.1" altair = "5.0.1"
argcomplete = "3.1.1" argcomplete = "3.1.1"
asn1crypto = "1.4.0" astor = "^0.8.1"
avalara = "^25.7.1"
azure-identity = "1.15.0" azure-identity = "1.15.0"
azure-storage-blob = "12.19.0" azure-storage-blob = "12.19.0"
babel = "2.9.1" babel = "2.9.1"
beautifulsoup4 = "^4.13.4" beautifulsoup4 = "^4.13.4"
bokeh = "1.1.0"
boto3 = "1.33.13" boto3 = "1.33.13"
cbor2 = "5.4.2" cachetools = ">=2.0.1"
chardet = "5.0.0" chardet = "5.0.0"
click = "8.1.8" click = "8.1.8"
cloudflare = "3.0.1" cloudflare = "3.0.1"
@ -37,94 +40,124 @@ code-writer = "1.1.1"
coverage = "7.2.7" coverage = "7.2.7"
cryptography = "39.0.1" cryptography = "39.0.1"
css-html-prettify = "^2.5.5" css-html-prettify = "^2.5.5"
cubiscan = "^0.0.3"
cython = "3.0.10" cython = "3.0.10"
decorator = "4.3.0" decorator = "4.3.0"
dicttoxml = "^1.7.16"
dnspython = "2.3.0" dnspython = "2.3.0"
docutils = "0.17.1" docutils = "0.17.1"
ebaysdk = "2.1.5" ebaysdk = "2.1.5"
email-validator = "2.0.0" email-validator = "2.0.0"
emoji = "^2.14.1" emoji = "^2.14.1"
endesive = "^2.19.1"
extract-msg = "0.36.1" extract-msg = "0.36.1"
factur-x = "^3.6" factur-x = "3.6"
feedparser = "6.0.10" feedparser = "6.0.10"
flake8 = "<6.0.0" flake8 = "<6.0.0"
freezegun = "1.1.0" formio-data = "^2.1.1"
furo = "2021.2.21b25" furo = "2021.2.21b25"
future = "0.18.3" future = "0.18.3"
geoip2 = "2.9.0"
geojson = "<3.0.0" geojson = "<3.0.0"
gevent = "1.5.0" gevent = "1.5.0"
gitpython = "^3.1.45"
giturlparse = "0.10.0" giturlparse = "0.10.0"
greenlet = "0.4.14" greenlet = "0.4.14"
html2text = "2016.9.19"
humanize = "4.6.0" humanize = "4.6.0"
idna = "2.10"
iscompatible = "^0.1.1" iscompatible = "^0.1.1"
isort = "<5.12.0" isort = "<5.12.0"
jinja2 = "2.11.3" jinja2 = "2.11.3"
jira = "2.0.0" jira = "2.0.0"
josepy = "1.14.0"
keystoneauth1 = "3.14.0"
libsass = "0.17.0" libsass = "0.17.0"
lxml = "4.9.1" lxml = "4.9.1"
mako = "1.2.2" mako = "1.2.2"
markupsafe = "1.1.0" markupsafe = "1.1.0"
matplotlib = "3.3.4"
mmg = "1.0.3" mmg = "1.0.3"
mock = "2.0.0" mock = "2.0.0"
mpld3 = "0.3"
mysqlclient = "2.1.1" mysqlclient = "2.1.1"
num2words = "0.5.6" num2words = "0.5.6"
numpy = "1.21.1" numpy = "1.21.1"
odoorpc = "0.7.0" numpy-financial = "<=1.0.0"
oauthlib = "3.2.2"
odoorpc = "^0.10.1"
ofxparse = "0.19" ofxparse = "0.19"
olefile = "0.47" olefile = "0.47"
openpyxl = "3.1.3" openpyxl = "3.1.3"
openupgradelib = "^3.11.1"
ovh = "1.1.2" ovh = "1.1.2"
packaging = "21.3"
pandas = "1.3.5" pandas = "1.3.5"
paramiko = "3.5.1"
passlib = "1.7.1" passlib = "1.7.1"
phonenumbers = "^9.0.10" pathspec = "0.11.2"
pdf2image = "^1.17.0"
phantomjs = "^1.4.1"
phonenumbers = "^9.0.12"
pillow = "9.3.0" pillow = "9.3.0"
polib = "1.1.0" polib = "1.1.0"
premailer = "^3.10.0"
prometheus-client = "0.11.0"
psutil = "5.9.0" psutil = "5.9.0"
psycopg2 = "2.9.5" psycopg2 = "2.9.5"
py3o-formats = "^0.3"
py3o-template = "^0.10.0"
pycountry = "22.3.5" pycountry = "22.3.5"
pydot = "1.4.1" pydot = "1.4.1"
pyftpdlib = "^2.0.1"
pygments = "2.7.4" pygments = "2.7.4"
pygount = "1.2.1"
pyjwt = "2.5.0" pyjwt = "2.5.0"
pykcs11 = "^1.5.17"
pylint-odoo = "8.0.19" pylint-odoo = "8.0.19"
pymssql = "2.3.0" pymssql = "2.3.0"
pyopenssl = "21.0.0" pyopenssl = "<23"
pyparsing = "2.2.0" pyparsing = "2.2.0"
pypdf = "4.3.1"
pypdf2 = "1.27.9" pypdf2 = "1.27.9"
pyproj = "3.2.1" pyproj = "3.2.1"
pysaml2 = "7.3.1"
pyserial = "3.4" pyserial = "3.4"
python-chess = "^1.999" pysftp = "^0.2.9"
python-chess = "<0.24"
python-dateutil = "2.7.3" python-dateutil = "2.7.3"
python-git = "^2018.2.1" python-git = "^2018.2.1"
python-jose = "3.3.0" python-jose = "3.3.0"
python-json-logger = "0.1.5"
python-keystoneclient = "3.22.0" python-keystoneclient = "3.22.0"
python-ldap = "3.1.0" python-ldap = "3.1.0"
python-magic = "^0.4.27"
python-pptx = "0.6.23" python-pptx = "0.6.23"
python-stdnum = "1.17" python-slugify = "^8.0.4"
python-swiftclient = "^4.8.0" python-stdnum = "1.20"
python-swiftclient = "3.9.0"
python-u2flib-server = "^5.0.1" python-u2flib-server = "^5.0.1"
pytz = ">=2022.7" pytz = ">=2022.7"
pyusb = "1.0.2" pyusb = "1.0.2"
pyyaml = "6.0" pyyaml = "6.0"
pyzbar = "^0.1.9"
qrcode = "6.1" qrcode = "6.1"
randomwords = "^0.4.0" randomwords = "^0.4.0"
raven = "^6.10.0"
redis = "2.10.5"
reportlab = "3.6.5" reportlab = "3.6.5"
requests = "2.28.1" requests = "2.28.1"
requests-mock = "^1.12.1"
responses = "0.23.1" responses = "0.23.1"
rjsmin = "1.1.0"
selenium = "4.11.2" selenium = "4.11.2"
setuptools = "65.5.1" setuptools = "65.5.1"
shapely = "1.8.5" shapely = "1.8.5"
simplejson = "^3.20.1"
sphinx = "3.0" sphinx = "3.0"
sphinx-intl = "2.2.0" sphinx-intl = "2.2.0"
sphinx-rtd-theme = "1.2.2" sphinx-rtd-theme = "1.2.2"
sqlalchemy = "2.0.36"
sqlparse = "0.4.4" sqlparse = "0.4.4"
statsd = "3.2.1"
suds = "^1.2.0"
toml = "^0.10.2" toml = "^0.10.2"
tqdm = "^4.67.1" tqdm = "^4.67.1"
unidecode = "^1.4.0"
urllib3 = ">=1.26.13" urllib3 = ">=1.26.13"
uvloop = "0.17.0" uvloop = "0.17.0"
validators = "0.20.0" validators = "0.20.0"
@ -136,10 +169,12 @@ werkzeug = "0.16.1"
wheel = "0.42.0" wheel = "0.42.0"
win-unicode-console = "^0.5" win-unicode-console = "^0.5"
xlrd = "1.1.0" xlrd = "1.1.0"
xlsxwriter = "1.1.2"
xmlformatter = "^0.2.8" xmlformatter = "^0.2.8"
xmlschema = "2.5.1"
xmltodict = "^0.14.2"
zeep = "4.2.1" zeep = "4.2.1"
zipp = ">=3.6.0" zipp = ">=3.6.0"
zxcvbn = "^4.5.0"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
websocket_client = "^1.1.0" websocket_client = "^1.1.0"
@ -147,3 +182,7 @@ websocket_client = "^1.1.0"
[tool.poetry.dependencies.black] [tool.poetry.dependencies.black]
git = "https://github.com/psf/black.git" git = "https://github.com/psf/black.git"
rev = "22.3.0" rev = "22.3.0"
[tool.poetry.dependencies.wechatpy]
extras = [ "cryptography",]
version = "^1.8.18"

View file

@ -23,7 +23,7 @@ acme = "2.11.0"
aiohttp = "3.10.10" aiohttp = "3.10.10"
aioshutil = "<1.2" aioshutil = "<1.2"
anyio = ">=3.5" anyio = ">=3.5"
asn1crypto = "1.4.0" asn1crypto = "^1.5.1"
astor = "^0.8.1" astor = "^0.8.1"
avalara = "^25.7.1" avalara = "^25.7.1"
azure-identity = "1.13.0" azure-identity = "1.13.0"
@ -34,7 +34,6 @@ bokeh = "2.4.2"
boto3 = ">=1.20.41" boto3 = ">=1.20.41"
cachetools = "5.5.2" cachetools = "5.5.2"
cadquery = "2.4.0" cadquery = "2.4.0"
cbor2 = "5.4.2"
chardet = "5.0.0" chardet = "5.0.0"
click = "8.1.8" click = "8.1.8"
cloudflare = "2.20.0" cloudflare = "2.20.0"
@ -56,7 +55,6 @@ flake8 = "<6.0.0"
formio-data = "^2.1.1" formio-data = "^2.1.1"
freezegun = "0.3.15" freezegun = "0.3.15"
future = "0.18.3" future = "0.18.3"
geoip2 = "2.9.0"
geojson = "<3.0.0" geojson = "<3.0.0"
gevent = "20.9.0" gevent = "20.9.0"
gitpython = "^3.1.45" gitpython = "^3.1.45"
@ -68,7 +66,7 @@ img2pdf = "^0.6.1"
iscompatible = "^0.1.1" iscompatible = "^0.1.1"
isort = "<5.12.0" isort = "<5.12.0"
jinja2 = "2.11.3" jinja2 = "2.11.3"
jira = "^3.8.0" jira = "3.8.0"
josepy = "1.14.0" josepy = "1.14.0"
keystoneauth1 = "3.14.0" keystoneauth1 = "3.14.0"
libsass = "0.18.0" libsass = "0.18.0"
@ -86,17 +84,16 @@ oauthlib = "^3.3.1"
odoo-test-helper = "^2.1.1" odoo-test-helper = "^2.1.1"
odoorpc = "^0.10.1" odoorpc = "^0.10.1"
ofxparse = "0.19" ofxparse = "0.19"
openai = "^1.97.1" openai = "^1.99.6"
openpyxl = "3.0.9" openpyxl = "^3.1.5"
openupgradelib = "^3.11.1" openupgradelib = "^3.11.1"
ovh = "1.1.2" ovh = "1.1.2"
packaging = "21.3"
pandas = "1.3.5" pandas = "1.3.5"
paramiko = "^3.5.1" paramiko = "3.5.1"
passlib = "1.7.3" passlib = "1.7.3"
pathspec = "^0.12.1" pathspec = "^0.12.1"
pdf2image = "^1.17.0" pdf2image = "^1.17.0"
phonenumbers = "^9.0.10" phonenumbers = "^9.0.11"
pillow = "10.3.0" pillow = "10.3.0"
polib = "1.1.0" polib = "1.1.0"
prometheus-client = "0.11.0" prometheus-client = "0.11.0"
@ -107,15 +104,15 @@ py3o-template = "^0.10.0"
pycountry = "^24.6.1" pycountry = "^24.6.1"
pydot = "1.4.1" pydot = "1.4.1"
pyftpdlib = "^2.0.1" pyftpdlib = "^2.0.1"
pygithub = "^2.6.1" pygithub = "^2.7.0"
pygments = "2.7.4" pygments = "2.7.4"
pygount = "1.5.1" pygount = "1.5.1"
pyjwt = "2.5.0" pyjwt = "2.5.0"
pykcs11 = "^1.5.17" pykcs11 = "^1.5.18"
pylint = "3.1.0" pylint = "3.1.0"
pymssql = "<=2.2.5" pymssql = "<=2.2.5"
pyopenssl = "21.0.0" pyopenssl = "21.0.0"
pypdf = "^5.8.0" pypdf = "^5.9.0"
pypdf2 = "1.27.9" pypdf2 = "1.27.9"
pyproj = "3.2.1" pyproj = "3.2.1"
pysaml2 = "7.2.1" pysaml2 = "7.2.1"
@ -144,7 +141,6 @@ reportlab = "3.6.5"
requests = "2.28.1" requests = "2.28.1"
requests-oauthlib = "^2.0.0" requests-oauthlib = "^2.0.0"
requests-toolbelt = "^1.0.0" requests-toolbelt = "^1.0.0"
rjsmin = "1.1.0"
schwifty = "2024.4.0" schwifty = "2024.4.0"
selenium = "4.25.0" selenium = "4.25.0"
sentry-sdk = "<=1.9.0" sentry-sdk = "<=1.9.0"
@ -170,7 +166,6 @@ werkzeug = "0.16.1"
wheel = "^0.45.1" wheel = "^0.45.1"
win-unicode-console = "^0.5" win-unicode-console = "^0.5"
xlrd = "1.2.0" xlrd = "1.2.0"
xlsxwriter = "1.1.2"
xlwt = "1.3.0" xlwt = "1.3.0"
xmlformatter = "^0.2.8" xmlformatter = "^0.2.8"
xmlrunner = "^1.7.7" xmlrunner = "^1.7.7"

View file

@ -22,7 +22,7 @@ python = ">=3.10.14,<3.11"
a2wsgi = ">=1.10.6" a2wsgi = ">=1.10.6"
algoliasearch = ">=2.0,<3.0" algoliasearch = ">=2.0,<3.0"
apispec = ">=4.0.0" apispec = ">=4.0.0"
asana = "^5.2.0" asana = "^5.2.1"
asn1crypto = "^1.5.1" asn1crypto = "^1.5.1"
astor = "^0.8.1" astor = "^0.8.1"
avalara = "^25.7.1" avalara = "^25.7.1"
@ -38,15 +38,15 @@ cachetools = "5.5.2"
cairosvg = "^2.8.2" cairosvg = "^2.8.2"
cerberus = "^1.3.7" cerberus = "^1.3.7"
chardet = "4.0.0" chardet = "4.0.0"
chromedriver-binary = "^140.0.7322.0.0" chromedriver-binary = "^141.0.7362.0.0"
clicksend-client = "^5.0.78" clicksend-client = "^5.0.78"
cmake = "^4.0.3" cmake = "^4.1.0"
contextvars = "^2.4" contextvars = "^2.4"
countryinfo = "^0.1.2" countryinfo = "^0.1.2"
cryptography = "3.4.8" cryptography = "3.4.8"
cssselect = "^1.3.0" cssselect = "^1.3.0"
cybersource-rest-client-python = "0.0.56" cybersource-rest-client-python = "0.0.56"
cython = "^3.1.2" cython = "^3.1.3"
decorator = "4.4.2" decorator = "4.4.2"
dicomweb-client = "^0.60.1" dicomweb-client = "^0.60.1"
dlib = "^20.0.0" dlib = "^20.0.0"
@ -57,10 +57,10 @@ dropbox = "^12.0.2"
ebaysdk = "2.1.5" ebaysdk = "2.1.5"
elasticsearch = ">=7.0.0,<=7.13.4" elasticsearch = ">=7.0.0,<=7.13.4"
email-validator = "^2.2.0" email-validator = "^2.2.0"
endesive = "^2.19.0" endesive = "^2.19.1"
extendable = ">=0.0.4" extendable = ">=0.0.4"
extendable-pydantic = ">=1.2.0" extendable-pydantic = ">=1.2.0"
extract-msg = "^0.54.1" extract-msg = "^0.55.0"
ezdxf = "^1.4.2" ezdxf = "^1.4.2"
face-recognition = "^1.3.0" face-recognition = "^1.3.0"
factur-x = "^3.8" factur-x = "^3.8"
@ -78,11 +78,12 @@ gitpython = "^3.1.45"
google-cloud-documentai = "^3.5.0" google-cloud-documentai = "^3.5.0"
googletrans-py = "4.0.0" googletrans-py = "4.0.0"
graphene = "^3.4.3" graphene = "^3.4.3"
graphql-server = "^3.0.0b7" graphql-server = "^3.0.0"
greenlet = "3.2.1" greenlet = "3.2.1"
httpagentparser = "1.8.1" httpagentparser = "1.8.1"
hubspot-api-client = "10.0.0" hubspot-api-client = "10.0.0"
idna = "2.10" idna = "2.10"
img2pdf = "^0.6.1"
itsdangerous = "^2.2.0" itsdangerous = "^2.2.0"
jinja2 = "2.11.3" jinja2 = "2.11.3"
jsondiff = "^2.2.1" jsondiff = "^2.2.1"
@ -95,7 +96,7 @@ mako = "^1.3.10"
markupsafe = "1.1.1" markupsafe = "1.1.1"
marshmallow = "<4.0.0" marshmallow = "<4.0.0"
marshmallow-objects = ">=2.0.0" marshmallow-objects = ">=2.0.0"
matplotlib = "^3.10.3" matplotlib = "^3.10.5"
mechanize = "^0.4.10" mechanize = "^0.4.10"
messagebird = "^2.2.0" messagebird = "^2.2.0"
meteostat = "^1.7.4" meteostat = "^1.7.4"
@ -112,24 +113,25 @@ odoo-test-helper = "^2.1.1"
odoorpc = "^0.10.1" odoorpc = "^0.10.1"
ofxparse = "0.21" ofxparse = "0.21"
ofxtools = "^0.9.5" ofxtools = "^0.9.5"
openai = "^1.97.1" openai = "^1.99.9"
opencv-python = "^4.12.0.88" opencv-python = "^4.12.0.88"
openpyxl = "^3.1.5" openpyxl = "^3.1.5"
openupgradelib = "^3.11.1" openupgradelib = "^3.11.1"
ovh = "^1.2.0"
pandas = ">=0.25.3" pandas = ">=0.25.3"
paramiko = "^3.5.1" paramiko = "<4"
parse-accept-language = "^0.1.2" parse-accept-language = "^0.1.2"
passlib = "1.7.4" passlib = "1.7.4"
pathspec = "^0.12.1" pathspec = "^0.12.1"
pay-ccavenue = "^1.0.0" pay-ccavenue = "^1.0.0"
pdf2image = "^1.17.0" pdf2image = "^1.17.0"
pdfminer = "^20191125" pdfminer = "^20191125"
phonenumbers = "^9.0.10" phonenumbers = "^9.0.12"
pika = "^1.3.2" pika = "^1.3.2"
pillow = "10.3.0" pillow = "10.3.0"
plotly = "5.13.1" plotly = "5.13.1"
polib = "1.1.0" polib = "1.1.0"
pre-commit = "^4.2.0" pre-commit = "^4.3.0"
premailer = "^3.10.0" premailer = "^3.10.0"
printnodeapi = "^0.2.0" printnodeapi = "^0.2.0"
prometheus-client = "0.15.0" prometheus-client = "0.15.0"
@ -146,8 +148,8 @@ pydantic = ">=2.0.0"
pydevd-odoo = "^1.2.2" pydevd-odoo = "^1.2.2"
pydifact = "^0.1.8" pydifact = "^0.1.8"
pydot = "1.4.2" pydot = "1.4.2"
pyfcm = "^2.0.8" pyfcm = "^2.1.0"
pygithub = "^2.6.1" pygithub = "^2.7.0"
pyjwt = "^2.10.1" pyjwt = "^2.10.1"
pymssql = "<=2.2.5" pymssql = "<=2.2.5"
pyncclient = "^0.7" pyncclient = "^0.7"
@ -179,23 +181,23 @@ pyzk = "^0.9"
qrcode = "6.1" qrcode = "6.1"
redis = "4.3.4" redis = "4.3.4"
reportlab = "3.6.5" reportlab = "3.6.5"
requests = "2.30.0" requests = "2.31.0"
requests-oauthlib = "^2.0.0" requests-oauthlib = "^2.0.0"
requests-toolbelt = "^1.0.0" requests-toolbelt = "^1.0.0"
responses = "^0.25.7" responses = "^0.25.8"
roulier = "^1.1.1" roulier = "^1.1.1"
schwifty = "2024.4.0" schwifty = "2024.4.0"
selenium = "^4.34.2" selenium = "^4.35.0"
sentry-sdk = "<=1.9.0" sentry-sdk = "<=1.9.0"
setuptools = "65.5.1" setuptools = "65.5.1"
shapely = "^2.1.1" shapely = "^2.1.1"
simplejson = "^3.20.1" simplejson = "^3.20.1"
spacy = "3.8.2" spacy = "3.8.2"
speechrecognition = "3.10.0" speechrecognition = "3.10.0"
sqlalchemy = "^2.0.41" sqlalchemy = "^2.0.43"
statsd = "4.0.1" statsd = "4.0.1"
telesign = "^2.3.1" telesign = "^2.3.1"
telnyx = "^2.1.5" telnyx = "^2.1.6"
tldextract = "^5.3.0" tldextract = "^5.3.0"
todoist-python = "^8.1.4" todoist-python = "^8.1.4"
tweepy = "^4.16.0" tweepy = "^4.16.0"
@ -206,7 +208,7 @@ unidecode = "^1.4.0"
urllib3 = "2.5.0" urllib3 = "2.5.0"
validate-email = "^1.3" validate-email = "^1.3"
vobject = "0.9.6.1" vobject = "0.9.6.1"
vonage = "^4.4.3" vonage = "^4.6.0"
vonage-verify-v2 = "1.1.4" vonage-verify-v2 = "1.1.4"
werkzeug = "2.0.2" werkzeug = "2.0.2"
xlrd = "1.2.0" xlrd = "1.2.0"

View file

@ -19,24 +19,24 @@ authors = [ "Mathieu Benoit <mathben@technolibre.ca>",]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = ">=3.10.18,<3.11" python = ">=3.10.18,<3.11"
asana = "^5.2.0" asana = "^5.2.1"
asn1crypto = "^1.5.1" asn1crypto = "^1.5.1"
astor = "^0.8.1" astor = "^0.8.1"
avalara = "^25.7.1" avalara = "^25.7.1"
azure-identity = "^1.23.1" azure-identity = "^1.24.0"
azure-storage-blob = "^12.26.0" azure-storage-blob = "^12.26.0"
babel = "2.9.1" babel = "2.9.1"
base64io = "^1.0.3" base64io = "^1.0.3"
beautifulsoup4 = "^4.13.4" beautifulsoup4 = "^4.13.4"
bokeh = "3.4.1" bokeh = "3.4.1"
boto3 = "^1.39.14" boto3 = "^1.40.11"
cachetools = "5.5.2" cachetools = "5.5.2"
chardet = "4.0.0" chardet = "4.0.0"
countryinfo = "^0.1.2" countryinfo = "^0.1.2"
cryptography = "3.4.8" cryptography = "3.4.8"
cssselect = "^1.3.0" cssselect = "^1.3.0"
cybersource-rest-client-python = "0.0.56" cybersource-rest-client-python = "0.0.56"
cython = "^3.1.2" cython = "^3.1.3"
decorator = "4.4.2" decorator = "4.4.2"
dnspython = "^2.7.0" dnspython = "^2.7.0"
docutils = "0.17" docutils = "0.17"
@ -47,7 +47,7 @@ endesive = "<=2.18.5"
ezdxf = "^1.4.2" ezdxf = "^1.4.2"
factur-x = "^3.8" factur-x = "^3.8"
filetype = "^1.2.0" filetype = "^1.2.0"
firebase-admin = "^7.0.0" firebase-admin = "^7.1.0"
formio-data = "^2.1.1" formio-data = "^2.1.1"
freezegun = "0.3.15" freezegun = "0.3.15"
fsspec = ">=2024.5.0" fsspec = ">=2024.5.0"
@ -63,13 +63,14 @@ greenlet = "3.2.1"
httpagentparser = "^1.9.5" httpagentparser = "^1.9.5"
hubspot-api-client = "10.0.0" hubspot-api-client = "10.0.0"
idna = "2.10" idna = "2.10"
img2pdf = "^0.6.1"
jinja2 = "2.11.3" jinja2 = "2.11.3"
libsass = "0.20.1" libsass = "0.20.1"
linkedin = "^0.1.5" linkedin = "^0.1.5"
lxml = "4.6.5" lxml = "4.6.5"
mako = "^1.3.10" mako = "^1.3.10"
markupsafe = "1.1.1" markupsafe = "1.1.1"
matplotlib = "^3.10.3" matplotlib = "^3.10.5"
mechanize = "^0.4.10" mechanize = "^0.4.10"
meteostat = "^1.7.4" meteostat = "^1.7.4"
mpld3 = "0.5.10" mpld3 = "0.5.10"
@ -81,19 +82,21 @@ numpy-financial = "<=1.0.0"
numpy-stl = "^3.2.0" numpy-stl = "^3.2.0"
odoorpc = "^0.10.1" odoorpc = "^0.10.1"
ofxparse = "0.21" ofxparse = "0.21"
openai = "^1.99.9"
opencv-python = "^4.12.0.88" opencv-python = "^4.12.0.88"
openpyxl = "^3.1.5" openpyxl = "^3.1.5"
openupgradelib = "^3.11.1" openupgradelib = "^3.11.1"
pandas = ">=0.25.3" pandas = ">=0.25.3"
paramiko = "^3.5.1" paramiko = "<4"
passlib = "1.7.4" passlib = "1.7.4"
pathspec = "^0.12.1" pathspec = "^0.12.1"
pdf2image = "^1.17.0"
pdfminer = "^20191125" pdfminer = "^20191125"
phonenumbers = "^9.0.10" phonenumbers = "^9.0.12"
pillow = "10.3.0" pillow = "10.3.0"
plotly = "5.22.0" plotly = "5.22.0"
polib = "1.1.1" polib = "1.1.1"
pre-commit = "^4.2.0" pre-commit = "^4.3.0"
printnodeapi = "^0.2.0" printnodeapi = "^0.2.0"
prometheus-client = "^0.22.1" prometheus-client = "^0.22.1"
psutil = "5.8.0" psutil = "5.8.0"
@ -105,11 +108,11 @@ py3o-template = "^0.10.0"
pycountry = "^24.6.1" pycountry = "^24.6.1"
pydevd-odoo = "^1.2.2" pydevd-odoo = "^1.2.2"
pydot = "1.4.2" pydot = "1.4.2"
pygithub = "^2.6.1" pygithub = "^2.7.0"
pyjwt = "^2.10.1" pyjwt = "^2.10.1"
pyncclient = "^0.7" pyncclient = "^0.7"
pyopenssl = "20.0.1" pyopenssl = "20.0.1"
pypdf = "^5.9.0" pypdf = "^6.0.0"
pypdf2 = "1.26.0" pypdf2 = "1.26.0"
pysaml2 = "^7.5.2" pysaml2 = "^7.5.2"
pyserial = "3.5" pyserial = "3.5"
@ -126,9 +129,10 @@ python-stdnum = "1.17"
pytz = "^2025.2" pytz = "^2025.2"
pyusb = "1.0.2" pyusb = "1.0.2"
pyyaml = "^6.0.2" pyyaml = "^6.0.2"
pyzbar = "^0.1.9"
pyzk = "^0.9" pyzk = "^0.9"
qrcode = "7.3.1" qrcode = "7.3.1"
redis = "^6.2.0" redis = "^6.4.0"
reportlab = "3.6.5" reportlab = "3.6.5"
requests = "2.30.0" requests = "2.30.0"
requests-toolbelt = "^1.0.0" requests-toolbelt = "^1.0.0"
@ -140,17 +144,17 @@ setuptools = "65.5.1"
shapely = "^2.1.1" shapely = "^2.1.1"
spacy = "3.8.2" spacy = "3.8.2"
speechrecognition = "3.10.0" speechrecognition = "3.10.0"
sqlalchemy = "^2.0.41" sqlalchemy = "^2.0.43"
statsd = "^4.0.1" statsd = "^4.0.1"
telesign = "^2.3.1" telesign = "^2.3.1"
tldextract = "^5.3.0" tldextract = "^5.3.0"
tweepy = "^4.16.0" tweepy = "^4.16.0"
twilio = "^9.7.0" twilio = "^9.7.1"
unidecode = "^1.4.0" unidecode = "^1.4.0"
urllib3 = "1.26.5" urllib3 = "1.26.5"
validate-email = "^1.3" validate-email = "^1.3"
vobject = "0.9.6.1" vobject = "0.9.6.1"
vonage = "^4.4.3" vonage = "^4.6.0"
vonage-verify-v2 = "1.1.4" vonage-verify-v2 = "1.1.4"
werkzeug = "2.0.2" werkzeug = "2.0.2"
xlrd = "1.2.0" xlrd = "1.2.0"

View file

@ -20,58 +20,72 @@ authors = [ "Mathieu Benoit <mathben@technolibre.ca>",]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = ">=3.12.10,<3.13" python = ">=3.12.10,<3.13"
asn1crypto = "1.5.1" asn1crypto = "1.5.1"
avalara = "^25.7.1" astor = "^0.8.1"
avalara = "^25.9.0"
babel = "2.10.3" babel = "2.10.3"
base64io = "^1.0.3" base64io = "^1.0.3"
beautifulsoup4 = "^4.13.4" beautifulsoup4 = "^4.13.5"
bokeh = "3.6.3" bokeh = "3.6.3"
boto3 = "^1.39.14" boto3 = "^1.40.31"
cachetools = "^6.1.0" cachetools = "^6.2.0"
caldav = "1.3.9"
cbor2 = "5.6.2" cbor2 = "5.6.2"
chardet = "5.2.0" chardet = "5.2.0"
code-writer = "^1.2.0"
cryptography = "42.0.8" cryptography = "42.0.8"
cssselect = "^1.3.0" cssselect = "^1.3.0"
cython = "^3.1.2" cython = "^3.1.3"
decorator = "5.1.1" decorator = "5.1.1"
docutils = "0.20.1" docutils = "0.20.1"
email-validator = "^2.2.0" email-validator = "^2.3.0"
extract-msg = "^0.55.0"
ezdxf = "^1.4.2" ezdxf = "^1.4.2"
factur-x = "^3.8" factur-x = "^3.8"
filetype = "^1.2.0" filetype = "^1.2.0"
formio-data = "^2.1.1" formio-data = "^2.1.1"
freezegun = "1.2.1" freezegun = "1.2.1"
fsspec = ">=2024.5.0"
geoip2 = "2.9.0" geoip2 = "2.9.0"
geojson = "^3.2.0" geojson = "^3.2.0"
gevent = "24.2.1" gevent = "24.2.1"
gitpython = "^3.1.45" gitpython = "^3.1.45"
googletrans-py = "4.0.0" googletrans-py = "4.0.0"
greenlet = "3.0.3" greenlet = "3.0.3"
icalendar = "5.0.13"
idna = "3.6" idna = "3.6"
img2pdf = "^0.6.1"
isort = "^6.0.1"
jinja2 = "3.1.2" jinja2 = "3.1.2"
js2py = "^0.74"
libsass = "0.22.0" libsass = "0.22.0"
lxml = "5.2.1" lxml = "5.2.1"
lxml-html-clean = "^0.4.2" lxml-html-clean = "^0.4.2"
mako = "^1.3.10" mako = "^1.3.10"
markdown2 = "2.5.1"
markdownify = "0.13.1"
markupsafe = "2.1.5" markupsafe = "2.1.5"
matplotlib = "^3.10.3" matplotlib = "^3.10.6"
meteostat = "1.6.8" meteostat = "1.6.8"
mock = "^5.2.0" mock = "^5.2.0"
mpld3 = "0.5.10" mpld3 = "0.5.10"
msgraphfs = "^0.3"
num2words = "0.5.13" num2words = "0.5.13"
numpy-stl = "^3.2.0" numpy-stl = "^3.2.0"
odoorpc = "^0.10.1"
ofxparse = "0.21" ofxparse = "0.21"
openai = "^1.107.3"
openpyxl = "3.1.2" openpyxl = "3.1.2"
openupgradelib = "^3.11.1" openupgradelib = "^3.11.1"
openwebui-client = ">=0.3.0"
pandas = ">=0.25.3" pandas = ">=0.25.3"
paramiko = "^3.5.1" paramiko = "<4.0.0"
passlib = "1.7.4" passlib = "1.7.4"
pathspec = "^0.12.1" pathspec = "^0.12.1"
pdf2image = "^1.17.0"
pdfminer = "^20191125" pdfminer = "^20191125"
phonenumbers = "^9.0.10" phonenumbers = "^9.0.14"
pillow = "10.2.0" pillow = "10.2.0"
polib = "1.1.1" polib = "1.1.1"
pre-commit = "^4.2.0" pre-commit = "^4.3.0"
premailer = "^3.10.0" premailer = "^3.10.0"
prometheus-client = "^0.22.1" prometheus-client = "^0.22.1"
psutil = "5.9.8" psutil = "5.9.8"
@ -81,12 +95,19 @@ py3o-template = "^0.10.0"
pycountry = "^24.6.1" pycountry = "^24.6.1"
pydevd-odoo = "^1.2.2" pydevd-odoo = "^1.2.2"
pyftpdlib = "^2.0.1" pyftpdlib = "^2.0.1"
pygithub = "^2.6.1" pygithub = "^2.8.1"
pyjsparser = "^2.7.1"
pyjwt = "^2.10.1"
pymssql = "^2.3.7"
pymysql = "^1.1.2"
pyopenssl = "24.1.0" pyopenssl = "24.1.0"
pypdf2 = "2.12.1" pypdf2 = "2.12.1"
pyproj = "^3.7.2"
pysaml2 = "^7.5.2" pysaml2 = "^7.5.2"
pyserial = "3.5" pyserial = "3.5"
pysftp = "^0.2.9"
python-dateutil = "2.8.2" python-dateutil = "2.8.2"
python-dotenv = ">=1.0.0"
python-jose = "^3.5.0" python-jose = "^3.5.0"
python-json-logger = "^3.3.0" python-json-logger = "^3.3.0"
python-ldap = "3.4.4" python-ldap = "3.4.4"
@ -95,20 +116,25 @@ python-stdnum = "1.19"
pytz = "^2025.2" pytz = "^2025.2"
pyusb = "1.2.1" pyusb = "1.2.1"
pyyaml = "^6.0.2" pyyaml = "^6.0.2"
pyzbar = "^0.1.9"
qrcode = "7.4.2" qrcode = "7.4.2"
redis = "^6.2.0" redis = "^6.4.0"
reportlab = "4.1.0" reportlab = "4.1.0"
requests = "2.31.0" requests = "2.31.0"
requests-toolbelt = "^1.0.0"
rjsmin = "1.2.0" rjsmin = "1.2.0"
roulier = "^1.1.1" roulier = "^1.1.1"
schwifty = "2024.4.0" schwifty = "2024.4.0"
sentry-sdk = ">=2.0.0,<=2.22.0"
setuptools = "65.5.1" setuptools = "65.5.1"
shapely = "^2.1.1" shapely = "^2.1.1"
statsd = "^4.0.1" statsd = "^4.0.1"
tldextract = "^5.3.0"
unidecode = "^1.4.0" unidecode = "^1.4.0"
urllib3 = "2.0.7" urllib3 = "2.0.7"
vobject = "0.9.6.1" vobject = "0.9.6.1"
werkzeug = "3.0.1" werkzeug = "3.0.1"
wget = "^3.2"
xlrd = "2.0.1" xlrd = "2.0.1"
xlsxwriter = "3.1.9" xlsxwriter = "3.1.9"
xlwt = "1.3.0" xlwt = "1.3.0"
@ -118,5 +144,9 @@ zeep = "4.2.1"
git = "https://github.com/psf/black.git" git = "https://github.com/psf/black.git"
rev = "24.8.0" rev = "24.8.0"
[tool.poetry.dependencies.fsspec]
extras = [ "s3",]
version = "^2025.9.0"
[poetry.group.dev.dependencies] [poetry.group.dev.dependencies]
websocket_client = "^1.1.0" websocket_client = "^1.1.0"

View file

@ -16,7 +16,7 @@ selenium==4.11.2
# For testing # For testing
websocket-client websocket-client
python-stdnum python-stdnum==1.20
python-u2flib_server python-u2flib_server
python-chess python-chess
python-git python-git
@ -134,6 +134,11 @@ azure.storage.blob==12.19.0
sqlparse==0.4.4 sqlparse==0.4.4
zeep==4.2.1 zeep==4.2.1
python-jose==3.3.0 python-jose==3.3.0
pypdf==4.3.1
factur-x==3.6
sqlalchemy==2.0.36
josepy==1.14.0
paramiko==3.5.1
# Force version for security update # Force version for security update
pyyaml==6.0 pyyaml==6.0

View file

@ -16,7 +16,7 @@ selenium==4.11.2
# For testing # For testing
websocket-client websocket-client
python-stdnum python-stdnum==1.20
python-u2flib_server python-u2flib_server
python-chess python-chess
python-git python-git
@ -146,6 +146,11 @@ azure.storage.blob==12.19.0
sqlparse==0.4.4 sqlparse==0.4.4
zeep==4.2.1 zeep==4.2.1
python-jose==3.3.0 python-jose==3.3.0
pypdf==4.3.1
factur-x==3.6
sqlalchemy==2.0.36
josepy==1.14.0
paramiko==3.5.1
# Force version for security update # Force version for security update
pyyaml==6.0 pyyaml==6.0

View file

@ -110,6 +110,8 @@ cadquery==2.4.0
numpy-stl==3.1.2 numpy-stl==3.1.2
matplotlib==3.7.5 matplotlib==3.7.5
ezdxf==1.1.4 ezdxf==1.1.4
jira==3.8.0
paramiko==3.5.1
# asyncio # asyncio
aioshutil<1.2 aioshutil<1.2

View file

@ -23,6 +23,7 @@ googletrans-py==4.0.0
# Module extra unknown name # Module extra unknown name
filetype filetype
PyPDF2 PyPDF2
img2pdf
# For logical test and quality # For logical test and quality
git+https://github.com/psf/black.git@24.8.0 git+https://github.com/psf/black.git@24.8.0
@ -45,7 +46,7 @@ pyopenssl==20.0.1
PyPDF2==1.26.0 PyPDF2==1.26.0
python-ldap==3.4.0 python-ldap==3.4.0
pyusb==1.0.2 pyusb==1.0.2
requests==2.30.0 requests==2.31.0
reportlab==3.6.5 reportlab==3.6.5
urllib3==2.5.0 urllib3==2.5.0
cachetools==5.5.2 cachetools==5.5.2

View file

@ -23,6 +23,7 @@ googletrans-py==4.0.0
# Module extra unknown name # Module extra unknown name
filetype filetype
PyPDF2 PyPDF2
img2pdf
# For logical test and quality # For logical test and quality
git+https://github.com/psf/black.git@24.8.0 git+https://github.com/psf/black.git@24.8.0

View file

@ -16,7 +16,7 @@ setuptools==65.5.1
googletrans-py==4.0.0 googletrans-py==4.0.0
#googletrans==4.0.0-rc1 #googletrans==4.0.0-rc1
#chardet==3.0.4 #chardet==3.0.4
#openai==1.20.0 openai
# Module infobip_whatsapp_integration # Module infobip_whatsapp_integration
# Ignore it, need another version of requests # Ignore it, need another version of requests
@ -25,6 +25,7 @@ googletrans-py==4.0.0
# Module extra unknown name # Module extra unknown name
filetype filetype
PyPDF2 PyPDF2
img2pdf
# For logical test and quality # For logical test and quality
git+https://github.com/psf/black.git@24.8.0 git+https://github.com/psf/black.git@24.8.0

View file

@ -112,5 +112,5 @@ if [ $# -gt 0 ]; then
fi fi
else else
# check_git "./addons/TechnoLibre_odoo-code-generator" # check_git "./addons/TechnoLibre_odoo-code-generator"
check_git "./addons.odoo${ODOO_VERSION}/TechnoLibre_odoo-code-generator-template" check_git "./odoo${ODOO_VERSION}/addons/TechnoLibre_odoo-code-generator-template"
fi fi

View file

@ -29,11 +29,11 @@ filename_odoo_version = ".odoo-version"
if not os.path.isfile(filename_odoo_version): if not os.path.isfile(filename_odoo_version):
_logger.error(f"Missing file {filename_odoo_version}") _logger.error(f"Missing file {filename_odoo_version}")
sys.exit(1) sys.exit(1)
with open(".odoo-version", "r") as f: with open(filename_odoo_version, "r") as f:
odoo_version = f.readline() odoo_version = f.readline()
CODE_GENERATOR_DIRECTORY = ( CODE_GENERATOR_DIRECTORY = (
f"./addons.odoo{odoo_version}/TechnoLibre_odoo-code-generator-template/" f"./odoo{ODOO_VERSION}/addons/TechnoLibre_odoo-code-generator-template/"
) )
CODE_GENERATOR_DEMO_NAME = "code_generator_demo" CODE_GENERATOR_DEMO_NAME = "code_generator_demo"
KEY_REPLACE_CODE_GENERATOR_DEMO = 'MODULE_NAME = "%s"' KEY_REPLACE_CODE_GENERATOR_DEMO = 'MODULE_NAME = "%s"'
@ -142,9 +142,9 @@ class ProjectManagement:
self.has_config_update = False self.has_config_update = False
self.odoo_config = odoo_config self.odoo_config = odoo_config
# Replace addons/ by addons.odoo12.0/ # Replace addons/ by odoo12.0/addons/
module_directory = module_directory.replace( module_directory = module_directory.replace(
"addons/", f"addons.odoo{odoo_version}/" "addons/", f"odoo{ODOO_VERSION}/addons/"
) )
self.module_directory = module_directory self.module_directory = module_directory

View file

@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
. ./env_var.sh . ./env_var.sh
Red='\033[0;31m' # Red Red='\033[0;31m' # Red
Color_Off='\033[0m' # Text Reset Color_Off='\033[0m' # Text Reset
ERPLIBRE_IMAGE_NAME=$(cat .erplibre-semver-version|xargs) ERPLIBRE_IMAGE_NAME=$(cat .erplibre-semver-version | xargs)
ERPLIBRE_VERSION_MAIN=$(cat .erplibre-version|xargs) ERPLIBRE_VERSION_MAIN=$(cat .erplibre-version | xargs)
ODOO_VERSION=$(cat .odoo-version|xargs) ODOO_VERSION=$(cat .odoo-version | xargs)
PYTHON_VERSION=$(cat .python-odoo-version|xargs) PYTHON_VERSION=$(cat .python-odoo-version | xargs)
POETRY_VERSION=$(cat .poetry-version|xargs) POETRY_VERSION=$(cat .poetry-version | xargs)
IS_DEBIAN_BOOKWORM=true IS_DEBIAN_BOOKWORM=true
IS_DEBIAN_BULLSEYE=true IS_DEBIAN_BULLSEYE=true
@ -21,41 +21,45 @@ ERPLIBRE_DOCKER_PROD="technolibre/erplibre"
output_version="" output_version=""
for arg in "$@" for arg in "$@"; do
do if [ "$arg" == "--no-cache" ]; then
if [ "$arg" == "--no-cache" ] ARGS="${ARGS} --no-cache"
then elif [ "$arg" == "--release" ]; then
ARGS="${ARGS} --no-cache" IS_RELEASE=true
elif [ "$arg" == "--release" ] elif [ "$arg" == "--release_alpha" ]; then
then IS_RELEASE_ALPHA=true
IS_RELEASE=true elif [ "$arg" == "--release_beta" ]; then
elif [ "$arg" == "--release_alpha" ] IS_RELEASE_BETA=true
then elif [ "$arg" == "--odoo_18" ]; then
IS_RELEASE_ALPHA=true output_version=$(python ./script/version/get_version.py --odoo_version 18.0)
elif [ "$arg" == "--release_beta" ] elif [ "$arg" == "--odoo_17" ]; then
then output_version=$(python ./script/version/get_version.py --odoo_version 17.0)
IS_RELEASE_BETA=true elif [ "$arg" == "--odoo_16" ]; then
elif [ "$arg" == "--odoo_16" ] output_version=$(python ./script/version/get_version.py --odoo_version 16.0)
then elif [ "$arg" == "--odoo_15" ]; then
output_version=$(python ./script/version/get_version.py --odoo_version 16.0) IS_DEBIAN_BOOKWORM=false
elif [ "$arg" == "--odoo_14" ] IS_DEBIAN_BULLSEYE=false
then output_version=$(python ./script/version/get_version.py --odoo_version 15.0)
IS_DEBIAN_BOOKWORM=false elif [ "$arg" == "--odoo_14" ]; then
IS_DEBIAN_BULLSEYE=false IS_DEBIAN_BOOKWORM=false
output_version=$(python ./script/version/get_version.py --odoo_version 14.0) IS_DEBIAN_BULLSEYE=false
elif [ "$arg" == "--odoo_12" ] output_version=$(python ./script/version/get_version.py --odoo_version 14.0)
then elif [ "$arg" == "--odoo_13" ]; then
IS_DEBIAN_BOOKWORM=false IS_DEBIAN_BOOKWORM=false
IS_DEBIAN_BULLSEYE=false IS_DEBIAN_BULLSEYE=false
output_version=$(python ./script/version/get_version.py --odoo_version 12.0) output_version=$(python ./script/version/get_version.py --odoo_version 13.0)
fi elif [ "$arg" == "--odoo_12" ]; then
IS_DEBIAN_BOOKWORM=false
IS_DEBIAN_BULLSEYE=false
output_version=$(python ./script/version/get_version.py --odoo_version 12.0)
fi
done done
if [ "$output_version" != "" ]; then if [ "$output_version" != "" ]; then
ODOO_VERSION=$(echo "$output_version" | awk 'NR==1') ODOO_VERSION=$(echo "$output_version" | awk 'NR==1')
POETRY_VERSION=$(echo "$output_version" | awk 'NR==2') POETRY_VERSION=$(echo "$output_version" | awk 'NR==2')
PYTHON_VERSION=$(echo "$output_version" | awk 'NR==3') PYTHON_VERSION=$(echo "$output_version" | awk 'NR==3')
ERPLIBRE_VERSION_MAIN=$(echo "$output_version" | awk 'NR==4') ERPLIBRE_VERSION_MAIN=$(echo "$output_version" | awk 'NR==4')
fi fi
echo "Build with" echo "Build with"
@ -64,21 +68,17 @@ echo $ODOO_VERSION
echo $PYTHON_VERSION echo $PYTHON_VERSION
echo $POETRY_VERSION echo $POETRY_VERSION
if [ "$IS_RELEASE_ALPHA" == true ] if [ "$IS_RELEASE_ALPHA" == true ]; then
then
# Add commit hash when release alpha # Add commit hash when release alpha
ERPLIBRE_VERSION="${ERPLIBRE_VERSION}_ALPHA_odoo_${ODOO_VERSION}_$(git rev-parse --short HEAD)" ERPLIBRE_VERSION="${ERPLIBRE_VERSION}_ALPHA_odoo_${ODOO_VERSION}_$(git rev-parse --short HEAD)"
elif [ "$IS_RELEASE_BETA" == true ] elif [ "$IS_RELEASE_BETA" == true ]; then
then
# Add commit hash when release beta # Add commit hash when release beta
ERPLIBRE_VERSION="${ERPLIBRE_VERSION}_BETA_odoo_${ODOO_VERSION}_$(git rev-parse --short HEAD)" ERPLIBRE_VERSION="${ERPLIBRE_VERSION}_BETA_odoo_${ODOO_VERSION}_$(git rev-parse --short HEAD)"
elif [ "$IS_RELEASE" == false ] elif [ "$IS_RELEASE" == false ]; then
then
# Add commit hash when not a release # Add commit hash when not a release
ERPLIBRE_VERSION="${ERPLIBRE_VERSION}_odoo_${ODOO_VERSION}_$(git rev-parse --short HEAD)" ERPLIBRE_VERSION="${ERPLIBRE_VERSION}_odoo_${ODOO_VERSION}_$(git rev-parse --short HEAD)"
fi fi
ERPLIBRE_DOCKER_BASE_VERSION="${ERPLIBRE_DOCKER_BASE}:${ERPLIBRE_VERSION}" ERPLIBRE_DOCKER_BASE_VERSION="${ERPLIBRE_DOCKER_BASE}:${ERPLIBRE_VERSION}"
ERPLIBRE_DOCKER_PROD_VERSION="${ERPLIBRE_DOCKER_PROD}:${ERPLIBRE_VERSION}" ERPLIBRE_DOCKER_PROD_VERSION="${ERPLIBRE_DOCKER_PROD}:${ERPLIBRE_VERSION}"
ERPLIBRE_VERSION_MAIN="odoo${ODOO_VERSION}_python${PYTHON_VERSION}" ERPLIBRE_VERSION_MAIN="odoo${ODOO_VERSION}_python${PYTHON_VERSION}"
@ -92,8 +92,8 @@ ARGS="${ARGS} --build-arg ERPLIBRE_VERSION=${ERPLIBRE_VERSION_MAIN} --build-arg
retVal=$? retVal=$?
if [[ $retVal -ne 0 ]]; then if [[ $retVal -ne 0 ]]; then
echo -e "${Red}Error${Color_Off} ./script/docker/docker_build.sh when execute docker_update_version.py" echo -e "${Red}Error${Color_Off} ./script/docker/docker_build.sh when execute docker_update_version.py"
exit 1 exit 1
fi fi
cd docker cd docker
@ -104,15 +104,17 @@ if [ "$IS_DEBIAN_BOOKWORM" == true ]; then
ARGS="${ARGS} --build-arg DEBIAN_NAME=bookworm --build-arg URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb --build-arg SHA1SUM_WKTHMLTOX=e9f95436298c77cc9406bd4bbd242f4771d0a4b2" ARGS="${ARGS} --build-arg DEBIAN_NAME=bookworm --build-arg URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb --build-arg SHA1SUM_WKTHMLTOX=e9f95436298c77cc9406bd4bbd242f4771d0a4b2"
elif [ "$IS_DEBIAN_BOOKWORM" != true ]; then elif [ "$IS_DEBIAN_BOOKWORM" != true ]; then
ARGS="${ARGS} --build-arg DEBIAN_NAME=bullseye --build-arg URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb --build-arg SHA1SUM_WKTHMLTOX=cecbf5a6abbd68d324a7cd6c51ec843d71e98951" ARGS="${ARGS} --build-arg DEBIAN_NAME=bullseye --build-arg URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb --build-arg SHA1SUM_WKTHMLTOX=cecbf5a6abbd68d324a7cd6c51ec843d71e98951"
elif [ "IS_DEBIAN_BULLSEYE" != true ]; then elif [ "$IS_DEBIAN_BULLSEYE" != true ]; then
ARGS="${ARGS} --build-arg DEBIAN_NAME=buster --build-arg URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb --build-arg SHA1SUM_WKTHMLTOX=d9f259a67e05e1c221d48b504453645e6c491fab" ARGS="${ARGS} --build-arg DEBIAN_NAME=buster --build-arg URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb --build-arg SHA1SUM_WKTHMLTOX=d9f259a67e05e1c221d48b504453645e6c491fab"
fi fi
set -e set -e
# Build base # Build base
echo "docker build ${ARGS} -f Dockerfile.base -t ${ERPLIBRE_DOCKER_BASE_VERSION} ."
docker build ${ARGS} -f Dockerfile.base -t ${ERPLIBRE_DOCKER_BASE_VERSION} . docker build ${ARGS} -f Dockerfile.base -t ${ERPLIBRE_DOCKER_BASE_VERSION} .
# Build prod # Build prod
echo "docker build ${ARGS} -f Dockerfile.prod.pkg -t ${ERPLIBRE_DOCKER_PROD_VERSION} ."
docker build ${ARGS} -f Dockerfile.prod.pkg -t ${ERPLIBRE_DOCKER_PROD_VERSION} . docker build ${ARGS} -f Dockerfile.prod.pkg -t ${ERPLIBRE_DOCKER_PROD_VERSION} .
cd - cd -

View file

@ -9,13 +9,13 @@ BASENAME="${BASENAME,,}"
docker exec -u root -ti ${BASENAME}-ERPLibre-1 /bin/bash -c "\ docker exec -u root -ti ${BASENAME}-ERPLibre-1 /bin/bash -c "\
cd /ERPLibre; \ cd /ERPLibre; \
./docker/repo_manifest_gen_org_prefix_path.py /ERPLibre/addons /etc/odoo/odoo.conf /etc/odoo/odoo.conf; \ ./docker/repo_manifest_gen_org_prefix_path.py /ERPLibre/odoo$(cat ".odoo-version" | xargs)/addons /etc/odoo/odoo.conf /etc/odoo/odoo.conf; \
" "
retVal=$? retVal=$?
if [[ $retVal -ne 0 ]]; then if [[ $retVal -ne 0 ]]; then
docker exec -u root -ti ${BASENAME}_ERPLibre_1 /bin/bash -c "\ docker exec -u root -ti ${BASENAME}_ERPLibre_1 /bin/bash -c "\
cd /ERPLibre; \ cd /ERPLibre; \
./docker/repo_manifest_gen_org_prefix_path.py /ERPLibre/addons /etc/odoo/odoo.conf /etc/odoo/odoo.conf; \ ./docker/repo_manifest_gen_org_prefix_path.py /ERPLibre/odoo$(cat ".odoo-version" | xargs)/addons /etc/odoo/odoo.conf /etc/odoo/odoo.conf; \
" "
fi fi

View file

@ -4,7 +4,8 @@
EL_USER=${USER} EL_USER=${USER}
EL_HOME=$PWD EL_HOME=$PWD
EL_HOME_ODOO="${EL_HOME}/odoo${EL_ODOO_VERSION}/odoo" EL_HOME_ODOO_PROJECT="${EL_HOME}/odoo${EL_ODOO_VERSION}"
EL_HOME_ODOO="${EL_HOME_ODOO_PROJECT}/odoo"
#EL_PORT="8069" #EL_PORT="8069"
#EL_LONGPOLLING_PORT="8072" #EL_LONGPOLLING_PORT="8072"
#EL_SUPERADMIN="admin" #EL_SUPERADMIN="admin"
@ -23,103 +24,144 @@ printf "db_password = False\n" >> "${EL_CONFIG_FILE}"
printf "xmlrpc_port = ${EL_PORT}\n" >> "${EL_CONFIG_FILE}" printf "xmlrpc_port = ${EL_PORT}\n" >> "${EL_CONFIG_FILE}"
printf "longpolling_port = ${EL_LONGPOLLING_PORT}\n" >> "${EL_CONFIG_FILE}" printf "longpolling_port = ${EL_LONGPOLLING_PORT}\n" >> "${EL_CONFIG_FILE}"
printf "addons_path = ${EL_HOME_ODOO}/addons,${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/addons," >> "${EL_CONFIG_FILE}" printf "addons_path = ${EL_HOME_ODOO}/addons,${EL_HOME_ODOO}/odoo/addons,${EL_HOME}/odoo${EL_ODOO_VERSION}/addons/addons," >> "${EL_CONFIG_FILE}"
if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/CybroOdoo_OpenHRMS," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/CybroOdoo_CybroAddons," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-analytic," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/CybroOdoo_OpenHRMS," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-budgeting," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/ERPLibre_erplibre_addons," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-closing," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/MathBenTech_development," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-consolidation," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/MathBenTech_odoo-business-spending-management-quebec-canada," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-financial-reporting," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-analytic," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-financial-tools," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-budgeting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-fiscal-rule," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-closing," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-invoice-reporting," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-consolidation," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-invoicing," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-financial-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-payment," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-financial-tools," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-reconcile," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-fiscal-rule," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_apps-store," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-invoice-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_bank-payment," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-invoicing," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_bank-payment-alternative," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-payment," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_bank-statement-import," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_account-reconcile," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_brand," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_agreement," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_business-requirement," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_apps-store," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_calendar," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_automation," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_commission," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_bank-payment," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_community-data-files," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_bank-statement-import," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_brand," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-ecommerce," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_business-requirement," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-interfaces," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_calendar," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-jira," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_commission," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-telephony," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_community-data-files," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_contract," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_connector," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_credit-control," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_connector-ecommerce," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_crm," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_connector-interfaces," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_crowdfunding," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_connector-jira," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_currency," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_connector-telephony," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_data-protection," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_contract," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_ddmrp," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_cooperative," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_delivery-carrier," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_credit-control," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_dms," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_crm," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_donation," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_currency," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_e-commerce," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_data-protection," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_edi," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_ddmrp," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_event," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_delivery-carrier," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_field-service," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_dms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_fleet," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_donation," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_geospatial," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_e-commerce," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_helpdesk," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_edi," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_hr," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_edi-framework," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_hr-holidays," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_event," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_interface-github," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_field-service," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_knowledge," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_fleet," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_l10n-canada," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_geospatial," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_mail," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_helpdesk," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_maintenance," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_hr," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_management-system," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_hr-expense," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_manufacture," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_hr-holidays," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_margin-analysis," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_interface-github," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_mis-builder," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_intrastat-extrastat," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_multi-company," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_iot," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_operating-unit," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_knowledge," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_partner-contact," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_l10n-canada," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_pos," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_maintenance," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-attribute," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_management-system," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-configurator," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_manufacture," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-pack," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_margin-analysis," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-variant," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_mis-builder," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_project," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_mis-builder-contrib," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_project-agile," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_multi-company," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_project-reporting," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_odoo-pim," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_purchase-workflow," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_operating-unit," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_queue," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_partner-contact," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_reporting-engine," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_pms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_rma," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_pos," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_sale-reporting," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_product-attribute," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_sale-workflow," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_product-configurator," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-auth," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_product-pack," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-backend," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_product-variant," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-brand," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_project," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-env," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_project-agile," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-ux," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_project-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_social," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_purchase-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_stock-logistics-putaway," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_purchase-workflow," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_stock-logistics-warehouse," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_queue," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_storage," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_repair," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-association," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_report-print-send," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-hotel," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_reporting-engine," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-isp," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_rest-framework," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-travel," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_rma," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_web," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_sale-blanket," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_website," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_sale-channel," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_website-cms," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_sale-prebook," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_wms," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_sale-promotion," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OmniaGit_odooplm," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_sale-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/camptocamp_odoo-cloud-platform," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_sale-workflow," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/dhongu_deltatech," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_search-engine," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/novacode-nl_odoo-formio," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_server-auth," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/odoomates_odooapps," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_server-backend," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/openeducat_openeducat_erp," >> "${EL_CONFIG_FILE}" printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_server-brand," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_server-env," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_server-tools," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_server-ux," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_shift-planning," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_sign," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_social," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_spreadsheet," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-availability," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-barcode," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-orderpoint," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-request," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-tracking," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-transport," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-warehouse," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-logistics-workflow," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_stock-weighing," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_storage," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_survey," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_timesheet," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_vertical-abbey," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_vertical-association," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_vertical-hotel," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_vertical-isp," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_vertical-rental," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_vertical-travel," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_web," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_web-api," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_website," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_website-cms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OCA_wms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/OmniaGit_odooplm," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/camptocamp_odoo-cloud-platform," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/cetmix_cetmix-tower," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/dhongu_deltatech," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/it-projects-llc_saas-addons," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/muk-it_muk_web," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/novacode-nl_odoo-formio," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/odoomates_odooapps," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/openeducat_openeducat_erp," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME_ODOO_PROJECT}/addons/tegin_medical-fhir," >> "${EL_CONFIG_FILE}"
fi fi
printf "\n" >> "${EL_CONFIG_FILE}" printf "\n" >> "${EL_CONFIG_FILE}"

View file

@ -42,6 +42,16 @@ def get_config():
default="", default="",
help="Prod by default, use 'dev' for manifest/default.dev.xml", help="Prod by default, use 'dev' for manifest/default.dev.xml",
) )
parser.add_argument(
"--extra-addons-path",
default="",
help="Separate by , to add extra path for config addons_path",
)
parser.add_argument(
"--ignore-odoo-path",
action="store_true",
help="Will remove odoo path, need this feature for OpenUpgrade when Odoo <= 13",
)
args = parser.parse_args() args = parser.parse_args()
return args return args
@ -52,7 +62,11 @@ def main():
filter_group = config.group if config.group else None filter_group = config.group if config.group else None
git_tool.generate_generate_config(filter_group=filter_group) git_tool.generate_generate_config(
filter_group=filter_group,
extra_path=config.extra_addons_path,
ignore_odoo_path=config.ignore_odoo_path,
)
if __name__ == "__main__": if __name__ == "__main__":

View file

@ -38,7 +38,7 @@ def get_config():
parser.add_argument( parser.add_argument(
"-m", "-m",
"--manifest", "--manifest",
default="./default.xml", default=".repo/local_manifests/erplibre_manifest.xml",
help="The manifest to compare with actual code.", help="The manifest to compare with actual code.",
) )
args = parser.parse_args() args = parser.parse_args()
@ -52,9 +52,6 @@ def main():
dct_remote, dct_project, default_remote = git_tool.get_manifest_xml_info( dct_remote, dct_project, default_remote = git_tool.get_manifest_xml_info(
filename=config.manifest, add_root=True filename=config.manifest, add_root=True
) )
default_branch_name = default_remote.get(
"@revision", git_tool.default_branch
)
dct_result = defaultdict(int) dct_result = defaultdict(int)
i = 0 i = 0
total = len(dct_project) total = len(dct_project)
@ -62,7 +59,7 @@ def main():
i += 1 i += 1
path = project.get("@path") path = project.get("@path")
print(f"{i}/{total} - {path}") print(f"{i}/{total} - {path}")
branch_name = project.get("@revision", default_branch_name) branch_name = project.get("@revision")
organization = project.get("@remote", git_tool.default_project_name) organization = project.get("@remote", git_tool.default_project_name)
try: try:

View file

@ -419,7 +419,13 @@ class GitTool:
if url: if url:
webbrowser.open_new_tab(url) webbrowser.open_new_tab(url)
def generate_generate_config(self, repo_path="./", filter_group=None): def generate_generate_config(
self,
repo_path="./",
filter_group=None,
extra_path=None,
ignore_odoo_path=None,
):
filename_locally = f"{repo_path}script/generate_config.sh" filename_locally = f"{repo_path}script/generate_config.sh"
if not filter_group: if not filter_group:
filter_group = self.odoo_version_long filter_group = self.odoo_version_long
@ -427,22 +433,37 @@ class GitTool:
repo_path=repo_path, filter_group=filter_group repo_path=repo_path, filter_group=filter_group
) )
lst_result = [] lst_result = []
if not lst_repo:
print(
f"{Fore.YELLOW}WARNING{Style.RESET_ALL}: List of repo is empty when write generate_config."
)
for repo in lst_repo: for repo in lst_repo:
update_repo = repo.get("path")
# Exception, ignore addons/OCA_web and root # Exception, ignore addons/OCA_web and root
if repo.get("path") in ["addons/OCA_web", "odoo", "image_db"]: if update_repo in ["addons/OCA_web", "odoo", "image_db"]:
continue continue
# groups = repo.get("group") # groups = repo.get("group")
update_repo = repo.get("path")
# Use variable instead of hardcoded path # Use variable instead of hardcoded path
if update_repo.startswith("addons.odoo"): if update_repo.startswith(f"{filter_group}/addons"):
lst_path = update_repo.split("/", 1) lst_path = update_repo.split("/", 1)
update_repo = f"addons.odoo${{EL_ODOO_VERSION}}/" + lst_path[1] update_repo = f"${{EL_HOME_ODOO_PROJECT}}/" + lst_path[1]
str_repo = ( # str_repo = (
f' printf "${{EL_HOME}}/{update_repo}," >> ' # f' printf "${{EL_HOME}}/{update_repo}," >> '
'"${EL_CONFIG_FILE}"\n' # '"${EL_CONFIG_FILE}"\n'
) # )
# Ignore repo if not starting by addons str_repo = (
if update_repo.startswith("addons"): f' printf "{update_repo}," >> ' '"${EL_CONFIG_FILE}"\n'
)
# Ignore repo if not starting by addons
# if update_repo.startswith("addons"):
# lst_result.append(str_repo)
lst_result.append(str_repo)
if extra_path:
for each_extra_path in extra_path.strip().split(","):
str_repo = (
f' printf "{each_extra_path}," >> '
'"${EL_CONFIG_FILE}"\n'
)
lst_result.append(str_repo) lst_result.append(str_repo)
with open(filename_locally) as file: with open(filename_locally) as file:
all_lines = file.readlines() all_lines = file.readlines()
@ -451,6 +472,15 @@ class GitTool:
find_index = False find_index = False
index_find = 0 index_find = 0
for line in all_lines: for line in all_lines:
if line.startswith('printf "addons_path = '):
if ignore_odoo_path:
new_line = (
'printf "addons_path = " >> "${EL_CONFIG_FILE}"\n'
)
else:
new_line = 'printf "addons_path = ${EL_HOME_ODOO}/addons,${EL_HOME_ODOO}/odoo/addons,${EL_HOME}/odoo${EL_ODOO_VERSION}/addons/addons," >> "${EL_CONFIG_FILE}"\n'
all_lines[index] = new_line
if ( if (
not find_index not find_index
and 'if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then\n' == line and 'if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then\n' == line
@ -459,6 +489,9 @@ class GitTool:
for insert_line in lst_result: for insert_line in lst_result:
all_lines.insert(index_find, insert_line) all_lines.insert(index_find, insert_line)
index_find += 1 index_find += 1
if not lst_result:
all_lines.insert(index_find, '\tprintf ""\n')
index_find += 1
find_index = True find_index = True
# Delete all next line until meet fi # Delete all next line until meet fi
if find_index and "fi\n" == line: if find_index and "fi\n" == line:

View file

@ -27,7 +27,7 @@ if not os.path.isfile(FILENAME_ODOO_VERSION):
_logger.error(f"Missing file {FILENAME_ODOO_VERSION}") _logger.error(f"Missing file {FILENAME_ODOO_VERSION}")
sys.exit(1) sys.exit(1)
with open(".odoo-version", "r") as f: with open(FILENAME_ODOO_VERSION, "r") as f:
ODOO_VERSION = f.readline() ODOO_VERSION = f.readline()
@ -47,7 +47,7 @@ def get_config():
) )
parser.add_argument( parser.add_argument(
"--repo", "--repo",
default=f"./addons.odoo{ODOO_VERSION}/TechnoLibre_odoo-code-generator-template;./addons.odoo{ODOO_VERSION}/OCA_server-tools", default=f"./odoo{ODOO_VERSION}/addons/TechnoLibre_odoo-code-generator-template;./odoo{ODOO_VERSION}/addons/OCA_server-tools",
) )
args = parser.parse_args() args = parser.parse_args()
return args return args

View file

@ -37,7 +37,7 @@ def get_config():
parser.add_argument( parser.add_argument(
"-m", "-m",
"--manifest", "--manifest",
default="./default.xml", default=".repo/local_manifests/erplibre_manifest.xml",
help="The manifest to compare with actual code.", help="The manifest to compare with actual code.",
) )
args = parser.parse_args() args = parser.parse_args()

View file

@ -5,11 +5,11 @@
import argparse import argparse
import csv import csv
import glob import glob
import io
import logging import logging
import os import os
import subprocess import subprocess
import sys import sys
import io
import xmltodict import xmltodict
@ -33,7 +33,7 @@ VCS_WORKSPACE = os.path.join(IDEA_PATH, "vcs.xml")
PATH_EXCLUDE_FOLDER = "./conf/pycharm_exclude_folder.txt" PATH_EXCLUDE_FOLDER = "./conf/pycharm_exclude_folder.txt"
PATH_DEFAULT_CONFIGURATION = "./conf/pycharm_default_configuration.csv" PATH_DEFAULT_CONFIGURATION = "./conf/pycharm_default_configuration.csv"
PATH_DEFAULT_CONFIGURATION_PRIVATE = ( PATH_DEFAULT_CONFIGURATION_PRIVATE = (
"./conf/pycharm_default_configuration.private.csv" "./private/pycharm_default_configuration.private.csv"
) )

View file

@ -35,8 +35,11 @@ brew link git
brew link wget brew link wget
echo "\n--- Installing extra --" echo "\n--- Installing extra --"
brew install shfmt
brew install parallel brew install parallel
brew install swig brew install swig
brew install portaudio
brew install xmlsec1
echo "\n---- Installing nodeJS NPM and rtlcss for LTR support ----" echo "\n---- Installing nodeJS NPM and rtlcss for LTR support ----"
brew install nodejs npm openssl brew install nodejs npm openssl
sudo npm install -g rtlcss sudo npm install -g rtlcss

View file

@ -60,3 +60,4 @@ fi
install_package cmake install_package cmake
install_package parallel install_package parallel
install_package tk install_package tk
install_package shfmt

View file

@ -48,35 +48,21 @@ echo -e "* Start ERPLibre on Startup"
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl enable ${EL_CONFIG}.service sudo systemctl enable ${EL_CONFIG}.service
sudo su ${EL_USER} -c "sudo rm -f /tmp/${EL_USER}run.sh" #echo "-----------------------------------------------------------"
# TODO this is outdated #echo "Done! The ERPLibre server is up and running. Specifications:"
cat <<EOF > /tmp/${EL_USER}run.sh #echo "Port: ${EL_PORT}"
#!/usr/bin/env bash #echo "Port Long Polling: ${EL_LONGPOLLING_PORT}"
cd ${EL_HOME_ERPLIBRE} #echo "User service: ${EL_USER}"
source ./.venv.erplibre/bin/activate #echo "User PostgreSQL: ${EL_USER}"
python3 ${EL_HOME_ERPLIBRE}/odoo18.0/odoo/odoo-bin -c ${EL_HOME_ERPLIBRE}/config.conf --limit-time-real 99999 --limit-time-cpu 99999 $@ #echo "Code location: ${EL_USER}"
EOF #echo "Addons folder: ${EL_USER}/${EL_CONFIG}/addons/"
#echo "SystemD file ERPLibre: /etc/systemd/system/${EL_CONFIG}.service"
echo -e "* Security Run File" #echo "Start ERPLibre service: sudo systemctl start ${EL_CONFIG}"
sudo cp /tmp/${EL_USER}run.sh ${EL_HOME_ERPLIBRE}/.venv/run.sh #echo "Stop ERPLibre service: sudo systemctl stop ${EL_CONFIG}"
sudo chmod 755 ${EL_HOME_ERPLIBRE}/.venv/run.sh #echo "Restart ERPLibre service: sudo systemctl restart ${EL_CONFIG}"
sudo chown ${EL_USER}: ${EL_HOME_ERPLIBRE}/.venv/run.sh #echo "Status ERPLibre service: sudo systemctl status ${EL_CONFIG}"
#echo "Logs ERPLibre service: sudo journalctl -feu ${EL_CONFIG}"
echo "-----------------------------------------------------------" #echo "-----------------------------------------------------------"
echo "Done! The ERPLibre server is up and running. Specifications:"
echo "Port: ${EL_PORT}"
echo "Port Long Polling: ${EL_LONGPOLLING_PORT}"
echo "User service: ${EL_USER}"
echo "User PostgreSQL: ${EL_USER}"
echo "Code location: ${EL_USER}"
echo "Addons folder: ${EL_USER}/${EL_CONFIG}/addons/"
echo "SystemD file ERPLibre: /etc/systemd/system/${EL_CONFIG}.service"
echo "Start ERPLibre service: sudo systemctl start ${EL_CONFIG}"
echo "Stop ERPLibre service: sudo systemctl stop ${EL_CONFIG}"
echo "Restart ERPLibre service: sudo systemctl restart ${EL_CONFIG}"
echo "Status ERPLibre service: sudo systemctl status ${EL_CONFIG}"
echo "Logs ERPLibre service: sudo journalctl -feu ${EL_CONFIG}"
echo "-----------------------------------------------------------"
echo -e "* Starting ERPLibre Service" echo -e "* Starting ERPLibre Service"
sudo systemctl restart ${EL_CONFIG}.service sudo systemctl restart ${EL_CONFIG}.service

View file

@ -68,7 +68,7 @@ sudo su - postgres -c "createuser -s ${EL_USER}" 2>/dev/null || true
# Install Dependencies # Install Dependencies
#-------------------------------------------------- #--------------------------------------------------
echo -e "\n--- Installing debian dependency --" echo -e "\n--- Installing debian dependency --"
sudo apt-get install git build-essential wget libxslt-dev libzip-dev libldap2-dev libsasl2-dev gdebi-core libffi-dev libbz2-dev parallel pysassc swig cmake portaudio19-dev libcups2-dev -y sudo apt-get install git build-essential wget libxslt-dev libzip-dev libldap2-dev libsasl2-dev gdebi-core libffi-dev libbz2-dev parallel pysassc swig cmake portaudio19-dev libcups2-dev shfmt xmlsec1 -y
retVal=$? retVal=$?
if [[ $retVal -ne 0 ]]; then if [[ $retVal -ne 0 ]]; then
echo "apt-get debian tool installation error." echo "apt-get debian tool installation error."

View file

@ -20,7 +20,7 @@ Color_Off='\033[0m' # Text Reset
./script/generate_config.sh ./script/generate_config.sh
# Generate empty addons if missing # Generate empty addons if missing
path_addons_addons="./addons.odoo${EL_ODOO_VERSION}/addons" path_addons_addons="./odoo${EL_ODOO_VERSION}/addons/addons"
if [[ ! -d "${path_addons_addons}" ]]; then if [[ ! -d "${path_addons_addons}" ]]; then
mkdir -p "${path_addons_addons}" mkdir -p "${path_addons_addons}"
fi fi

View file

@ -34,6 +34,8 @@ server {
proxy_set_header X-Real-IP \$remote_addr; proxy_set_header X-Real-IP \$remote_addr;
add_header X-Frame-Options "SAMEORIGIN"; add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block"; add_header X-XSS-Protection "1; mode=block";
proxy_set_header X-Client-IP \$remote_addr;
proxy_set_header HTTP_X_FORWARDED_HOST \$remote_addr;
# erplibre request log files # erplibre request log files
access_log /var/log/nginx/${EL_USER}-access.log; access_log /var/log/nginx/${EL_USER}-access.log;
@ -43,9 +45,9 @@ server {
proxy_buffers 16 64k; proxy_buffers 16 64k;
proxy_buffer_size 128k; proxy_buffer_size 128k;
proxy_read_timeout 720s; proxy_read_timeout 900s;
proxy_connect_timeout 720s; proxy_connect_timeout 900s;
proxy_send_timeout 720s; proxy_send_timeout 900s;
# Force timeouts if the backend dies # Force timeouts if the backend dies
proxy_next_upstream error timeout invalid_header http_500 http_502 proxy_next_upstream error timeout invalid_header http_500 http_502
@ -64,7 +66,7 @@ server {
gzip_vary on; gzip_vary on;
client_header_buffer_size 4k; client_header_buffer_size 4k;
large_client_header_buffers 4 64k; large_client_header_buffers 4 64k;
client_max_body_size 1024M; client_max_body_size 0;
location / { location / {
proxy_pass http://erplibre${EL_USER}; proxy_pass http://erplibre${EL_USER};
@ -76,6 +78,12 @@ server {
proxy_pass http://erplibre${EL_USER}chat; proxy_pass http://erplibre${EL_USER}chat;
} }
location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
expires 2d;
proxy_pass http://erplibre${EL_USER};
add_header Cache-Control "public, no-transform";
}
# cache some static data in memory for 60mins. # cache some static data in memory for 60mins.
location ~ /[a-zA-Z0-9_-]*/static/ { location ~ /[a-zA-Z0-9_-]*/static/ {
proxy_cache_valid 200 302 60m; proxy_cache_valid 200 302 60m;

View file

@ -1,8 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
cmd1="./script/maintenance/format_python.sh \"$*\"" cmd1="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.py' -print0 | parallel -0 ./script/maintenance/format_python.sh {}"
cmd2="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.xml' -print0 | parallel -0 ./script/maintenance/prettier_xml.sh {}" cmd2="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.xml' -print0 | parallel -0 ./script/maintenance/prettier_xml.sh {}"
cmd3="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.js' -print0 | parallel -0 ./script/maintenance/prettier.sh {}" cmd3="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.js' -print0 | parallel -0 ./script/maintenance/prettier.sh {}"
cmd4="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.css' -print0 | parallel -0 ./script/maintenance/prettier.sh {}" cmd4="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.css' -print0 | parallel -0 ./script/maintenance/prettier.sh {}"
cmd5="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.scss' -print0 | parallel -0 ./script/maintenance/prettier.sh {}" cmd5="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.scss' -print0 | parallel -0 ./script/maintenance/prettier.sh {}"
cmd6="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.html' -print0 | parallel -0 ./script/maintenance/prettier.sh {}" cmd6="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.html' -print0 | parallel -0 ./script/maintenance/prettier.sh {}"
parallel ::: "$cmd1" "$cmd2" "$cmd3" "$cmd4" "$cmd5" "$cmd6" cmd7="find \"$*\" -type f -not -path \"*/not_supported_files/*\" -name '*.sh' -print0 | parallel -0 ./script/maintenance/format_bash.sh {}"
parallel ::: "$cmd1" "$cmd2" "$cmd3" "$cmd4" "$cmd5" "$cmd6" "$cmd7"

View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Google Style
# https://google.github.io/styleguide/shellguide.html
shfmt -i 2 -ci -w "$@"

View file

@ -0,0 +1,81 @@
#!/usr/bin/env python3
# © 2021-2025 TechnoLibre (http://www.technolibre.ca)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
import subprocess
IGNORE_EXTENSION = []
IGNORE_FILE_NAME = ["Makefile"]
def execute_shell(cmd):
out = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
return out.decode().strip() if out else ""
def get_modified_files():
lst_cmd_git_status = ["git", "status", "--porcelain"]
print(" ".join(lst_cmd_git_status))
try:
result = subprocess.run(
lst_cmd_git_status,
capture_output=True,
text=True,
check=True,
)
lines = result.stdout.strip().split("\n")
modified_files = []
for line in lines:
if not line:
continue
try:
if "->" in line:
# Example : M file_01 -> file_02
status, old_file_path, code, file_path = (
line.strip().replace(" ", " ").split(" ")
)
else:
# Example : M file_01
status, file_path = (
line.strip().replace(" ", " ").split(" ")
)
except Exception as e:
print(f"'{line}'")
raise e
if (
status == "M"
or status == "A"
or status == "AM"
or status == "MM"
or status == "R"
or status == "RM"
or status == "??"
):
modified_files.append((status, file_path))
elif status == "D":
# Ignore to format removed file
pass
else:
print(f"Not supported status '{status}'")
return modified_files
except subprocess.CalledProcessError as e:
print(f"Error execution with git command: {e}")
return None
if __name__ == "__main__":
cmd_format = "parallel ::: "
has_file = False
files = get_modified_files()
if files:
for status, path in files:
print(f"Statut: '{status}', Fichier: {path}")
cmd_format += f"\"./script/maintenance/format.sh '{path}'\" "
has_file = True
if has_file:
print(cmd_format)
execute_shell(cmd_format)

View file

@ -7,6 +7,11 @@ upstream erplibre_SERVER_NAME_chat {
server 127.0.0.1:8072; server 127.0.0.1:8072;
} }
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server { server {
server_name DOMAIN; server_name DOMAIN;
@ -27,9 +32,9 @@ server {
proxy_buffers 16 64k; proxy_buffers 16 64k;
proxy_buffer_size 128k; proxy_buffer_size 128k;
proxy_read_timeout 720s; proxy_read_timeout 900s;
proxy_connect_timeout 720s; proxy_connect_timeout 900s;
proxy_send_timeout 720s; proxy_send_timeout 900s;
# Force timeouts if the backend dies # Force timeouts if the backend dies
proxy_next_upstream error timeout invalid_header http_500 http_502 proxy_next_upstream error timeout invalid_header http_500 http_502
@ -48,38 +53,38 @@ server {
gzip_vary on; gzip_vary on;
client_header_buffer_size 4k; client_header_buffer_size 4k;
large_client_header_buffers 4 64k; large_client_header_buffers 4 64k;
client_max_body_size 1024M; client_max_body_size 0;
location / { location / {
proxy_pass http://erplibre_SERVER_NAME; proxy_pass http://erplibre_SERVER_NAME;
# by default, do not forward anything # by default, do not forward anything
proxy_redirect off; proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for odoo proxy mode # Add Headers for odoo proxy mode
proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
proxy_cookie_flags session_id samesite=lax secure; # requires nginx 1.19.8
} }
location /websocket { location /websocket {
proxy_pass http://erplibre_SERVER_NAME_chat; proxy_pass http://erplibre_SERVER_NAME_chat;
proxy_read_timeout 720s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection $connection_upgrade;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for odoo proxy mode # Add Headers for odoo proxy mode
proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
proxy_cookie_flags session_id samesite=lax secure; # requires nginx 1.19.8
} }
# cache some static data in memory for 60mins. # cache some static data in memory for 60mins.

View file

@ -0,0 +1,10 @@
#!/usr/bin/env python3
# © 2021-2025 TechnoLibre (http://www.technolibre.ca)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
installed_modules = env["ir.module.module"].search([('state', '=', 'installed')])
print("Installed modules:")
for module in installed_modules:
print(module.name)

View file

@ -121,7 +121,7 @@ def get_file_from_glob(
# TODO take all groups odoo##.# from manifest, will create a dependency # TODO take all groups odoo##.# from manifest, will create a dependency
# Hardcode logic from manifest # Hardcode logic from manifest
lst_path = [ lst_path = [
Path(f"./addons.odoo{config.set_version_odoo}").rglob(glob_txt), Path(f"./odoo{config.set_version_odoo}/addons").rglob(glob_txt),
Path(f"./odoo{config.set_version_odoo}/odoo").rglob(glob_txt), Path(f"./odoo{config.set_version_odoo}/odoo").rglob(glob_txt),
] ]
for gen_path in lst_path: for gen_path in lst_path:
@ -137,10 +137,6 @@ def get_file_from_glob(
break break
if ignore_it: if ignore_it:
continue continue
if a_dirname.startswith("addons") and not a_dirname.startswith(
f"addons.odoo{config.set_version_odoo}"
):
continue
lst_v.append(a) lst_v.append(a)
if force_add_item: if force_add_item:
for item in force_add_item: for item in force_add_item:

View file

@ -10,7 +10,7 @@
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_theme_test", "test_name": "code_generator_theme_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "theme_website_demo_code_generator", "generated_module": "theme_website_demo_code_generator",
"tested_module": "code_generator_demo_theme_website" "tested_module": "code_generator_demo_theme_website"
}, },
@ -18,21 +18,21 @@
"run_test_exec": true, "run_test_exec": true,
"disable": true, "disable": true,
"test_name": "code_generator_demo_test", "test_name": "code_generator_demo_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "code_generator_demo", "generated_module": "code_generator_demo",
"tested_module": "code_generator_demo" "tested_module": "code_generator_demo"
}, },
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_data_test", "test_name": "code_generator_data_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_helpdesk_data", "generated_module": "demo_helpdesk_data",
"tested_module": "code_generator_demo_export_helpdesk" "tested_module": "code_generator_demo_export_helpdesk"
}, },
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_data_part_2_test", "test_name": "code_generator_data_part_2_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_website_data", "generated_module": "demo_website_data",
"tested_module": "code_generator_demo_export_website", "tested_module": "code_generator_demo_export_website",
"note": "Merge to code_generator_data_test when fix double export data." "note": "Merge to code_generator_data_test when fix double export data."
@ -40,14 +40,14 @@
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_inherit_test", "test_name": "code_generator_inherit_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_internal_inherit", "generated_module": "demo_internal_inherit",
"tested_module": "code_generator_demo_internal_inherit" "tested_module": "code_generator_demo_internal_inherit"
}, },
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_template_demo_internal", "test_name": "code_generator_template_demo_internal",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "code_generator_demo_internal", "generated_module": "code_generator_demo_internal",
"tested_module": "code_generator_template_demo_internal", "tested_module": "code_generator_template_demo_internal",
"search_class_module": "demo_internal", "search_class_module": "demo_internal",
@ -56,7 +56,7 @@
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_template_demo_portal", "test_name": "code_generator_template_demo_portal",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "code_generator_demo_portal", "generated_module": "code_generator_demo_portal",
"tested_module": "code_generator_template_demo_portal", "tested_module": "code_generator_template_demo_portal",
"search_class_module": "demo_portal", "search_class_module": "demo_portal",
@ -66,7 +66,7 @@
"run_test_exec": true, "run_test_exec": true,
"disable": true, "disable": true,
"test_name": "mariadb_test_template", "test_name": "mariadb_test_template",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "code_generator_demo_mariadb_sql_example_1", "generated_module": "code_generator_demo_mariadb_sql_example_1",
"tested_module": "code_generator_template_demo_mariadb_sql_example_1", "tested_module": "code_generator_template_demo_mariadb_sql_example_1",
"search_class_module": "demo_mariadb_sql_example_1", "search_class_module": "demo_mariadb_sql_example_1",
@ -76,7 +76,7 @@
"run_test_exec": true, "run_test_exec": true,
"disable": true, "disable": true,
"test_name": "mariadb_test_migrator", "test_name": "mariadb_test_migrator",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_mariadb_sql_example_1", "generated_module": "demo_mariadb_sql_example_1",
"tested_module": "code_generator_migrator_demo_mariadb_sql_example_1", "tested_module": "code_generator_migrator_demo_mariadb_sql_example_1",
"script_after_init_check": "./script/database/restore_mariadb_sql_example_1.sh", "script_after_init_check": "./script/database/restore_mariadb_sql_example_1.sh",
@ -86,7 +86,7 @@
"run_test_exec": true, "run_test_exec": true,
"disable": true, "disable": true,
"test_name": "mariadb_test_code_generator", "test_name": "mariadb_test_code_generator",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_mariadb_sql_example_1", "generated_module": "demo_mariadb_sql_example_1",
"tested_module": "code_generator_demo_mariadb_sql_example_1", "tested_module": "code_generator_demo_mariadb_sql_example_1",
"init_module_name": "code_generator_portal" "init_module_name": "code_generator_portal"
@ -94,7 +94,7 @@
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_template_demo_internal_inherit", "test_name": "code_generator_template_demo_internal_inherit",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "code_generator_demo_internal_inherit", "generated_module": "code_generator_demo_internal_inherit",
"tested_module": "code_generator_template_demo_internal_inherit", "tested_module": "code_generator_template_demo_internal_inherit",
"search_class_module": "demo_internal_inherit", "search_class_module": "demo_internal_inherit",
@ -104,19 +104,19 @@
"run_test_exec": true, "run_test_exec": true,
"disable": true, "disable": true,
"test_name": "code_generator_template_demo_sysadmin_cron", "test_name": "code_generator_template_demo_sysadmin_cron",
"path_module_check": "./addons.odoo12.0/OCA_server-tools", "path_module_check": "./odoo12.0/addons/OCA_server-tools",
"generated_module": "code_generator_auto_backup", "generated_module": "code_generator_auto_backup",
"generated_path": "./addons.odoo12.0/OCA_server-tools/", "generated_path": "./odoo12.0/addons/OCA_server-tools/",
"tested_module": "code_generator_template_demo_sysadmin_cron", "tested_module": "code_generator_template_demo_sysadmin_cron",
"search_class_module": "auto_backup", "search_class_module": "auto_backup",
"init_module_name": "auto_backup", "init_module_name": "auto_backup",
"install_path": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template" "install_path": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template"
}, },
{ {
"run_test_exec": true, "run_test_exec": true,
"disable": true, "disable": true,
"test_name": "code_generator_export_website_attachments_test", "test_name": "code_generator_export_website_attachments_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_website_attachments_data", "generated_module": "demo_website_attachments_data",
"tested_module": "code_generator_demo_export_website_attachments", "tested_module": "code_generator_demo_export_website_attachments",
"restore_db_image_name": "test_website_attachments" "restore_db_image_name": "test_website_attachments"
@ -125,14 +125,14 @@
"run_test_exec": true, "run_test_exec": true,
"disable": true, "disable": true,
"test_name": "code_generator_demo_generic_test", "test_name": "code_generator_demo_generic_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_internal,demo_portal", "generated_module": "demo_internal,demo_portal",
"tested_module": "code_generator_demo_internal,code_generator_demo_portal" "tested_module": "code_generator_demo_internal,code_generator_demo_portal"
}, },
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_website_snippet_test", "test_name": "code_generator_website_snippet_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"generated_module": "demo_website_leaflet,demo_website_snippet,demo_website_multiple_snippet", "generated_module": "demo_website_leaflet,demo_website_snippet,demo_website_multiple_snippet",
"tested_module": "code_generator_demo_website_leaflet,code_generator_demo_website_snippet,code_generator_demo_website_multiple_snippet", "tested_module": "code_generator_demo_website_leaflet,code_generator_demo_website_snippet,code_generator_demo_website_multiple_snippet",
"file_to_restore": "demo_portal/i18n/demo_portal.pot,demo_portal/i18n/fr_CA.po", "file_to_restore": "demo_portal/i18n/demo_portal.pot,demo_portal/i18n/fr_CA.po",
@ -142,13 +142,13 @@
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "demo_test", "test_name": "demo_test",
"path_module_check": "./addons.odoo12.0/TechnoLibre_odoo-code-generator-template", "path_module_check": "./odoo12.0/addons/TechnoLibre_odoo-code-generator-template",
"init_module_name": "demo_helpdesk_data,demo_internal,demo_internal_inherit,demo_mariadb_sql_example_1,demo_portal,demo_website_data,demo_website_leaflet,demo_website_snippet" "init_module_name": "demo_helpdesk_data,demo_internal,demo_internal_inherit,demo_mariadb_sql_example_1,demo_portal,demo_website_data,demo_website_leaflet,demo_website_snippet"
}, },
{ {
"run_test_exec": true, "run_test_exec": true,
"test_name": "code_generator_auto_backup_test", "test_name": "code_generator_auto_backup_test",
"path_module_check": "./addons.odoo12.0/OCA_server-tools/auto_backup", "path_module_check": "./odoo12.0/addons/OCA_server-tools/auto_backup",
"generated_module": "auto_backup", "generated_module": "auto_backup",
"tested_module": "code_generator_auto_backup" "tested_module": "code_generator_auto_backup"
} }

View file

@ -35,7 +35,7 @@ if not os.path.isfile(FILENAME_ODOO_VERSION):
_logger.error(f"Missing file {FILENAME_ODOO_VERSION}") _logger.error(f"Missing file {FILENAME_ODOO_VERSION}")
sys.exit(1) sys.exit(1)
with open(".odoo-version", "r") as f: with open(FILENAME_ODOO_VERSION, "r") as f:
ODOO_VERSION = f.readline() ODOO_VERSION = f.readline()
LOG_FILE = "./.venv.erplibre/make_test.log" LOG_FILE = "./.venv.erplibre/make_test.log"
@ -436,7 +436,7 @@ async def test_exec(
s_lst_path_tested_module = ( s_lst_path_tested_module = (
await lib_asyncio.run_command_get_output( await lib_asyncio.run_command_get_output(
"find", "find",
f"./addons.odoo{ODOO_VERSION}/", f"./odoo{ODOO_VERSION}/addons/",
"-name", "-name",
module_name, module_name,
) )
@ -453,7 +453,7 @@ async def test_exec(
s_lst_path_tested_module.strip().split("\n") s_lst_path_tested_module.strip().split("\n")
) )
s_first_path = lst_path_tested_module[0] s_first_path = lst_path_tested_module[0]
# parent_dir = os.path.dirname(s_first_path).replace("addons/", f"addons.odoo{ODOO_VERSION}/") # parent_dir = os.path.dirname(s_first_path).replace("addons/", f"odoo{ODOO_VERSION}/addons/")
parent_dir = os.path.dirname(s_first_path) parent_dir = os.path.dirname(s_first_path)
# Copy it # Copy it
if copy_path != parent_dir: if copy_path != parent_dir:
@ -798,7 +798,7 @@ def check_git_change():
task_list = [ task_list = [
run_command( run_command(
"./script/code_generator/check_git_change_code_generator.sh", "./script/code_generator/check_git_change_code_generator.sh",
f"./addons.odoo{ODOO_VERSION}/TechnoLibre_odoo-code-generator-template", f"./odoo{ODOO_VERSION}/addons/TechnoLibre_odoo-code-generator-template",
test_name=( test_name=(
"Init check_git_change" "Init check_git_change"
" TechnoLibre_odoo-code-generator-template" " TechnoLibre_odoo-code-generator-template"
@ -806,7 +806,7 @@ def check_git_change():
), ),
run_command( run_command(
"./script/code_generator/check_git_change_code_generator.sh", "./script/code_generator/check_git_change_code_generator.sh",
f"./addons.odoo{ODOO_VERSION}/OCA_server-tools", f"./odoo{ODOO_VERSION}/addons/OCA_server-tools",
test_name="Init check_git_change OCA_server-tools", test_name="Init check_git_change OCA_server-tools",
), ),
] ]
@ -846,7 +846,7 @@ def run_all_test(config) -> bool:
continue continue
# Force change addons path # Force change addons path
# if "path_module_check" in dct_test.keys(): # if "path_module_check" in dct_test.keys():
# # dct_test["path_module_check"] = dct_test["path_module_check"].replace("addons/", f"addons.odoo{ODOO_VERSION}/") # # dct_test["path_module_check"] = dct_test["path_module_check"].replace("addons/", f"odoo{ODOO_VERSION}/addons/")
# dct_test["path_module_check"] = dct_test["path_module_check"] # dct_test["path_module_check"] = dct_test["path_module_check"]
sequence = dct_test.get("sequence", 0) sequence = dct_test.get("sequence", 0)
cb_coroutine = None cb_coroutine = None

View file

@ -24,7 +24,6 @@ VERSION_ERPLIBRE_FILE = os.path.join(".erplibre-version")
VERSION_ODOO_FILE = os.path.join(".odoo-version") VERSION_ODOO_FILE = os.path.join(".odoo-version")
VERSION_POETRY_FILE = os.path.join(".poetry-version") VERSION_POETRY_FILE = os.path.join(".poetry-version")
ADDONS_PATH = os.path.join("addons") ADDONS_PATH = os.path.join("addons")
ODOO_PATH = os.path.join(".", "odoo")
VENV_TEMPLATE_FILE = ".venv.%s" VENV_TEMPLATE_FILE = ".venv.%s"
MANIFEST_FILE = "default.dev.xml" MANIFEST_FILE = "default.dev.xml"
MANIFEST_TEMPLATE_FILE = "default.dev.odoo%s.xml" MANIFEST_TEMPLATE_FILE = "default.dev.odoo%s.xml"
@ -39,7 +38,7 @@ PIP_IGNORE_REQUIREMENT_FILE = os.path.join(
"requirement", "ignore_requirements.txt" "requirement", "ignore_requirements.txt"
) )
PIP_IGNORE_REQUIREMENT_TEMPLATE_FILE = "ignore_requirements.%s.txt" PIP_IGNORE_REQUIREMENT_TEMPLATE_FILE = "ignore_requirements.%s.txt"
ADDONS_TEMPLATE_FILE = "addons.odoo%s" ADDONS_TEMPLATE_FILE = "odoo%s/addons"
ODOO_TEMPLATE_FILE = "odoo%s" ODOO_TEMPLATE_FILE = "odoo%s"
ERPLIBRE_TEMPLATE_VERSION = "odoo%s_python%s" ERPLIBRE_TEMPLATE_VERSION = "odoo%s_python%s"
@ -97,6 +96,11 @@ def get_config():
action="store_true", action="store_true",
help="Will only update the system by switch environnement.", help="Will only update the system by switch environnement.",
) )
parser.add_argument(
"--switch_update",
action="store_true",
help="Work with --switch, will do repo update",
)
parser.add_argument( parser.add_argument(
"--install_dev", "--install_dev",
action="store_true", action="store_true",
@ -129,6 +133,7 @@ def get_config():
args.force_repo = True args.force_repo = True
args.is_in_installation = args.install or args.install_dev args.is_in_installation = args.install or args.install_dev
args.is_in_switch = args.switch args.is_in_switch = args.switch
args.is_in_switch_force_update = args.switch and args.switch_update
if not (args.install or args.install_dev) and args.force_install: if not (args.install or args.install_dev) and args.force_install:
args.force_install = False args.force_install = False
@ -354,20 +359,7 @@ class Update:
if not venv_exist and not self.config.install_dev: if not venv_exist and not self.config.install_dev:
_logger.info("Relaunch this script with --install_dev argument.") _logger.info("Relaunch this script with --install_dev argument.")
# Validate Odoo repo # Validate Odoo repo
status &= self.update_link_file( # TODO need to remove this from architecture
"Odoo repository",
ODOO_PATH,
self.expected_odoo_path,
is_directory=True,
do_delete_source=True,
)
# Validate Git repo
status &= self.update_link_file(
"Git repositories",
MANIFEST_FILE_PATH,
self.expected_manifest_path,
do_delete_source=True,
)
# Validate Poetry and pip # Validate Poetry and pip
status &= self.update_link_file( status &= self.update_link_file(
"Poetry project toml", "Poetry project toml",
@ -381,12 +373,6 @@ class Update:
self.expected_poetry_lock_path, self.expected_poetry_lock_path,
do_delete_source=True, do_delete_source=True,
) )
# status &= self.update_link_file(
# "Pip requirement.txt",
# PIP_REQUIREMENT_FILE,
# self.expected_pip_requirement_path,
# do_delete_source=True,
# )
status &= self.update_link_file( status &= self.update_link_file(
"Pip ignore_requirement.txt", "Pip ignore_requirement.txt",
PIP_IGNORE_REQUIREMENT_FILE, PIP_IGNORE_REQUIREMENT_FILE,
@ -395,14 +381,6 @@ class Update:
) )
if not os.path.isdir(self.expected_addons_name): if not os.path.isdir(self.expected_addons_name):
status = False status = False
# status &= self.update_link_file(
# "Directory 'addons'",
# ADDONS_PATH,
# self.expected_addons_name,
# is_directory=True,
# do_delete_source=self.config.install_dev
# or self.config.force_install,
# )
return status return status
def update_environment(self): def update_environment(self):
@ -432,22 +410,14 @@ class Update:
txt.write(self.new_version_poetry) txt.write(self.new_version_poetry)
if self.config.is_in_installation or self.config.is_in_switch: if self.config.is_in_installation or self.config.is_in_switch:
# addons_path_with_version = (
# ADDONS_TEMPLATE_FILE % self.new_version_odoo
# )
# # To support multiple addons directory, change name before run git repo
# for addons_path in os.listdir("."):
# if (
# addons_path.startswith("addons")
# and addons_path != addons_path_with_version
# ):
# os.rename(addons_path, addons_path + "TEMP")
# TODO need to be force if installation path is all good, return True # TODO need to be force if installation path is all good, return True
if self.config.install_dev: if self.config.install_dev:
_logger.info("Installation.") _logger.info("Installation.")
status = self.install_erplibre() status = self.install_erplibre()
elif self.config.is_in_switch: elif (
self.config.is_in_switch
and self.config.is_in_switch_force_update
):
_logger.info("Switch") _logger.info("Switch")
self.execute_log.append(f"System update") self.execute_log.append(f"System update")
status = os.system( status = os.system(
@ -574,18 +544,6 @@ class Update:
) )
os.system(f"ls -lha {source_file}") os.system(f"ls -lha {source_file}")
sys.exit(1) sys.exit(1)
# else:
# do_switch_origin_sim = True
# if do_switch_origin_sim:
# # Check if not erase an existing
# if target_file_exist:
# # Create a backup
# new_target_file = f"{target_file}.backup_{time.strftime('%Yy%mm%dd-%Hh%Mm%Ss')}"
# else:
# new_target_file = target_file
# Move it and create a symlink
# shutil.move(source_file, new_target_file)
# do_symlink = True
else: else:
# Case 3 # Case 3
# Is symlink # Is symlink

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Usage, ./test.sh -d test_addons_name -i module_name # Usage, ./test.sh -d test_addons_name -i module_name
export ODOO_MODE_COVERAGE="true" #export ODOO_MODE_COVERAGE="true"
export ODOO_MODE_TEST="true" #export ODOO_MODE_TEST="true"
./run.sh "$@" ODOO_MODE_TEST="true" ./run.sh --workers 0 "$@"