Merge branch 'fix_release_1_2_0'
Ready to release 1.2.0
This commit is contained in:
commit
80b3bbf8e7
32 changed files with 661 additions and 401 deletions
44
Makefile
44
Makefile
|
|
@ -64,6 +64,11 @@ install_dev:
|
|||
install_os:
|
||||
./script/install_dev.sh
|
||||
|
||||
.PHONY: install_production
|
||||
install_production:
|
||||
./script/install_dev.sh
|
||||
./script/install_production.sh
|
||||
|
||||
.PHONY: install_docker_debian
|
||||
install_docker_debian:
|
||||
./script/ install_debian_10_prod_docker.sh
|
||||
|
|
@ -180,27 +185,22 @@ image_db_create_erplibre_website:
|
|||
./script/addons/install_addons.sh test hr
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_ecommerce_pos_hr
|
||||
|
||||
.PHONY: image_db_create_erplibre_code_generator
|
||||
image_db_create_erplibre_code_generator:
|
||||
./script/make.sh addons_install_code_generator_basic
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_basic
|
||||
./script/make.sh addons_install_code_generator_featured
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_featured
|
||||
./script/make.sh addons_install_code_generator_full
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_full
|
||||
|
||||
.PHONY: image_db_create_all
|
||||
image_db_create_all:
|
||||
./script/make.sh db_create_db_test
|
||||
./script/addons/install_addons.sh test erplibre_base
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_base
|
||||
./script/addons/install_addons.sh test website,erplibre_website_snippets_basic_html,erplibre_website_snippets_cards,erplibre_website_snippets_structures,erplibre_website_snippets_timelines,website_form_builder
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_website
|
||||
./script/addons/install_addons.sh test crm,website_crm
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_website_crm
|
||||
./script/addons/install_addons.sh test website_livechat
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_website_chat_crm
|
||||
./script/addons/install_addons.sh test website_sale,erplibre_base_quebec
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_ecommerce_base
|
||||
./script/addons/install_addons.sh test stock,purchase,website_sale_management
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_ecommerce_advance
|
||||
./script/addons/install_addons.sh test project
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_ecommerce_project
|
||||
./script/addons/install_addons.sh test pos_sale
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_ecommerce_pos
|
||||
./script/addons/install_addons.sh test hr
|
||||
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_ecommerce_pos_hr
|
||||
#./script/make.sh config_gen_image_db
|
||||
./script/make.sh image_db_create_erplibre_base
|
||||
./script/make.sh image_db_create_erplibre_website
|
||||
./script/make.sh image_db_create_erplibre_code_generator
|
||||
#./script/make.sh config_gen_all
|
||||
|
||||
.PHONY: image_diff_base_website
|
||||
image_diff_base_website:
|
||||
|
|
@ -476,6 +476,12 @@ config_gen_code_generator:
|
|||
./script/git_repo_update_group.py --group base,code_generator
|
||||
./script/install_locally.sh
|
||||
|
||||
# generate config repo image_db
|
||||
.PHONY: config_gen_image_db
|
||||
config_gen_image_db:
|
||||
./script/git_repo_update_group.py --group base,image_db
|
||||
./script/install_locally.sh
|
||||
|
||||
##########
|
||||
# I18n #
|
||||
##########
|
||||
|
|
|
|||
17
README.md
17
README.md
|
|
@ -1,8 +1,8 @@
|
|||
# ERPLibre documentation
|
||||
Select a guide to install your environment!
|
||||
Select a guide to install your environment.
|
||||
|
||||
## Easy way to run locally
|
||||
Clone the project
|
||||
Clone the project:
|
||||
```bash
|
||||
git clone https://github.com/ERPLibre/ERPLibre.git
|
||||
cd ERPLibre
|
||||
|
|
@ -16,11 +16,22 @@ Update your configuration if you need to run from another interface than 127.0.0
|
|||
#xmlrpc_interface = 127.0.0.1
|
||||
#netrpc_interface = 127.0.0.1
|
||||
```
|
||||
Ready to execute
|
||||
Ready to execute:
|
||||
```bash
|
||||
make run
|
||||
```
|
||||
|
||||
## Easy way to run docker
|
||||
First, install dependencies to run docker, check script `./script/install_ubuntu_docker.sh`. You need docker and docker-compose.
|
||||
|
||||
The docker volume is binded to the directory name, therefore create a unique directory name and run:
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/ERPLibre/ERPLibre/v1.2.0/docker-compose.yml
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
For more information, read [Docker guide](./docker/README.md).
|
||||
|
||||
## Discover guide
|
||||
[Guide to run ERPLibre in discover to learn it](./doc/DISCOVER.md).
|
||||
|
||||
|
|
|
|||
47
default.xml
47
default.xml
|
|
@ -6,6 +6,7 @@
|
|||
<remote fetch="https://github.com/ERPLibre/" name="Numigi"/>
|
||||
<remote fetch="https://github.com/ERPLibre/" name="OCA"/>
|
||||
<remote fetch="https://github.com/ERPLibre/" name="Smile-SA"/>
|
||||
<remote fetch="https://github.com/ERPLibre/" name="TechnoLibre"/>
|
||||
<remote fetch="https://github.com/ERPLibre/" name="camptocamp"/>
|
||||
<remote fetch="https://github.com/ERPLibre/" name="dhongu"/>
|
||||
<remote fetch="https://github.com/ERPLibre/" name="it-projects-llc"/>
|
||||
|
|
@ -22,6 +23,7 @@
|
|||
|
||||
<default remote="ERPLibre" revision="12.0" sync-c="true" sync-j="4"/>
|
||||
|
||||
<project clone-depth="1" dest-branch="12.0" groups="base" name="ERPLibre_image_db.git" path="image_db" revision="dab97241995bb65309e92db251eda6c35849f889" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="OpenHRMS.git" path="addons/CybroOdoo_OpenHRMS" remote="CybroOdoo" revision="e7881872d147e91a59e9ee9fac9e89316e1cabb4" upstream="12.0"/>
|
||||
<project dest-branch="master" groups="addons" name="Property-Management_odoo.git" path="addons/kinjal-sorathiya_Property-Management_odoo" remote="kinjal-sorathiya" revision="922f6878ac560829d2ebe951b93f858c1e7d256d" upstream="master"/>
|
||||
<project dest-branch="12.0" groups="addons" name="QuotationRevision.git" path="addons/odooaktiv_QuotationRevision" remote="odooaktiv" revision="701438f9c59bd657de516d9ef4de1ba6167bf30b" upstream="12.0"/>
|
||||
|
|
@ -49,7 +51,7 @@
|
|||
<project dest-branch="12.0" groups="addons" name="connector-jira.git" path="addons/OCA_connector-jira" remote="OCA" revision="34d3137a7ddebe680c55c1668702d573c5f3387d" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="connector-telephony.git" path="addons/OCA_connector-telephony" remote="OCA" revision="b87711775dae08e43a0803772bdeb6afda408db4" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="connector.git" path="addons/OCA_connector" remote="OCA" revision="274c3f1c385fb822eacd73235ecf3522dc96fe27" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="contract.git" path="addons/OCA_contract" remote="OCA" revision="03c444e0b583b8950da11efa302991d148bf9ac0" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,code_generator,image_db" name="contract.git" path="addons/OCA_contract" remote="OCA" revision="dba21c732101e0eda33a125acf03975ba53bf87b" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="credit-control.git" path="addons/OCA_credit-control" remote="OCA" revision="b37f66e87063b3b49117dbcab184ad3c28d050c7" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="crm.git" path="addons/OCA_crm" remote="OCA" revision="e0d66587f245c80a6dba3a5227481fe831b1891a" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="currency.git" path="addons/OCA_currency" remote="OCA" revision="b12e419825ec222a29c00fdb1b7740ad54397f51" upstream="12.0"/>
|
||||
|
|
@ -57,57 +59,59 @@
|
|||
<project dest-branch="12.0" groups="addons" name="ddmrp.git" path="addons/OCA_ddmrp" remote="OCA" revision="f4f2f920c091caef4bf0b55c6e1a98ed333afa25" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="delivery-carrier.git" path="addons/OCA_delivery-carrier" remote="OCA" revision="92a8b4445400a2ee76ed4ea9c9fe83a57a2aaeab" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="deltatech.git" path="addons/dhongu_deltatech" remote="dhongu" revision="70ad7f4f9981896e04117156732ac0056764031c" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="development.git" path="addons/MathBenTech_development" remote="MathBenTech" revision="2609ef2966731594741d6a5804cccba1251002e1" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons,base" name="development.git" path="addons/MathBenTech_development" remote="MathBenTech" revision="66e17f1be83ef79c1c2ad13c001aab07c6a5d36d" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="odoo" name="documentation-user.git" path="doc/odoo_documentation-user" remote="odoo" revision="34310a683b498768d5543839a72ceadd4a9120a7" upstream="12.0"/>
|
||||
<project dest-branch="12.0_module_donation_website" groups="addons" name="donation.git" path="addons/OCA_donation" remote="OCA" revision="66a80b99c17baaa82df76d51bd3fd9bc3163034a" upstream="12.0_module_donation_website"/>
|
||||
<project dest-branch="12.0" groups="addons" name="e-commerce.git" path="addons/OCA_e-commerce" remote="OCA" revision="004e2c69b4b0d6ff12ec863d41994b19fe12b70c" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="edi.git" path="addons/OCA_edi" remote="OCA" revision="020a96a4512b60ab74f1213526770595eb54e687" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="erplibre_addons.git" path="addons/ERPLibre_erplibre_addons" revision="e0f9013678edae6c8aeb93bcd2e793af75bb0124" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="erplibre_theme_addons.git" path="addons/ERPLibre_erplibre_theme_addons" revision="8ccf9eecbf26841d728b57dbc12f2c3bdbfe48de" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons,base" name="erplibre_addons.git" path="addons/ERPLibre_erplibre_addons" revision="e0f9013678edae6c8aeb93bcd2e793af75bb0124" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="erplibre_theme_addons.git" path="addons/ERPLibre_erplibre_theme_addons" revision="551d160d8c212e9faafc41d7aa0ea1fe9c54f092" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="event.git" path="addons/OCA_event" remote="OCA" revision="caa5d06e1dd454800149785685c73a1c17af14d1" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="field-service.git" path="addons/OCA_field-service" remote="OCA" revision="fb3cd1ccdf7339ef6d8a55173594f9727c509693" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="fleet.git" path="addons/OCA_fleet" remote="OCA" revision="3b5a96ef9d0a7d769c78e1141a7048a5cdbe8552" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="geospatial.git" path="addons/OCA_geospatial" remote="OCA" revision="24e5832b6807f2757a9f12e26c3cff8c241b63bc" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="helpdesk.git" path="addons/OCA_helpdesk" remote="OCA" revision="3f03ee5595e6827961c7c46d245bfde2ef2d4eec" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="geospatial.git" path="addons/OCA_geospatial" remote="OCA" revision="24e5832b6807f2757a9f12e26c3cff8c241b63bc" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,code_generator,image_db" name="helpdesk.git" path="addons/OCA_helpdesk" remote="OCA" revision="3f03ee5595e6827961c7c46d245bfde2ef2d4eec" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="hr.git" path="addons/OCA_hr" remote="OCA" revision="8cd4ac8db3cdbe500e21300edabfb3f20e657960" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="interface-github.git" path="addons/OCA_interface-github" remote="OCA" revision="9a51c99b0e0adb2d3529feca5d68c76a982d9afc" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="knowledge.git" path="addons/OCA_knowledge" remote="OCA" revision="7448855b3efc403cba03a3225056fed0fbc1c952" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="l10n-canada.git" path="addons/OCA_l10n-canada" remote="OCA" revision="5680b485cdfa0b6f1c2f4e32356b5938a9752c00" upstream="12.0"/>
|
||||
<project dest-branch="master" groups="odoo,code_generator" name="maintainer-tools.git" path="script/OCA_maintainer-tools" remote="OCA" revision="7343658665924c0763f6578f27749c274c4206b7" upstream="master"/>
|
||||
<project dest-branch="12.0" groups="addons" name="maintenance.git" path="addons/OCA_maintenance" remote="OCA" revision="915ba2aa932dad664e4604acf723ac0fb38f3796" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="management-system.git" path="addons/OCA_management-system" remote="OCA" revision="fd422cef074d8aacc2e0cfd61893a949d4d86cd6" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="manufacture.git" path="addons/OCA_manufacture" remote="OCA" revision="560da9ba630974d819e1e505648c7b9731e461f1" upstream="12.0"/>
|
||||
<project dest-branch="12.0_sale_margin_editor" groups="addons" name="margin-analysis.git" path="addons/OCA_margin-analysis" remote="OCA" revision="9abbd69de30b972edd26269c212d0380f1915da7" upstream="12.0_sale_margin_editor"/>
|
||||
<project dest-branch="12.0" groups="addons" name="medical-fhir.git" path="addons/tegin_medical-fhir" remote="tegin" revision="19cba74b3b61ba684749da1f5d7cdb287bd45050" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="mis-builder.git" path="addons/OCA_mis-builder" remote="OCA" revision="178c50f03df1b684972706aa94db917e6114f6cb" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="muk_base.git" path="addons/muk-it_muk_base" remote="muk-it" revision="395c178964b5c7f547e5d36d5b6e78bd58481f56" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,base" name="muk_base.git" path="addons/muk-it_muk_base" remote="muk-it" revision="395c178964b5c7f547e5d36d5b6e78bd58481f56" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="muk_dms.git" path="addons/muk-it_muk_dms" remote="muk-it" revision="346b2d742696343ee025083604ee6fcb2050a65b" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="muk_docs.git" path="addons/muk-it_muk_docs" remote="muk-it" revision="a8ea02b9f00ae9fe5d2ea25ac43d23532cc11d45" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="muk_misc.git" path="addons/muk-it_muk_misc" remote="muk-it" revision="37b9d6dc20fa686a323057b160015bfc2c2c8143" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons,base" name="muk_misc.git" path="addons/muk-it_muk_misc" remote="muk-it" revision="37b9d6dc20fa686a323057b160015bfc2c2c8143" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="muk_quality.git" path="addons/muk-it_muk_quality" remote="muk-it" revision="1a4c6f25c5e4fe0029d406d6283555bd23a44d27" upstream="12.0"/>
|
||||
<project dest-branch="12.0_fix_web_conflict_menu" groups="addons" name="muk_web.git" path="addons/muk-it_muk_web" remote="muk-it" revision="4fb8ce157ce0a144503440b0036bf05625b7c3e1" upstream="12.0_fix_web_conflict_menu"/>
|
||||
<project dest-branch="12.0_remove_autoinstall" groups="addons" name="muk_website.git" path="addons/muk-it_muk_website" remote="muk-it" revision="c1e6c1755d09562f66247832bd01a0d580c43e23" upstream="12.0_remove_autoinstall"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,base" name="muk_web.git" path="addons/muk-it_muk_web" remote="muk-it" revision="d857e59a288f81ee1119860f30802473166888e1" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_remove_autoinstall" groups="addons,base" name="muk_website.git" path="addons/muk-it_muk_website" remote="muk-it" revision="c6c42a4b7187f8964675d004e478e2251f2cdde9" upstream="12.0_remove_autoinstall"/>
|
||||
<project dest-branch="12.0" groups="addons" name="multi-company.git" path="addons/OCA_multi-company" remote="OCA" revision="9d689c5ad230f8f2e6a550354a6b1577a8e5a3c9" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-base-addons.git" path="addons/Numigi_odoo-base-addons" remote="Numigi" revision="78c23a29283f35ef480186358dd6d848a38a2aff" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_sale_order_line_timesheet_attribution" groups="addons" name="odoo-business-spending-management-quebec-canada.git" path="addons/MathBenTech_odoo-business-spending-management-quebec-canada" remote="MathBenTech" revision="822d2e018554119fa63f79ac91625473ec54b9fe" upstream="12.0_sale_order_line_timesheet_attribution"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo-cloud-platform.git" path="addons/camptocamp_odoo-cloud-platform" remote="camptocamp" revision="234451065fa2804af832d713dcec9cf8842d8a49" upstream="12.0"/>
|
||||
<project dest-branch="master" groups="odoo" name="odoo-development.git" path="doc/itpp-labs_odoo-development" remote="itpp-labs" revision="980d072be43735411c91c859ae9a94e060a5e048" upstream="master"/>
|
||||
<project dest-branch="12.0_sale_order_line_timesheet_attribution" groups="addons,base" name="odoo-business-spending-management-quebec-canada.git" path="addons/MathBenTech_odoo-business-spending-management-quebec-canada" remote="MathBenTech" revision="822d2e018554119fa63f79ac91625473ec54b9fe" upstream="12.0_sale_order_line_timesheet_attribution"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-cloud-platform.git" path="addons/camptocamp_odoo-cloud-platform" remote="camptocamp" revision="66ab5ab453d38f480bd8b07c54b9925e25e9890b" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="odoo-code-generator-template.git" path="addons/TechnoLibre_odoo-code-generator-template" remote="TechnoLibre" revision="4be2d00b98788b2b741a9c51c27bdab08c2905ef" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="odoo-code-generator.git" path="addons/TechnoLibre_odoo-code-generator" remote="TechnoLibre" revision="899858faa3c27979783896a7d9004d4e9c7c59b0" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="odoo" name="odoo-development.git" path="doc/itpp-labs_odoo-development" remote="itpp-labs" revision="388bc9b618a0e7ccf970fc678028f19b146e65f9" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-entertainment-addons.git" path="addons/Numigi_odoo-entertainment-addons" remote="Numigi" revision="5abba3eabcb60c96d80240ab756736eb57ed345b" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-git-addons.git" path="addons/Numigi_odoo-git-addons" remote="Numigi" revision="a394f422a5d3063dd2c339544ecca74bdbbe19ae" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo-hr-addons.git" path="addons/Numigi_odoo-hr-addons" remote="Numigi" revision="2d3dd1769b47aac54585c56dcad652a4dbe5850f" upstream="12.0"/>
|
||||
<project dest-branch="master" groups="odoo" name="odoo-module-migrator.git" path="script/OCA_odoo-module-migrator" remote="OCA" revision="a9974dd4252d098590f8694f283aafac7a2b5278" upstream="master"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-partner-addons.git" path="addons/Numigi_odoo-partner-addons" remote="Numigi" revision="3320fbed43c324d07035f7f1d1bc77d779f8fe0e" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,image_db" name="odoo-partner-addons.git" path="addons/Numigi_odoo-partner-addons" remote="Numigi" revision="3320fbed43c324d07035f7f1d1bc77d779f8fe0e" upstream="12.0_dev"/>
|
||||
<project dest-branch="master" groups="odoo" name="odoo-port-docs.git" path="doc/itpp-labs_odoo-port-docs" remote="itpp-labs" revision="25ded087e996dfa0244563d797060c34c11f981d" upstream="master"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-product-addons.git" path="addons/Numigi_odoo-product-addons" remote="Numigi" revision="e4daf4cb743dd73928571c0757083e8ee6fec6ef" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo-product-configurator.git" path="addons/pledra_odoo-product-configurator" remote="pledra" revision="785923c83266097f53569769c26c8f2a859d1d6f" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-project-addons.git" path="addons/Numigi_odoo-project-addons" remote="Numigi" revision="3f844c31afd62a3f1a606f9d55038a881c10c927" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo-purchase-addons.git" path="addons/Numigi_odoo-purchase-addons" remote="Numigi" revision="36d5b5b5a56ef0ddbb75bc83d5d13c38aceea3f2" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo-saas-tools.git" path="addons/it-projects-llc_odoo-saas-tools" remote="it-projects-llc" revision="5f7cf7f7d347a244641feb5d38ac8acd180e4e2b" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-stock-addons.git" path="addons/Numigi_odoo-stock-addons" remote="Numigi" revision="0d4106c1800c2feff32e40206082bb4cb10547d1" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo-survey-addons.git" path="addons/Numigi_odoo-survey-addons" remote="Numigi" revision="9e897bae38ff0d6d3180296a552d994bb10c0eff" upstream="12.0"/>
|
||||
<project dest-branch="master" groups="odoo" name="odoo-test-docs.git" path="doc/itpp-labs_odoo-test-docs" remote="itpp-labs" revision="9179c795931c681a4d7e261da039c43ba3797ec4" upstream="master"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="odoo-timesheet-addons.git" path="addons/Numigi_odoo-timesheet-addons" remote="Numigi" revision="11f01fcca4714fd946949519fd3f3b56b136b813" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo-web-addons.git" path="addons/Numigi_odoo-web-addons" remote="Numigi" revision="3a4aa46439a794429d5939cff561f42c4f312a99" upstream="12.0"/>
|
||||
<project clone-depth="10" dest-branch="ERPLibre/12.0" groups="odoo" name="odoo.git" path="odoo" remote="odoo" revision="1e850cfcf0f628c5fd24a596c9eda7afb148a1f2" upstream="ERPLibre/12.0"/>
|
||||
<project clone-depth="10" dest-branch="ERPLibre/12.0" groups="odoo,base" name="odoo.git" path="odoo" remote="odoo" revision="bfe7c536250add48b0c59553278c9c1f0905593c" upstream="ERPLibre/12.0"/>
|
||||
<project dest-branch="12.0_remote_autoinstall" groups="addons" name="odoo_addons.git" path="addons/Smile-SA_odoo_addons" remote="Smile-SA" revision="42cac5684e7bc60454a56eb44366c9b079dff197" upstream="12.0_remote_autoinstall"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odoo_dhtmlxgantt.git" path="addons/obayit_odoo_dhtmlxgantt" remote="obayit" revision="f54a35ba90be42967cdd423e830823981be75f67" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="odooapps.git" path="addons/odoomates_odooapps" remote="odoomates" revision="76ed3e44029407bf0733ca14c00d2a4b5dc0bfa8" upstream="12.0"/>
|
||||
|
|
@ -126,16 +130,17 @@
|
|||
<project dest-branch="12.0" groups="addons" name="queue.git" path="addons/OCA_queue" remote="OCA" revision="d303bceac89152c6996b7f5bbeabb6a67192b93f" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="reporting-engine.git" path="addons/OCA_reporting-engine" remote="OCA" revision="733d57754c6e419bb16ee095824e787b218c1aa4" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="rma.git" path="addons/OCA_rma" remote="OCA" revision="fd48feb1dea66daae474b74a7e7656f74ba50313" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="saas-addons.git" path="addons/it-projects-llc_saas-addons" remote="it-projects-llc" revision="b03699e438366bb8df292ef6486ef7473cf15e34" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="sale-reporting.git" path="addons/OCA_sale-reporting" remote="OCA" revision="10224ef7b42ee3dec2849414e41557b0bc3c8f79" upstream="12.0"/>
|
||||
<project dest-branch="12.0_modules_sale_order_line" groups="addons" name="sale-workflow.git" path="addons/OCA_sale-workflow" remote="OCA" revision="5d8d2575e6a2c8ad0e3315abd0585651f73b80fd" upstream="12.0_modules_sale_order_line"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="scrummer.git" path="addons/MathBenTech_scrummer" remote="MathBenTech" revision="38c04c8f7b7fe897d166ded74dda9d8d76f7f4c4" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="server-auth.git" path="addons/OCA_server-auth" remote="OCA" revision="2bfb2b2f64bda15fb5c7f8f4d528aa1aadc4998b" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="server-backend.git" path="addons/OCA_server-backend" remote="OCA" revision="77a1ee79912d381e06c8bd96f1034574b460881d" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="server-brand.git" path="addons/OCA_server-brand" remote="OCA" revision="786a26c58f789ed63e6380d5e550cf300a5ae1a4" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons,base" name="server-brand.git" path="addons/OCA_server-brand" remote="OCA" revision="786a26c58f789ed63e6380d5e550cf300a5ae1a4" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="server-env.git" path="addons/OCA_server-env" remote="OCA" revision="11d6745d4156636dd12d134a9b3f8053cb24717b" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="server-tools.git" path="addons/OCA_server-tools" remote="OCA" revision="7496a05bae0f7fdb57ff7dab40db57cc13eeb9ec" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,base" name="server-tools.git" path="addons/OCA_server-tools" remote="OCA" revision="27835ae75e9679750b433fdc4756771b8fff7997" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="server-ux.git" path="addons/OCA_server-ux" remote="OCA" revision="765439a6af66be5ee2427a2775812d44a345a235" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="social.git" path="addons/OCA_social" remote="OCA" revision="8bd98212b8d04aa3de82e9f51063b9d185ac0f1c" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons,base" name="social.git" path="addons/OCA_social" remote="OCA" revision="8bd98212b8d04aa3de82e9f51063b9d185ac0f1c" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="stock-logistics-warehouse.git" path="addons/OCA_stock-logistics-warehouse" remote="OCA" revision="1b99507da7815d1dd2e030a3a1d28285ea7ecf76" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="storage.git" path="addons/OCA_storage" remote="OCA" revision="77bac72af7f4aa1c6248378e9cbb5ebcdd52f994" upstream="12.0"/>
|
||||
<project dest-branch="12.0_support_project_agile_timesheet" groups="addons" name="timesheet.git" path="addons/OCA_timesheet" remote="OCA" revision="a8630243c1c06c66579f5d6fff6ad71e249a0f80" upstream="12.0_support_project_agile_timesheet"/>
|
||||
|
|
@ -143,9 +148,9 @@
|
|||
<project dest-branch="12.0" groups="addons" name="vertical-hotel.git" path="addons/OCA_vertical-hotel" remote="OCA" revision="f958379e1492870431a92543089db214b62ab1f5" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="vertical-isp.git" path="addons/OCA_vertical-isp" remote="OCA" revision="28ad39aae5eb5cebaa46d79ce563ef760451962b" upstream="12.0"/>
|
||||
<project dest-branch="12.0" groups="addons" name="vertical-travel.git" path="addons/OCA_vertical-travel" remote="OCA" revision="3572c0689eb67a757681070ac913c72cea50645f" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="web.git" path="addons/OCA_web" remote="OCA" revision="2c57ad38475f030dbd00c01d00c6a540d5ab4d7d" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,base" name="web.git" path="addons/OCA_web" remote="OCA" revision="2c57ad38475f030dbd00c01d00c6a540d5ab4d7d" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="website-addons.git" path="addons/itpp-labs_website-addons" remote="itpp-labs" revision="ed7d3b19435d7522afccf17edd9261ab215b4851" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="website-cms.git" path="addons/OCA_website-cms" remote="OCA" revision="e67368d15de06e795247bd54874181bfd7324a44" upstream="12.0"/>
|
||||
<project dest-branch="12.0_dev" groups="addons" name="website.git" path="addons/OCA_website" remote="OCA" revision="900919e8fbe155ebf58273870f0fb596f317f6c4" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0_dev" groups="addons,code_generator,image_db" name="website.git" path="addons/OCA_website" remote="OCA" revision="900919e8fbe155ebf58273870f0fb596f317f6c4" upstream="12.0_dev"/>
|
||||
<project dest-branch="12.0" groups="addons" name="wms.git" path="addons/OCA_wms" remote="OCA" revision="04600a6f653b7c7e8b597f452cceb4172013c73f" upstream="12.0"/>
|
||||
</manifest>
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
<!-- [en] -->
|
||||
Never run this on production environment, this create circular dependencies and will cause frustration to clean damage.
|
||||
<!-- [fr] -->
|
||||
Ne jamais exécuter le générateur de code dans un environnement de production, il y a création de dépendance circulaire pouvant causer de la frustration à nettoyer tous les dommages. D'ailleurs, il est nécessaire d'exécuter en mode développement, avec l'argument `--dev all`.
|
||||
Ne jamais exécuter le générateur de code dans un environnement de production, il y a création de dépendances circulaires pouvant causer de la frustration à nettoyer tous les dommages. D'ailleurs, il est nécessaire d'exécuter en mode développement, avec l'argument `--dev all`.
|
||||
|
||||
L'objectif du générateur de code est de :
|
||||
- utilisation du générateur via l'interface web;
|
||||
- utiliser le générateur via l'interface web;
|
||||
- créer un nouveau module;
|
||||
- modifier un module existant;
|
||||
- exécuter les tests.
|
||||
|
|
@ -24,7 +24,7 @@ Ce générateur de code, pour ERPLibre, a tout avantage d'être sous licence AGP
|
|||
- (Utiliser) L'utilisation de module sans restriction;
|
||||
- (Copier) Copier des modules pour faciliter leur maintenance et leur pérennité;
|
||||
- (Étudier) De comprendre le comportement des fonctionnalités;
|
||||
- (Modifier) Modifier un module existant pour l'améliorer et pouvoir le redistribuer à la communauté;
|
||||
- (Modifier) Modifier un module existant pour l'améliorer et devoir le redistribuer à la communauté;
|
||||
<!-- [common] -->
|
||||
|
||||
```
|
||||
|
|
@ -40,16 +40,16 @@ Modules
|
|||
3. A Template reads a Module to generate a Code_Generator.
|
||||
|
||||
<!-- [fr] -->
|
||||
Il y a 3 types de module dans le contexte du générateur de code :
|
||||
1. [A Template generates a Template or a Code_Generator.](#crer-votre-premier-code_generator), le chef d'orchestre qui permet de gérer plusieurs générateur de code.
|
||||
Il y a 3 types de modules dans le contexte du générateur de code :
|
||||
1. [A Template generates a Template or a Code_Generator.](#crer-votre-premier-code_generator), le chef d'orchestre qui permet de gérer plusieurs générateurs de code.
|
||||
2. Un Code_Generator génère un module, c'est un moule à module généré.
|
||||
3. Un Template lit un module pour générer un Code_Generator.
|
||||
|
||||
<!-- [en] -->
|
||||
Warning, be careful to your code, always commit after a manipulation, because the mode enable_sync_code erase data, only the git will save you!
|
||||
Warning, be careful with your code, always commit after a manipulation, because the mode enable_sync_code erase data, only Git will save you!
|
||||
|
||||
<!-- [fr] -->
|
||||
Attention pour ne pas écraser votre code, toujours commiter après une manipulation, l'utilisation du mode enable_sync_code peut effacer des données. Seul git vous sauvera!
|
||||
Attention pour ne pas écraser votre code, toujours commiter après une manipulation, l'utilisation du mode enable_sync_code peut effacer des données. Seul Git vous sauvera!
|
||||
|
||||
<!-- [en] -->
|
||||
## Manual generator with web interface
|
||||
|
|
@ -91,7 +91,7 @@ make addons_install_code_generator_full
|
|||
make run_code_generator
|
||||
```
|
||||
|
||||
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le déverminage.
|
||||
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
|
||||
|
||||
Ouvrir l'application `Code Generator` et créer un `Module`. Remplir les champs requis et générer avec `Action/Generate code`.
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ make run_code_generator
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Pour des références techniques, voir module :
|
||||
Pour des références techniques, voir modules :
|
||||
- code_generator_template_demo_portal
|
||||
- code_generator_demo_portal
|
||||
- code_generator_demo_internal
|
||||
|
|
@ -122,12 +122,12 @@ Pour des références techniques, voir module :
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Application».
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder.
|
||||
Aller dans le module «Code generator» et créer un module «test»;
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Application»;
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder;
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Appuyer «Generate»
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -155,7 +155,7 @@ make run_code_generator
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Pour des références techniques, voir module :
|
||||
Pour des références techniques, voir modules :
|
||||
- code_generator_template_demo_portal
|
||||
- code_generator_demo_portal
|
||||
- code_generator_demo_internal
|
||||
|
|
@ -166,15 +166,15 @@ Pour des références techniques, voir module :
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Application».
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder.
|
||||
Aller dans le module «Code generator» et créer un module «test»;
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Application»;
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder;
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Désactiver «Enable all feature»
|
||||
- Dans l'onglet «Portal»
|
||||
- Activer «Enable portal feature»
|
||||
- Appuyer «Generate»
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -203,10 +203,10 @@ Aller sur le portail pour visualiser les données, à l'adresse `/my`.
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Le crochet nommé «hook» permet d'exécuter du code en
|
||||
- Pré-initialisation du module
|
||||
- Post-initialisation du module
|
||||
- Désinstallation du module
|
||||
Le crochet nommé «hook» permet d'exécuter du code en:
|
||||
- Pré-initialisation du module;
|
||||
- Post-initialisation du module;
|
||||
- Désinstallation du module.
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo
|
||||
|
|
@ -223,10 +223,10 @@ TODO
|
|||
|
||||
<!-- [fr] -->
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Hook»
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Hook»:
|
||||
- Activer «Show post_init_hook»
|
||||
- Ajouter le code suivant dans la fenêtre qui est apparu :
|
||||
- Ajouter le code suivant dans la fenêtre qui est apparue :
|
||||
|
||||
<!-- [common] -->
|
||||
```python
|
||||
|
|
@ -260,9 +260,9 @@ TODO
|
|||
Permettre d'exécuter du code basé sur des séquences de temps ou des moments spécifiques à répétition.
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_template_demo_sysadmin_cron
|
||||
- code_generator_auto_backup
|
||||
- auto_backup
|
||||
- code_generator_template_demo_sysadmin_cron;
|
||||
- code_generator_auto_backup;
|
||||
- auto_backup.
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -276,13 +276,13 @@ TODO
|
|||
|
||||
<!-- [fr] -->
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Cron»
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Cron»:
|
||||
- Ajouter un cron
|
||||
- Choisir le «Modèle» : «Contact»
|
||||
- Choisir unité de temps en «Minutes» dans «Exécuter tous les»
|
||||
- Modifier «Nombre d'appel» à -1 pour exécution sans arrêt.
|
||||
- Activer «Force nextcall» pour permettre que l'interval soit basé sur le moment d'installation du module
|
||||
- Choisir le «Modèle» : «Contact»;
|
||||
- Choisir unité de temps en «Minutes» dans «Exécuter tous les»;
|
||||
- Modifier «Nombre d'appel» à -1 pour exécution sans arrêt;
|
||||
- Activer «Force nextcall» pour permettre que l'interval soit basé sur le moment d'installation du module.
|
||||
- Ajouter le code :
|
||||
|
||||
<!-- [common] -->
|
||||
|
|
@ -307,7 +307,7 @@ make run_test
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Avec les outils développeur, aller regarder les logs dans l'application «Configuration»/Technique/«Structure de base de donnée»/Historisation. Des informations dans le temps apparaîtront avec le mot «Coucou».
|
||||
Avec les outils développeur, aller regarder les logs dans l'application «Configuration»/Technique/«Structure de base de données»/Historisation. Des informations dans le temps apparaîtront avec le mot «Coucou».
|
||||
|
||||
<!-- [en] -->
|
||||
### Create website snippet module
|
||||
|
|
@ -333,9 +333,9 @@ TODO
|
|||
|
||||
<!-- [fr] -->
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_template_demo_website_snippet
|
||||
- code_generator_demo_website_snippet
|
||||
- demo_website_snippet
|
||||
- code_generator_template_demo_website_snippet;
|
||||
- code_generator_demo_website_snippet;
|
||||
- demo_website_snippet.
|
||||
|
||||
Puis dans le repo addons/ERPLibre_erplibre_theme_addons, branche code_generator_erplibre_website_snippets
|
||||
- code_generator_erplibre_website_snippets
|
||||
|
|
@ -350,10 +350,10 @@ Aller dans le module «Code generator» et créer un module «test».
|
|||
TODO Incomplet
|
||||
|
||||
<!-- [en] -->
|
||||
### Create geoengine with Leaflet module
|
||||
### Create GeoEngine with Leaflet module
|
||||
|
||||
<!-- [fr] -->
|
||||
### Créer un module de gestion de coordonnée géospatial avec Leaflet
|
||||
### Créer un module de gestion de coordonnées géospatiales avec Leaflet
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -367,31 +367,31 @@ TODO
|
|||
|
||||
<!-- [fr] -->
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_website_leaflet
|
||||
- demo_website_leaflet
|
||||
- code_generator_demo_website_leaflet;
|
||||
- demo_website_leaflet.
|
||||
|
||||
<!-- [en] -->
|
||||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data»
|
||||
- Activer «Application»
|
||||
- Ajouter la dépendance du geo_engine «Geospatial support for System»
|
||||
- Sur l'onglet «Elements»/«Models»
|
||||
- Ajouter un modèle «test»
|
||||
- Ajouter un champs de type «geo_». Le «geo_point» fonctionne bien. Si vous ajoutez plusieurs géométrie, tel que «geo_point», «geo_line» et «geo_polygon», il faut ajouter le champs «type» avec les valeurs du nom des champs choisis en option de sélection, exemple `[('geo_point', 'Geo Point'),('geo_polygon', 'Geo Polygon')]`
|
||||
- Ajouter le champs optionnel «html_text» de type «html» pour pouvoir afficher du texte dessus.
|
||||
- Appuyer sur le bouton «Controllers»
|
||||
- Ajouter le modèle du module actuel, «test»
|
||||
- Appuyer «Generate»
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Désactiver «Enable all feature»
|
||||
- Dans l'onglet «Website»
|
||||
- Activer «Enable website leaflet feature»
|
||||
- Activer «Enable geoengine feature»
|
||||
- Appuyer «Generate»
|
||||
Aller dans le module «Code generator» et créer un module «test»:
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data»:
|
||||
- Activer «Application»;
|
||||
- Ajouter la dépendance du geo_engine «Geospatial support for System»;
|
||||
- Sur l'onglet «Elements»/«Models»:
|
||||
- Ajouter un modèle «test»;
|
||||
- Ajouter un champs de type «geo_». Le «geo_point» fonctionne bien. Si vous ajoutez plusieurs géométries, telles que «geo_point», «geo_line» et «geo_polygon», il faut ajouter le champs nommé «type» au type sélection avec les valeurs du nom des champs choisis en option de sélection, exemple `[('geo_point', 'Geo Point'),('geo_polygon', 'Geo Polygon')]`
|
||||
- Ajouter le champs optionnel «html_text» de type «html» pour pouvoir afficher du texte dedans.
|
||||
- Appuyer sur le bouton «Controllers»:
|
||||
- Ajouter le modèle du module actuel, «test»;
|
||||
- Appuyer «Generate».
|
||||
- Appuyer sur le bouton «Views»:
|
||||
- Désactiver «Enable all feature»;
|
||||
- Dans l'onglet «Website»:
|
||||
- Activer «Enable website leaflet feature»;
|
||||
- Activer «Enable geoengine feature»;
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -423,7 +423,7 @@ TODO
|
|||
|
||||
<!-- [fr] -->
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_theme_website
|
||||
- code_generator_demo_theme_website.
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -435,13 +435,13 @@ make run_code_generator
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Website theme».
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Aller à l'onglet «theme_website»
|
||||
- Mettre les couleurs désirés
|
||||
- Appuyer «Generate»
|
||||
Aller dans le module «Code generator» et créer un module «test»:
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Website theme»;
|
||||
- Appuyer sur le bouton «Views»:
|
||||
- Aller à l'onglet «theme_website»:
|
||||
- Mettre les couleurs désirés;
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -458,7 +458,7 @@ make run_test
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Aller dans l'interface web, Application «Configuration», «Paramètres Généraux»/«Site Web»/«Choisissez un thème». Installer le thème «TEST». Puis aller la page du site web, les couleurs sont dans «Personnaliser»/«Personnaliser le thème».
|
||||
Aller dans l'interface web, Application «Configuration», «Paramètres Généraux»/«Site Web»/«Choisissez un thème». Installer le thème «TEST», puis aller la page du site web, les couleurs sont dans «Personnaliser»/«Personnaliser le thème».
|
||||
|
||||
<!-- [en] -->
|
||||
### Extract data to module
|
||||
|
|
@ -470,13 +470,13 @@ Aller dans l'interface web, Application «Configuration», «Paramètres Génér
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
L'exemple est avec le helpdesk. Installer le module helpdesk_mgmt :
|
||||
L'exemple est construit avec le helpdesk. Installer le module helpdesk_mgmt :
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_export_helpdesk
|
||||
- code_generator_demo_export_website
|
||||
- demo_website_data
|
||||
- demo_helpdesk_data
|
||||
- code_generator_demo_export_helpdesk;
|
||||
- code_generator_demo_export_website;
|
||||
- demo_website_data;
|
||||
- demo_helpdesk_data.
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -490,18 +490,18 @@ TODO
|
|||
<!-- [fr] -->
|
||||
Créer un ticket dans l'application «Helpdesk» dans l'interface web.
|
||||
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Only export data».
|
||||
- Appuyer sur le bouton «Models»
|
||||
Aller dans le module «Code generator» et créer un module «test»:
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Only export data»;
|
||||
- Appuyer sur le bouton «Models»:
|
||||
- Choisissez dans «Models» :
|
||||
- «helpdesk.ticket»
|
||||
- Activer «Clear field blacklisted»
|
||||
- Enlever les éléments suivant de «Fields» :
|
||||
- name
|
||||
- description
|
||||
- number
|
||||
- Appuyer «Generate»
|
||||
- «helpdesk.ticket»;
|
||||
- Activer «Clear field blacklisted»;
|
||||
- Enlever les éléments suivants de «Fields» :
|
||||
- name;
|
||||
- description;
|
||||
- number;
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
<!-- [common] -->
|
||||
|
|
@ -510,10 +510,10 @@ make db_restore_erplibre_base_db_test_module_test
|
|||
```
|
||||
|
||||
<!-- [en] -->
|
||||
### Migrate external database into module of migration
|
||||
### Migrate external database into the migration module
|
||||
|
||||
<!-- [fr] -->
|
||||
### Migrer une base de donnée externe en module de migration
|
||||
### Migrer une base de données externe en module de migration
|
||||
|
||||
<!-- [en] -->
|
||||
TODO
|
||||
|
|
@ -534,7 +534,7 @@ make run_code_generator
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Aller dans le module «Code generator», menu «Databases»/«Databases» et créer un connecteur vers une base de donnée.
|
||||
Aller dans le module «Code generator», menu «Databases»/«Databases» et créer un connecteur vers une base de données.
|
||||
|
||||
À compléter...
|
||||
|
||||
|
|
@ -542,7 +542,7 @@ Aller dans le module «Code generator», menu «Databases»/«Databases» et cr
|
|||
### Migrate from website to model with PDF data
|
||||
|
||||
<!-- [fr] -->
|
||||
### Migrer d'un site web vers un modèle de donnée avec des données format PDF
|
||||
### Migrer d'un site web vers un modèle de données avec des données format PDF
|
||||
|
||||
<!-- [en] -->
|
||||
TODO
|
||||
|
|
@ -550,13 +550,13 @@ TODO
|
|||
<!-- [fr] -->
|
||||
En progression, ce n'est pas encore supporté via l'interface web.
|
||||
|
||||
Cette technique permet d'aller lire du Javascript sur un site web pour lire ensuite le HTML, c'est à dire la vue, et en comprendre l'information pour créer un modèle.
|
||||
Cette technique permet d'aller lire du Javascript sur un site web pour lire ensuite le HTML, c'est-à-dire la vue, et en comprendre l'information, pour créer un modèle.
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_converter_js
|
||||
- business_plan_import_pdf
|
||||
- code_generator_demo_converter_js;
|
||||
- business_plan_import_pdf.
|
||||
|
||||
Attention, il faut mettre à jour les variables, dans les fichiers hook.py qui permettront d'extraire des données sur le site web à copier. Aucun exemple public n'est accessible pour le moment.
|
||||
Attention, il faut mettre à jour les variables, dans les fichiers hook.py, qui permettront d'extraire des données sur le site web à copier. Aucun exemple public n'est accessible pour le moment.
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -573,10 +573,10 @@ make db_restore_erplibre_base_db_test
|
|||
## Préparer une BD
|
||||
|
||||
<!-- [en] -->
|
||||
This will destroy and create database named `code_generator`.
|
||||
This will destroy and create a database named `code_generator`.
|
||||
|
||||
<!-- [fr] -->
|
||||
Ceci va détruire et créer une base de donnée nommé `code_generator`.
|
||||
Ceci va détruire et créer une base de données nommée `code_generator`.
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -587,7 +587,7 @@ make db_restore_erplibre_base_db_code_generator
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Pour de meilleur performance d'exécution, réduire la quantité de «repo addons» permet d'accélérer l'installation, exécuter :
|
||||
Pour de meilleures performances d'exécution, réduire la quantité de «repo addons» qui permet d'accélérer l'installation, exécuter :
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -598,7 +598,7 @@ make config_gen_code_generator
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Pour revenir à la configuration normal, en production, exécuter :
|
||||
Pour revenir à la configuration normale, en production, exécuter :
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -624,9 +624,9 @@ Modifier [Code Generator Demo](./../addons/TechnoLibre_odoo-code-generator/code_
|
|||
### Générer un `Template`
|
||||
|
||||
<!-- [en] -->
|
||||
By default, `code_generator_demo` generate itself, `code_generator_demo`.
|
||||
By default, `code_generator_demo` generates itself, `code_generator_demo`.
|
||||
|
||||
Name your module begin with `MODULE_NAME = "code_generator_template_"`
|
||||
Name your module beginning with `MODULE_NAME = "code_generator_template_"`
|
||||
|
||||
The value "enable_template_code_generator_demo" at `False` to create a new template module, else this will recreate `code_generator_demo`.
|
||||
|
||||
|
|
@ -636,7 +636,7 @@ Par défaut, installer le module code_generator_demo va générer le module `cod
|
|||
Nommer votre module en commençant par `MODULE_NAME = "code_generator_template_"`
|
||||
|
||||
<!-- [en] -->
|
||||
Example, to generate the module `code_generator_template_demo_website_snippet`, change value:
|
||||
For example, to generate the module `code_generator_template_demo_website_snippet`, change value:
|
||||
|
||||
<!-- [fr] -->
|
||||
Un exemple, générer le module `code_generator_template_demo_website_snippet`, changer la variable `value`:
|
||||
|
|
@ -672,13 +672,13 @@ make addons_install_code_generator_demo
|
|||
### Générer un Code_Generator (suite de template)
|
||||
|
||||
<!-- [en] -->
|
||||
Name your module begin with `MODULE_NAME = "code_generator_"`
|
||||
Name your module beginning with `MODULE_NAME = "code_generator_"`
|
||||
|
||||
<!-- [fr] -->
|
||||
Au besoin, renommé votre module qui débute par `MODULE_NAME = "code_generator_"`
|
||||
Au besoin, renommer votre module qui débute par `MODULE_NAME = "code_generator_"`
|
||||
|
||||
<!-- [en] -->
|
||||
Continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
To continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
|
||||
<!-- [fr] -->
|
||||
Pour continuer avec l'exemple, généré le template `code_generator_template_demo_website_snippet`, ceci va écraser `code_generator_demo_website_snippet`:
|
||||
|
|
@ -705,12 +705,12 @@ Aller à la section [Créer votre premier module](#crer-votre-premier-module)
|
|||
TODO validate this
|
||||
|
||||
<!-- [en] -->
|
||||
Name your module begin with `MODULE_NAME = "code_generator_demo_"`
|
||||
Name your module beginning with `MODULE_NAME = "code_generator_demo_"`
|
||||
|
||||
Disable `enable_template_code_generator_demo`
|
||||
|
||||
<!-- [fr] -->
|
||||
Nommé votre module qui débute par `MODULE_NAME = "code_generator_demo_"`
|
||||
Nommer votre module qui débute par `MODULE_NAME = "code_generator_demo_"`
|
||||
|
||||
Désactiver la variable `enable_template_code_generator_demo`
|
||||
|
||||
|
|
@ -720,10 +720,10 @@ value["enable_template_code_generator_demo"] = False
|
|||
```
|
||||
|
||||
<!-- [en] -->
|
||||
Continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
To continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
|
||||
<!-- [fr] -->
|
||||
Pour continuer avec l'exemple, généré le template `code_generator_template_demo_website_snippet`, ceci va écraser `code_generator_demo_website_snippet`:
|
||||
Pour continuer avec l'exemple, générez le template `code_generator_template_demo_website_snippet`, ceci va écraser `code_generator_demo_website_snippet`:
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -737,7 +737,7 @@ Pour continuer avec l'exemple, généré le template `code_generator_template_de
|
|||
## Créer votre premier module
|
||||
|
||||
<!-- [en] -->
|
||||
Continue example of code_generator_demo_website_snippet to generate your first module. Update next value:
|
||||
To continue the example of code_generator_demo_website_snippet to generate your first module. Update next value:
|
||||
|
||||
<!-- [fr] -->
|
||||
Continuer avec l'exemple du `code_generator_demo_website_snippet` pour générer votre premier module. Mettre à jour les valeurs suivantes :
|
||||
|
|
@ -766,7 +766,7 @@ make db_restore_erplibre_base_db_code_generator
|
|||
```
|
||||
|
||||
<!-- [en] -->
|
||||
Now, you can test it! Note, you cannot install a generated module with is code_generator associated, because duplicated
|
||||
Now, you can test it! Note, you cannot install a generated module with his code_generator associated, because of duplicated
|
||||
models!
|
||||
|
||||
<!-- [fr] -->
|
||||
|
|
@ -801,7 +801,7 @@ value["template_model_name"] = "test;test2"
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Exécuter l'installation du template pour qu'il se synchronise sur le module généré.
|
||||
Exécuter l'installation du template pour qu'il se synchronise avec le module généré.
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
@ -842,7 +842,7 @@ code_generator_writer.set_module_translator(new_module_name, new_module_path)
|
|||
```
|
||||
|
||||
<!-- [en] -->
|
||||
First, install the module, example `demo_portal`, and after the template, example `code_generator_template_demo_portal`.
|
||||
First, install the module, for example `demo_portal`, and after the template, for example `code_generator_template_demo_portal`.
|
||||
|
||||
<!-- [fr] -->
|
||||
Premièrement, installer le module, par exemple `demo_portal`, et ensuite le template, par exemple `code_generator_template_demo_portal`.
|
||||
|
|
@ -861,7 +861,7 @@ make db_restore_erplibre_base_db_code_generator
|
|||
# Synchroniser les champs du `Code_Generator` du module
|
||||
|
||||
<!-- [en] -->
|
||||
This reduce time of programming a `Code_Generator` with sync module field with `Template`.
|
||||
This reduce the time it takes for programming a `Code_Generator` with sync module field with `Template`.
|
||||
|
||||
You need a `Template`, a `Code_Generator` with his `Module`. Install the `Module` first in clean database and install `Template`,
|
||||
this will generate the `Code_Generator`, use `enable_sync_template` at True.
|
||||
|
|
@ -871,7 +871,7 @@ Example:
|
|||
<!-- [fr] -->
|
||||
Ceci va permettre de réduire le temps de programmation d'un `Code_Generator` avec la synchronisation des champs de module avec `Template`.
|
||||
|
||||
On a besoin d'un `Template`, un `Code_Generator` accompagné de son module. Installer le module en premier dans une base de donnée nettoyé et installer le `Template`, ceci va générer le `Code_Generator`, utiliser `enable_sync_template` à la valeur `True`.
|
||||
On a besoin d'un `Template`, un `Code_Generator` accompagné de son module. Installer le module en premier dans une base de données nettoyée et installer le `Template`, ceci va générer le `Code_Generator`, utiliser `enable_sync_template` à la valeur `True`.
|
||||
|
||||
Exemple :
|
||||
|
||||
|
|
@ -914,7 +914,7 @@ make test_code_generator_generation
|
|||
TODO
|
||||
|
||||
<!-- [fr] -->
|
||||
Tester les générations extra :
|
||||
Tester les générations extras :
|
||||
|
||||
<!-- [common] -->
|
||||
```bash
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
# Comment générer du code
|
||||
|
||||
Ne jamais exécuter le générateur de code dans un environnement de production, il y a création de dépendance circulaire pouvant causer de la frustration à nettoyer tous les dommages. D'ailleurs, il est nécessaire d'exécuter en mode développement, avec l'argument `--dev all`.
|
||||
Ne jamais exécuter le générateur de code dans un environnement de production, il y a création de dépendances circulaires pouvant causer de la frustration à nettoyer tous les dommages. D'ailleurs, il est nécessaire d'exécuter en mode développement, avec l'argument `--dev all`.
|
||||
|
||||
L'objectif du générateur de code est de :
|
||||
- utilisation du générateur via l'interface web;
|
||||
- utiliser le générateur via l'interface web;
|
||||
- créer un nouveau module;
|
||||
- modifier un module existant;
|
||||
- exécuter les tests.
|
||||
|
|
@ -12,7 +12,7 @@ Ce générateur de code, pour ERPLibre, a tout avantage d'être sous licence AGP
|
|||
- (Utiliser) L'utilisation de module sans restriction;
|
||||
- (Copier) Copier des modules pour faciliter leur maintenance et leur pérennité;
|
||||
- (Étudier) De comprendre le comportement des fonctionnalités;
|
||||
- (Modifier) Modifier un module existant pour l'améliorer et pouvoir le redistribuer à la communauté;
|
||||
- (Modifier) Modifier un module existant pour l'améliorer et devoir le redistribuer à la communauté;
|
||||
|
||||
```
|
||||
Modules
|
||||
|
|
@ -21,12 +21,12 @@ Modules
|
|||
############ ################## ##########
|
||||
```
|
||||
|
||||
Il y a 3 types de module dans le contexte du générateur de code :
|
||||
1. [A Template generates a Template or a Code_Generator.](#crer-votre-premier-code_generator), le chef d'orchestre qui permet de gérer plusieurs générateur de code.
|
||||
Il y a 3 types de modules dans le contexte du générateur de code :
|
||||
1. [A Template generates a Template or a Code_Generator.](#crer-votre-premier-code_generator), le chef d'orchestre qui permet de gérer plusieurs générateurs de code.
|
||||
2. Un Code_Generator génère un module, c'est un moule à module généré.
|
||||
3. Un Template lit un module pour générer un Code_Generator.
|
||||
|
||||
Attention pour ne pas écraser votre code, toujours commiter après une manipulation, l'utilisation du mode enable_sync_code peut effacer des données. Seul git vous sauvera!
|
||||
Attention pour ne pas écraser votre code, toujours commiter après une manipulation, l'utilisation du mode enable_sync_code peut effacer des données. Seul Git vous sauvera!
|
||||
|
||||
## Générateur de module avec l'interface web
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ make addons_install_code_generator_full
|
|||
make run_code_generator
|
||||
```
|
||||
|
||||
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le déverminage.
|
||||
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
|
||||
|
||||
Ouvrir l'application `Code Generator` et créer un `Module`. Remplir les champs requis et générer avec `Action/Generate code`.
|
||||
|
||||
|
|
@ -63,19 +63,19 @@ make addons_install_code_generator_basic
|
|||
make run_code_generator
|
||||
```
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
Pour des références techniques, voir modules :
|
||||
- code_generator_template_demo_portal
|
||||
- code_generator_demo_portal
|
||||
- code_generator_demo_internal
|
||||
- demo_portal
|
||||
- demo_internal
|
||||
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Application».
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder.
|
||||
Aller dans le module «Code generator» et créer un module «test»;
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Application»;
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder;
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Appuyer «Generate»
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -93,22 +93,22 @@ make addons_install_code_generator_basic
|
|||
make run_code_generator
|
||||
```
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
Pour des références techniques, voir modules :
|
||||
- code_generator_template_demo_portal
|
||||
- code_generator_demo_portal
|
||||
- code_generator_demo_internal
|
||||
- demo_portal
|
||||
- demo_internal
|
||||
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Application».
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder.
|
||||
Aller dans le module «Code generator» et créer un module «test»;
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Application»;
|
||||
- Sur l'onglet «Elements»/«Models», ajouter un modèle et sauvegarder;
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Désactiver «Enable all feature»
|
||||
- Dans l'onglet «Portal»
|
||||
- Activer «Enable portal feature»
|
||||
- Appuyer «Generate»
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -124,10 +124,10 @@ Aller sur le portail pour visualiser les données, à l'adresse `/my`.
|
|||
|
||||
### Créer un module crochet pour l'installation
|
||||
|
||||
Le crochet nommé «hook» permet d'exécuter du code en
|
||||
- Pré-initialisation du module
|
||||
- Post-initialisation du module
|
||||
- Désinstallation du module
|
||||
Le crochet nommé «hook» permet d'exécuter du code en:
|
||||
- Pré-initialisation du module;
|
||||
- Post-initialisation du module;
|
||||
- Désinstallation du module.
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo
|
||||
|
|
@ -139,10 +139,10 @@ make run_code_generator
|
|||
```
|
||||
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Hook»
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Hook»:
|
||||
- Activer «Show post_init_hook»
|
||||
- Ajouter le code suivant dans la fenêtre qui est apparu :
|
||||
- Ajouter le code suivant dans la fenêtre qui est apparue :
|
||||
|
||||
```python
|
||||
with api.Environment.manage():
|
||||
|
|
@ -162,9 +162,9 @@ make db_restore_erplibre_base_db_test_module_test
|
|||
Permettre d'exécuter du code basé sur des séquences de temps ou des moments spécifiques à répétition.
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_template_demo_sysadmin_cron
|
||||
- code_generator_auto_backup
|
||||
- auto_backup
|
||||
- code_generator_template_demo_sysadmin_cron;
|
||||
- code_generator_auto_backup;
|
||||
- auto_backup.
|
||||
|
||||
```bash
|
||||
make addons_install_code_generator_basic
|
||||
|
|
@ -173,13 +173,13 @@ make run_code_generator
|
|||
```
|
||||
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Cron»
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Cron»:
|
||||
- Ajouter un cron
|
||||
- Choisir le «Modèle» : «Contact»
|
||||
- Choisir unité de temps en «Minutes» dans «Exécuter tous les»
|
||||
- Modifier «Nombre d'appel» à -1 pour exécution sans arrêt.
|
||||
- Activer «Force nextcall» pour permettre que l'interval soit basé sur le moment d'installation du module
|
||||
- Choisir le «Modèle» : «Contact»;
|
||||
- Choisir unité de temps en «Minutes» dans «Exécuter tous les»;
|
||||
- Modifier «Nombre d'appel» à -1 pour exécution sans arrêt;
|
||||
- Activer «Force nextcall» pour permettre que l'interval soit basé sur le moment d'installation du module.
|
||||
- Ajouter le code :
|
||||
|
||||
```python
|
||||
|
|
@ -194,7 +194,7 @@ make db_restore_erplibre_base_db_test_module_test
|
|||
make run_test
|
||||
```
|
||||
|
||||
Avec les outils développeur, aller regarder les logs dans l'application «Configuration»/Technique/«Structure de base de donnée»/Historisation. Des informations dans le temps apparaîtront avec le mot «Coucou».
|
||||
Avec les outils développeur, aller regarder les logs dans l'application «Configuration»/Technique/«Structure de base de données»/Historisation. Des informations dans le temps apparaîtront avec le mot «Coucou».
|
||||
|
||||
### Créer un module de snippet pour le site web
|
||||
|
||||
|
|
@ -207,9 +207,9 @@ make run_code_generator
|
|||
```
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_template_demo_website_snippet
|
||||
- code_generator_demo_website_snippet
|
||||
- demo_website_snippet
|
||||
- code_generator_template_demo_website_snippet;
|
||||
- code_generator_demo_website_snippet;
|
||||
- demo_website_snippet.
|
||||
|
||||
Puis dans le repo addons/ERPLibre_erplibre_theme_addons, branche code_generator_erplibre_website_snippets
|
||||
- code_generator_erplibre_website_snippets
|
||||
|
|
@ -219,7 +219,7 @@ Aller dans le module «Code generator» et créer un module «test».
|
|||
|
||||
TODO Incomplet
|
||||
|
||||
### Créer un module de gestion de coordonnée géospatial avec Leaflet
|
||||
### Créer un module de gestion de coordonnées géospatiales avec Leaflet
|
||||
|
||||
```bash
|
||||
make addons_install_code_generator_basic
|
||||
|
|
@ -228,27 +228,27 @@ make run_code_generator
|
|||
```
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_website_leaflet
|
||||
- demo_website_leaflet
|
||||
- code_generator_demo_website_leaflet;
|
||||
- demo_website_leaflet.
|
||||
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data»
|
||||
- Activer «Application»
|
||||
- Ajouter la dépendance du geo_engine «Geospatial support for System»
|
||||
- Sur l'onglet «Elements»/«Models»
|
||||
- Ajouter un modèle «test»
|
||||
- Ajouter un champs de type «geo_». Le «geo_point» fonctionne bien. Si vous ajoutez plusieurs géométrie, tel que «geo_point», «geo_line» et «geo_polygon», il faut ajouter le champs «type» avec les valeurs du nom des champs choisis en option de sélection, exemple `[('geo_point', 'Geo Point'),('geo_polygon', 'Geo Polygon')]`
|
||||
- Ajouter le champs optionnel «html_text» de type «html» pour pouvoir afficher du texte dessus.
|
||||
- Appuyer sur le bouton «Controllers»
|
||||
- Ajouter le modèle du module actuel, «test»
|
||||
- Appuyer «Generate»
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Désactiver «Enable all feature»
|
||||
- Dans l'onglet «Website»
|
||||
- Activer «Enable website leaflet feature»
|
||||
- Activer «Enable geoengine feature»
|
||||
- Appuyer «Generate»
|
||||
Aller dans le module «Code generator» et créer un module «test»:
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data»:
|
||||
- Activer «Application»;
|
||||
- Ajouter la dépendance du geo_engine «Geospatial support for System»;
|
||||
- Sur l'onglet «Elements»/«Models»:
|
||||
- Ajouter un modèle «test»;
|
||||
- Ajouter un champs de type «geo_». Le «geo_point» fonctionne bien. Si vous ajoutez plusieurs géométries, telles que «geo_point», «geo_line» et «geo_polygon», il faut ajouter le champs nommé «type» au type sélection avec les valeurs du nom des champs choisis en option de sélection, exemple `[('geo_point', 'Geo Point'),('geo_polygon', 'Geo Polygon')]`
|
||||
- Ajouter le champs optionnel «html_text» de type «html» pour pouvoir afficher du texte dedans.
|
||||
- Appuyer sur le bouton «Controllers»:
|
||||
- Ajouter le modèle du module actuel, «test»;
|
||||
- Appuyer «Generate».
|
||||
- Appuyer sur le bouton «Views»:
|
||||
- Désactiver «Enable all feature»;
|
||||
- Dans l'onglet «Website»:
|
||||
- Activer «Enable website leaflet feature»;
|
||||
- Activer «Enable geoengine feature»;
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -267,20 +267,20 @@ Aller sur la page du site web, ajouter le snippet «Leaflet». Chercher le point
|
|||
### Créer un module thème pour site web
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_theme_website
|
||||
- code_generator_demo_theme_website.
|
||||
|
||||
```bash
|
||||
make addons_install_code_generator_basic
|
||||
./script/addons/install_addons.sh code_generator code_generator_theme_website
|
||||
make run_code_generator
|
||||
```
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Website theme».
|
||||
- Appuyer sur le bouton «Views»
|
||||
- Aller à l'onglet «theme_website»
|
||||
- Mettre les couleurs désirés
|
||||
- Appuyer «Generate»
|
||||
Aller dans le module «Code generator» et créer un module «test»:
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Website theme»;
|
||||
- Appuyer sur le bouton «Views»:
|
||||
- Aller à l'onglet «theme_website»:
|
||||
- Mettre les couleurs désirés;
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
|
||||
|
|
@ -292,17 +292,17 @@ make db_restore_erplibre_base_db_test
|
|||
make run_test
|
||||
```
|
||||
|
||||
Aller dans l'interface web, Application «Configuration», «Paramètres Généraux»/«Site Web»/«Choisissez un thème». Installer le thème «TEST». Puis aller la page du site web, les couleurs sont dans «Personnaliser»/«Personnaliser le thème».
|
||||
Aller dans l'interface web, Application «Configuration», «Paramètres Généraux»/«Site Web»/«Choisissez un thème». Installer le thème «TEST», puis aller la page du site web, les couleurs sont dans «Personnaliser»/«Personnaliser le thème».
|
||||
|
||||
### Extraire les données vers un module
|
||||
|
||||
L'exemple est avec le helpdesk. Installer le module helpdesk_mgmt :
|
||||
L'exemple est construit avec le helpdesk. Installer le module helpdesk_mgmt :
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_export_helpdesk
|
||||
- code_generator_demo_export_website
|
||||
- demo_website_data
|
||||
- demo_helpdesk_data
|
||||
- code_generator_demo_export_helpdesk;
|
||||
- code_generator_demo_export_website;
|
||||
- demo_website_data;
|
||||
- demo_helpdesk_data.
|
||||
|
||||
```bash
|
||||
make addons_install_code_generator_basic
|
||||
|
|
@ -311,25 +311,25 @@ make run_code_generator
|
|||
```
|
||||
Créer un ticket dans l'application «Helpdesk» dans l'interface web.
|
||||
|
||||
Aller dans le module «Code generator» et créer un module «test».
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»
|
||||
- Sur l'onglet «Technical Data», activer «Only export data».
|
||||
- Appuyer sur le bouton «Models»
|
||||
Aller dans le module «Code generator» et créer un module «test»:
|
||||
- Sur l'onglet «Information», activer «Enable Sync Code»;
|
||||
- Sur l'onglet «Technical Data», activer «Only export data»;
|
||||
- Appuyer sur le bouton «Models»:
|
||||
- Choisissez dans «Models» :
|
||||
- «helpdesk.ticket»
|
||||
- Activer «Clear field blacklisted»
|
||||
- Enlever les éléments suivant de «Fields» :
|
||||
- name
|
||||
- description
|
||||
- number
|
||||
- Appuyer «Generate»
|
||||
- «helpdesk.ticket»;
|
||||
- Activer «Clear field blacklisted»;
|
||||
- Enlever les éléments suivants de «Fields» :
|
||||
- name;
|
||||
- description;
|
||||
- number;
|
||||
- Appuyer «Generate».
|
||||
|
||||
Générer le module avec «Action/Générer code».
|
||||
```bash
|
||||
make db_restore_erplibre_base_db_test_module_test
|
||||
```
|
||||
|
||||
### Migrer une base de donnée externe en module de migration
|
||||
### Migrer une base de données externe en module de migration
|
||||
|
||||
En progression.
|
||||
|
||||
|
|
@ -341,21 +341,21 @@ make addons_install_code_generator_basic
|
|||
./script/addons/install_addons.sh code_generator code_generator_db_servers
|
||||
make run_code_generator
|
||||
```
|
||||
Aller dans le module «Code generator», menu «Databases»/«Databases» et créer un connecteur vers une base de donnée.
|
||||
Aller dans le module «Code generator», menu «Databases»/«Databases» et créer un connecteur vers une base de données.
|
||||
|
||||
À compléter...
|
||||
|
||||
### Migrer d'un site web vers un modèle de donnée avec des données format PDF
|
||||
### Migrer d'un site web vers un modèle de données avec des données format PDF
|
||||
|
||||
En progression, ce n'est pas encore supporté via l'interface web.
|
||||
|
||||
Cette technique permet d'aller lire du Javascript sur un site web pour lire ensuite le HTML, c'est à dire la vue, et en comprendre l'information pour créer un modèle.
|
||||
Cette technique permet d'aller lire du Javascript sur un site web pour lire ensuite le HTML, c'est-à-dire la vue, et en comprendre l'information, pour créer un modèle.
|
||||
|
||||
Pour des références techniques, voir module :
|
||||
- code_generator_demo_converter_js
|
||||
- business_plan_import_pdf
|
||||
- code_generator_demo_converter_js;
|
||||
- business_plan_import_pdf.
|
||||
|
||||
Attention, il faut mettre à jour les variables, dans les fichiers hook.py qui permettront d'extraire des données sur le site web à copier. Aucun exemple public n'est accessible pour le moment.
|
||||
Attention, il faut mettre à jour les variables, dans les fichiers hook.py, qui permettront d'extraire des données sur le site web à copier. Aucun exemple public n'est accessible pour le moment.
|
||||
|
||||
```bash
|
||||
make db_restore_erplibre_base_db_code_generator
|
||||
|
|
@ -366,19 +366,19 @@ make db_restore_erplibre_base_db_test
|
|||
|
||||
## Préparer une BD
|
||||
|
||||
Ceci va détruire et créer une base de donnée nommé `code_generator`.
|
||||
Ceci va détruire et créer une base de données nommée `code_generator`.
|
||||
|
||||
```bash
|
||||
make db_restore_erplibre_base_db_code_generator
|
||||
```
|
||||
|
||||
Pour de meilleur performance d'exécution, réduire la quantité de «repo addons» permet d'accélérer l'installation, exécuter :
|
||||
Pour de meilleures performances d'exécution, réduire la quantité de «repo addons» qui permet d'accélérer l'installation, exécuter :
|
||||
|
||||
```bash
|
||||
make config_gen_code_generator
|
||||
```
|
||||
|
||||
Pour revenir à la configuration normal, en production, exécuter :
|
||||
Pour revenir à la configuration normale, en production, exécuter :
|
||||
|
||||
```bash
|
||||
make config_gen_all
|
||||
|
|
@ -416,7 +416,7 @@ make addons_install_code_generator_demo
|
|||
|
||||
### Générer un Code_Generator (suite de template)
|
||||
|
||||
Au besoin, renommé votre module qui débute par `MODULE_NAME = "code_generator_"`
|
||||
Au besoin, renommer votre module qui débute par `MODULE_NAME = "code_generator_"`
|
||||
|
||||
Pour continuer avec l'exemple, généré le template `code_generator_template_demo_website_snippet`, ceci va écraser `code_generator_demo_website_snippet`:
|
||||
|
||||
|
|
@ -429,7 +429,7 @@ Aller à la section [Créer votre premier module](#crer-votre-premier-module)
|
|||
|
||||
### Générer un Code_Generator_Demo
|
||||
|
||||
Nommé votre module qui débute par `MODULE_NAME = "code_generator_demo_"`
|
||||
Nommer votre module qui débute par `MODULE_NAME = "code_generator_demo_"`
|
||||
|
||||
Désactiver la variable `enable_template_code_generator_demo`
|
||||
|
||||
|
|
@ -437,7 +437,7 @@ Désactiver la variable `enable_template_code_generator_demo`
|
|||
value["enable_template_code_generator_demo"] = False
|
||||
```
|
||||
|
||||
Pour continuer avec l'exemple, généré le template `code_generator_template_demo_website_snippet`, ceci va écraser `code_generator_demo_website_snippet`:
|
||||
Pour continuer avec l'exemple, générez le template `code_generator_template_demo_website_snippet`, ceci va écraser `code_generator_demo_website_snippet`:
|
||||
|
||||
```bash
|
||||
./script/addons/install_addons_dev.sh code_generator code_generator_template_demo_website_snippet
|
||||
|
|
@ -483,7 +483,7 @@ value["enable_template_wizard_view"] = True
|
|||
value["template_model_name"] = "test;test2"
|
||||
```
|
||||
|
||||
Exécuter l'installation du template pour qu'il se synchronise sur le module généré.
|
||||
Exécuter l'installation du template pour qu'il se synchronise avec le module généré.
|
||||
|
||||
```bash
|
||||
make db_restore_erplibre_base_db_template
|
||||
|
|
@ -520,7 +520,7 @@ make db_restore_erplibre_base_db_code_generator
|
|||
|
||||
Ceci va permettre de réduire le temps de programmation d'un `Code_Generator` avec la synchronisation des champs de module avec `Template`.
|
||||
|
||||
On a besoin d'un `Template`, un `Code_Generator` accompagné de son module. Installer le module en premier dans une base de donnée nettoyé et installer le `Template`, ceci va générer le `Code_Generator`, utiliser `enable_sync_template` à la valeur `True`.
|
||||
On a besoin d'un `Template`, un `Code_Generator` accompagné de son module. Installer le module en premier dans une base de données nettoyée et installer le `Template`, ceci va générer le `Code_Generator`, utiliser `enable_sync_template` à la valeur `True`.
|
||||
|
||||
Exemple :
|
||||
|
||||
|
|
@ -544,7 +544,7 @@ Tester les générations simples :
|
|||
make test_code_generator_generation
|
||||
```
|
||||
|
||||
Tester les générations extra :
|
||||
Tester les générations extras :
|
||||
|
||||
```bash
|
||||
make test_code_generator_generation_extra
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Modules
|
|||
2. A Code_Generator generates a Module.
|
||||
3. A Template reads a Module to generate a Code_Generator.
|
||||
|
||||
Warning, be careful to your code, always commit after a manipulation, because the mode enable_sync_code erase data, only the git will save you!
|
||||
Warning, be careful with your code, always commit after a manipulation, because the mode enable_sync_code erase data, only Git will save you!
|
||||
|
||||
## Manual generator with web interface
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ make addons_install_code_generator_full
|
|||
make run_code_generator
|
||||
```
|
||||
|
||||
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le déverminage.
|
||||
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
|
||||
|
||||
Ouvrir l'application `Code Generator` et créer un `Module`. Remplir les champs requis et générer avec `Action/Generate code`.
|
||||
|
||||
|
|
@ -136,7 +136,7 @@ TODO
|
|||
|
||||
TODO
|
||||
|
||||
### Create geoengine with Leaflet module
|
||||
### Create GeoEngine with Leaflet module
|
||||
|
||||
```bash
|
||||
make addons_install_code_generator_basic
|
||||
|
|
@ -189,7 +189,7 @@ TODO
|
|||
make db_restore_erplibre_base_db_test_module_test
|
||||
```
|
||||
|
||||
### Migrate external database into module of migration
|
||||
### Migrate external database into the migration module
|
||||
|
||||
TODO
|
||||
|
||||
|
|
@ -213,7 +213,7 @@ make db_restore_erplibre_base_db_test
|
|||
|
||||
## Prepare a DB
|
||||
|
||||
This will destroy and create database named `code_generator`.
|
||||
This will destroy and create a database named `code_generator`.
|
||||
|
||||
```bash
|
||||
make db_restore_erplibre_base_db_code_generator
|
||||
|
|
@ -237,13 +237,13 @@ Edit [Code Generator Demo](./../addons/TechnoLibre_odoo-code-generator/code_gene
|
|||
|
||||
### Generate a `Template`
|
||||
|
||||
By default, `code_generator_demo` generate itself, `code_generator_demo`.
|
||||
By default, `code_generator_demo` generates itself, `code_generator_demo`.
|
||||
|
||||
Name your module begin with `MODULE_NAME = "code_generator_template_"`
|
||||
Name your module beginning with `MODULE_NAME = "code_generator_template_"`
|
||||
|
||||
The value "enable_template_code_generator_demo" at `False` to create a new template module, else this will recreate `code_generator_demo`.
|
||||
|
||||
Example, to generate the module `code_generator_template_demo_website_snippet`, change value:
|
||||
For example, to generate the module `code_generator_template_demo_website_snippet`, change value:
|
||||
|
||||
```python
|
||||
MODULE_NAME = "code_generator_template_demo_website_snippet"
|
||||
|
|
@ -265,9 +265,9 @@ make addons_install_code_generator_demo
|
|||
|
||||
### Generate a Code_Generator (continue template)
|
||||
|
||||
Name your module begin with `MODULE_NAME = "code_generator_"`
|
||||
Name your module beginning with `MODULE_NAME = "code_generator_"`
|
||||
|
||||
Continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
To continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
|
||||
```bash
|
||||
make db_restore_erplibre_base_db_template
|
||||
|
|
@ -278,7 +278,7 @@ Go to section [Create your first module](#create-your-first-module)
|
|||
|
||||
### Generate a Code_Generator_Demo
|
||||
|
||||
Name your module begin with `MODULE_NAME = "code_generator_demo_"`
|
||||
Name your module beginning with `MODULE_NAME = "code_generator_demo_"`
|
||||
|
||||
Disable `enable_template_code_generator_demo`
|
||||
|
||||
|
|
@ -286,7 +286,7 @@ Disable `enable_template_code_generator_demo`
|
|||
value["enable_template_code_generator_demo"] = False
|
||||
```
|
||||
|
||||
Continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
To continue the example, you generated the template `code_generator_template_demo_website_snippet`, this will overwrite `code_generator_demo_website_snippet`:
|
||||
|
||||
```bash
|
||||
./script/addons/install_addons_dev.sh code_generator code_generator_template_demo_website_snippet
|
||||
|
|
@ -294,7 +294,7 @@ Continue the example, you generated the template `code_generator_template_demo_w
|
|||
|
||||
## Create your first Module
|
||||
|
||||
Continue example of code_generator_demo_website_snippet to generate your first module. Update next value:
|
||||
To continue the example of code_generator_demo_website_snippet to generate your first module. Update next value:
|
||||
|
||||
```python
|
||||
"application": True,
|
||||
|
|
@ -313,7 +313,7 @@ make db_restore_erplibre_base_db_code_generator
|
|||
./script/addons/install_addons_dev.sh code_generator code_generator_demo_website_snippet
|
||||
```
|
||||
|
||||
Now, you can test it! Note, you cannot install a generated module with is code_generator associated, because duplicated
|
||||
Now, you can test it! Note, you cannot install a generated module with his code_generator associated, because of duplicated
|
||||
models!
|
||||
|
||||
|
||||
|
|
@ -354,7 +354,7 @@ new_module_path = os.path.join(path_module_generate, new_module_name)
|
|||
code_generator_writer.set_module_translator(new_module_name, new_module_path)
|
||||
```
|
||||
|
||||
First, install the module, example `demo_portal`, and after the template, example `code_generator_template_demo_portal`.
|
||||
First, install the module, for example `demo_portal`, and after the template, for example `code_generator_template_demo_portal`.
|
||||
|
||||
```bash
|
||||
make db_restore_erplibre_base_db_code_generator
|
||||
|
|
@ -364,7 +364,7 @@ make db_restore_erplibre_base_db_code_generator
|
|||
|
||||
# Sync Code_Generator fields from Module
|
||||
|
||||
This reduce time of programming a `Code_Generator` with sync module field with `Template`.
|
||||
This reduce the time it takes for programming a `Code_Generator` with sync module field with `Template`.
|
||||
|
||||
You need a `Template`, a `Code_Generator` with his `Module`. Install the `Module` first in clean database and install `Template`,
|
||||
this will generate the `Code_Generator`, use `enable_sync_template` at True.
|
||||
|
|
|
|||
|
|
@ -1,16 +1,25 @@
|
|||
# Thanks
|
||||
|
||||
## AGILE OPS
|
||||
Thanks for contributing to GIT_REPO and docker.
|
||||
- [Agile OPS](https://www.linkedin.com/in/michaelfaille/)
|
||||
|
||||
Thanks to [Agile OPS](https://www.linkedin.com/in/michaelfaille/) for contributing to GIT_REPO and docker.
|
||||
|
||||
## MathBenTech
|
||||
Thanks for creating this project.
|
||||
- [MathBen.Tech](https://mathben.tech)
|
||||
|
||||
Thanks to [MathBenTech](https://mathben.tech) for creating ERPLibre project.
|
||||
|
||||
## Marieplume
|
||||
|
||||
Thanks to [Marieplume](https://marieplume.ca) for keeping the language in check.
|
||||
|
||||
## OCA
|
||||
|
||||
Thanks to [Odoo Community Association](https://odoo-community.org) for the collaborative development of Odoo features.
|
||||
|
||||
## TechnoLibre
|
||||
Thanks for making this enterprise edition of ERPLibre.
|
||||
- [TechnoLibre](https://technolibre.ca)
|
||||
|
||||
Thanks to [TechnoLibre](https://technolibre.ca) for making this enterprise edition of ERPLibre.
|
||||
|
||||
## Yenthe Van Ginneken
|
||||
Thanks Yenthe Van Ginneken for your scripting guides and tutorials.
|
||||
- [Yenthe666 InstallScript](https://github.com/Yenthe666/InstallScript)
|
||||
|
||||
Thanks [Yenthe666 InstallScript](https://github.com/Yenthe666/InstallScript) for your scripting guides and tutorials.
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
# Development guide
|
||||
|
||||
Setup your environment to develop modules and debug the platform.
|
||||
|
||||
## Local installation procedure
|
||||
|
||||
### 1. Clone the project:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/ERPLibre/ERPLibre.git
|
||||
```
|
||||
|
||||
### 2. Execute the script:
|
||||
|
||||
```bash
|
||||
cd ERPLibre
|
||||
./script/install_dev.sh
|
||||
|
|
@ -15,157 +19,205 @@ cd ERPLibre
|
|||
```
|
||||
|
||||
### 3. Run ERPLibre
|
||||
|
||||
```bash
|
||||
./run.sh
|
||||
```
|
||||
|
||||
## Develop in Odoo repository
|
||||
You need to remove `clone-depth="10"` from `./manifest/default.dev.xml` in order to be able to commit and push.
|
||||
Make a temporary commit and regenerate with `./script/install_locally_dev.sh`
|
||||
|
||||
You need to remove `clone-depth="10"` from `./manifest/default.dev.xml` in order to be able to commit and push. Make a
|
||||
temporary commit and regenerate with `./script/install_locally_dev.sh`
|
||||
|
||||
## Fork project to create a new project independent from ERPLibre (deprecated)
|
||||
ERPLibre was created by this script. It's now deprecated.
|
||||
Use this script when you need to fork directly from the original source.
|
||||
Don't use this script if you want to update from ERPLibre and follow mainstream development.
|
||||
|
||||
ERPLibre was created with this script. It's now deprecated. Use this script when you need to fork directly from the
|
||||
original source. Don't use this script if you want to update from ERPLibre and follow mainstream development.
|
||||
|
||||
```bash
|
||||
./script/fork_project.py --github_token GITHUB_KEY --organization NAME
|
||||
```
|
||||
|
||||
# Fork all repos for you own organization
|
||||
Go to your github account and generate a token to access fork option with your user. Create an organization or use your personal account can choose your user name.
|
||||
|
||||
This command will fork all repos and ERPLibre to your own organization. It keeps track to ERPLibre.
|
||||
Go to your Github account and generate a token to access fork option with your user. Create an organization or use your
|
||||
personal account and choose your user name.
|
||||
|
||||
This command will fork all repos and ERPLibre to your own organization. It keeps track of ERPLibre.
|
||||
|
||||
```bash
|
||||
./script/fork_project_ERPLibre.py --github_token GITHUB_KEY --organization NAME
|
||||
```
|
||||
|
||||
## Generate manifest from csv repo
|
||||
|
||||
Add repo in file [./source_repo_addons.csv](./source_repo_addons.csv)
|
||||
|
||||
Execute to generate Repo manifest
|
||||
|
||||
```bash
|
||||
./script/fork_project_ERPLibre.py --skip_fork
|
||||
```
|
||||
|
||||
## Move database prod to dev
|
||||
When moving database prod to your dev environment, you want to remove email servers and install user test in order to test the database.
|
||||
Run:
|
||||
## Move database from prod to dev
|
||||
|
||||
When moving database from prod to your dev environment, you want to remove email servers and install user test in order
|
||||
to test the database. Run:
|
||||
|
||||
```bash
|
||||
./run.sh --stop-after-init -i user_test,disable_mail_server --dev all -d DATABASE
|
||||
```
|
||||
|
||||
## Change git url https to git
|
||||
This will update all urls in git format:
|
||||
## Change git url https to Git
|
||||
|
||||
This will update all urls in Git format:
|
||||
|
||||
```bash
|
||||
./script/git_change_remote_https_to_git.py
|
||||
```
|
||||
|
||||
## Showing repo differences between projects
|
||||
|
||||
Tools to display the differences between the repo and another project.
|
||||
|
||||
```bash
|
||||
./script/git_change_remote.py --sync_to /path/to/project/erplibre --dry_sync
|
||||
```
|
||||
|
||||
## Showing repo differences with manifest develop
|
||||
To understand the divergence with the dev manifest.
|
||||
|
||||
To understand the divergences with the dev manifest.
|
||||
|
||||
```bash
|
||||
./script/git_show_code_diff_repo_manifest.py -m ./manifest/default.dev.xml
|
||||
```
|
||||
|
||||
## Sync repo with another project
|
||||
Tools to synchronise the repo with another project. This will show differences and try to checkout on the same commit in all repos.
|
||||
|
||||
Tools to synchronise the repo with another project. This will show differences and try to checkout on the same commit in
|
||||
all repos.
|
||||
|
||||
```bash
|
||||
./script/git_change_remote.py --sync_to /path/to/project/erplibre
|
||||
```
|
||||
|
||||
## Compare two files manifests
|
||||
|
||||
To show differences between commits in different manifests
|
||||
|
||||
```bash
|
||||
./script/git_diff_repo_manifest.py --input1 ./manifest/MANIFEST1.xml --input2 ./manifest/MANIFEST2.xml
|
||||
```
|
||||
|
||||
## Differences between code and manifest
|
||||
|
||||
To show differences between actual code and manifest
|
||||
|
||||
```bash
|
||||
./script/git_show_code_diff_repo_manifest.py --manifest ./manifest/MANIFEST1.xml
|
||||
```
|
||||
|
||||
## Add repo
|
||||
|
||||
To access a new repo, add your URL to file [source_repo_addons.csv](../source_repo_addons.csv)
|
||||
|
||||
Fork the repo to be able to push new code:
|
||||
|
||||
```bash
|
||||
./script/fork_project_ERPLibre.py
|
||||
```
|
||||
|
||||
To regenerate only manifest.xml.
|
||||
|
||||
```bash
|
||||
./script/fork_project_ERPLibre.py --skip_fork
|
||||
```
|
||||
|
||||
Check if manifest contains "auto_install" and change the value to False.
|
||||
|
||||
```bash
|
||||
./script/repo_remove_auto_install.py
|
||||
```
|
||||
|
||||
## Filter repo by group
|
||||
|
||||
Only keep repo tagged by group 'base' and 'code_generator'
|
||||
|
||||
```bash
|
||||
./script/update_manifest_local_dev_code_generator.sh
|
||||
```
|
||||
|
||||
# Execution
|
||||
|
||||
## Config file
|
||||
|
||||
You can limit your addons in ERPlibre config file depending on a group of your actual manifest.
|
||||
|
||||
```bash
|
||||
./script/git_repo_update_group.py --group base,code_generator
|
||||
./script/install_locally.sh
|
||||
```
|
||||
|
||||
Or go back to normal
|
||||
|
||||
```bash
|
||||
./script/git_repo_update_group.py
|
||||
./script/install_locally.sh
|
||||
```
|
||||
|
||||
# Coding
|
||||
|
||||
## Create module scaffold
|
||||
|
||||
```bash
|
||||
source ./.venv/bin/activate
|
||||
python odoo/odoo-bin scaffold MODULE_NAME addons/REPO_NAME/
|
||||
```
|
||||
|
||||
# Pull request
|
||||
|
||||
## Show all pull requests from organization
|
||||
|
||||
```bash
|
||||
/script/pull_request_ERPLibre.py --github_token ### --organization ERPLibre
|
||||
```
|
||||
|
||||
# Commit
|
||||
|
||||
Use this commit format:
|
||||
|
||||
```bash
|
||||
git commit -am "[#ticket] subject: short sentence"
|
||||
```
|
||||
|
||||
# Format code
|
||||
|
||||
## Python
|
||||
|
||||
Use [black](https://github.com/psf/black)
|
||||
|
||||
```bash
|
||||
./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator
|
||||
```
|
||||
|
||||
Or if you prefer [oca-autopep8](https://github.com/psf/black)
|
||||
|
||||
```bash
|
||||
./script/maintenance/autopep8.sh ./addons/TechnoLibre_odoo-code-generator
|
||||
```
|
||||
|
||||
## HTML and css
|
||||
|
||||
Use [prettier](https://github.com/prettier/prettier)
|
||||
|
||||
```bash
|
||||
./script/maintenance/prettier.sh ./addons/TechnoLibre_odoo-code-generator
|
||||
```
|
||||
|
||||
## Javascript
|
||||
|
||||
Use [prettier](https://github.com/prettier/prettier)
|
||||
|
||||
```bash
|
||||
./script/maintenance/prettier.sh --tab-width 4 ./addons/TechnoLibre_odoo-code-generator
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
# Discover
|
||||
|
||||
Explore the ERPLibre solution.
|
||||
|
||||
## Fast installation
|
||||
|
||||
### 1. Clone the project:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/ERPLibre/ERPLibre.git
|
||||
```
|
||||
|
||||
### 2. Run installation locally:
|
||||
|
||||
```bash
|
||||
cd ERPLibre
|
||||
./script/install_dev.sh
|
||||
|
|
@ -15,14 +19,17 @@ cd ERPLibre
|
|||
```
|
||||
|
||||
### 3. Run ERPLibre
|
||||
|
||||
```bash
|
||||
./run.sh
|
||||
```
|
||||
|
||||
## Add repo
|
||||
|
||||
To access a new repo, add your URL to file [source_repo_addons.csv](../source_repo_addons.csv)
|
||||
|
||||
Execute script:
|
||||
|
||||
```bash
|
||||
./script/git_repo_manifest.py
|
||||
git checkout -b NEW_BRANCH
|
||||
|
|
@ -30,4 +37,5 @@ git commit -am "Add new repo"
|
|||
./script/install_locally_dev.sh
|
||||
./script/poetry_update.py
|
||||
```
|
||||
|
||||
[Update your repo.](./GIT_REPO.md)
|
||||
|
|
|
|||
13
doc/FAQ.md
13
doc/FAQ.md
|
|
@ -1,21 +1,31 @@
|
|||
# FAQ
|
||||
|
||||
## Networking
|
||||
|
||||
Show all open port
|
||||
|
||||
```bash
|
||||
sudo lsof -i -P -n | grep LISTEN
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
sudo netstat -lpnt | grep LISTEN
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
sudo ss -lpnt | grep LISTEN
|
||||
```
|
||||
|
||||
## git-repo
|
||||
|
||||
### error.GitError fatal bad revision
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
error.GitError: manifests rev-list (u'^2736dfd46e8a30cf59a9cd6e93d9e56e87021f2a', 'HEAD', '--'): fatal: bad revision 'HEAD'
|
||||
```
|
||||
|
|
@ -23,6 +33,7 @@ error.GitError: manifests rev-list (u'^2736dfd46e8a30cf59a9cd6e93d9e56e87021f2a'
|
|||
Did you modify files in .repo?
|
||||
|
||||
To reset files from your branch into .repo:
|
||||
|
||||
```bash
|
||||
cd .repo/manifests
|
||||
git branch -av
|
||||
|
|
@ -32,4 +43,4 @@ git branch -av
|
|||
# To reset the "remotes/origin" use the same as "remotes/m"
|
||||
git reset --hard REF_OF_REMOTES/m
|
||||
> git reset --hard remotes/origin/rel/8953/zd552kl/7.1.1-11.40.208
|
||||
```
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,27 +1,34 @@
|
|||
# git-repo
|
||||
|
||||
This is a guide to understand git-repo. Scripts in ERPLibre use git-repo automatically.
|
||||
|
||||
[git-repo of Google](https://code.google.com/archive/p/git-repo) is used to manage all git repositories under licence [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.html).
|
||||
[git-repo of Google](https://code.google.com/archive/p/git-repo) is used to manage all git repositories under
|
||||
licence [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.html).
|
||||
|
||||
## Setup repo
|
||||
|
||||
```bash
|
||||
curl https://storage.googleapis.com/git-repo-downloads/repo > ./.venv/repo
|
||||
```
|
||||
|
||||
## prod
|
||||
|
||||
```bash
|
||||
./.venv/repo init -u https://github.com/ERPLibre/ERPLibre -b master
|
||||
./.venv/repo sync
|
||||
```
|
||||
|
||||
## dev
|
||||
|
||||
```bash
|
||||
./.venv/repo init -u https://github.com/ERPLibre/ERPLibre -b 12.0_repo -m ./manifest/default.dev.xml
|
||||
./.venv/repo sync
|
||||
```
|
||||
|
||||
## local dev
|
||||
|
||||
[Guide to setup locally git](https://railsware.com/blog/taming-the-git-daemon-to-quickly-share-git-repository/).
|
||||
|
||||
```bash
|
||||
git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose &
|
||||
|
||||
|
|
@ -30,21 +37,31 @@ git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
|
|||
```
|
||||
|
||||
# Create Manifest
|
||||
A [Manifest](https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md), is a XML file managed by git-repo to generate repo.
|
||||
|
||||
A [Manifest](https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md), is an XML file managed by
|
||||
git-repo to generate a repo.
|
||||
|
||||
## Make a new version of prod
|
||||
|
||||
It freezes all repo, from dev to prod.
|
||||
|
||||
This will add revision git hash in the Manifest.
|
||||
This will add revision git hash in the manifest.
|
||||
|
||||
```bash
|
||||
./.venv/repo manifest -r -o ./default.xml
|
||||
```
|
||||
|
||||
Commit.
|
||||
|
||||
```bash
|
||||
git commit -am "[#ticket] subject: short sentence"
|
||||
```
|
||||
|
||||
### Mix prod and dev to create a stage version
|
||||
When dev contains specific revision with default revision, you need to replace default revision with prod revision and keep specific version:
|
||||
|
||||
When dev contains specific revision with default revision, you need to replace default revision with prod revision and
|
||||
keep specific version:
|
||||
|
||||
```bash
|
||||
./script/git_merge_repo_manifest.py --input1 ./manifest/default.dev.xml --input2 ./default.xml --output ./manifest/default.staged.xml
|
||||
git commit -am "Updated manifest/default.staged.xml"
|
||||
|
|
@ -56,33 +73,42 @@ git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
|
|||
|
||||
./.venv/repo manifest -r -o ./default.xml
|
||||
```
|
||||
|
||||
## Create a dev version
|
||||
|
||||
```bash
|
||||
./.venv/repo manifest -o ./manifest/default.dev.xml
|
||||
```
|
||||
|
||||
Commit.
|
||||
|
||||
```bash
|
||||
git commit -am "[#ticket] subject: short sentence"
|
||||
```
|
||||
|
||||
## Useful commands
|
||||
### Search all repo with a specific branch name
|
||||
|
||||
### Search all repos with a specific branch name
|
||||
|
||||
```bash
|
||||
./.venv/repo forall -pc "git branch -a|grep BRANCH"
|
||||
```
|
||||
|
||||
### Search missing branch in all repos
|
||||
|
||||
```bash
|
||||
./.venv/repo forall -pc 'git branch -a|(grep /BRANCH$||echo "no match")|grep "no match"'
|
||||
```
|
||||
|
||||
### Search changed file in all repos
|
||||
|
||||
```bash
|
||||
./.venv/repo forall -pc "git status -s"
|
||||
```
|
||||
|
||||
### Clean all
|
||||
Before, check changed file in all repos.
|
||||
|
||||
Before cleaning, check changed file in all repos.
|
||||
|
||||
```bash
|
||||
./.venv/repo forall -pc "git status -s"
|
||||
|
|
@ -95,6 +121,7 @@ Check the changed branch, and push changed if needed.
|
|||
```
|
||||
|
||||
Maybe, some version diverge from your manifest. Simply clean all and relaunch your installation.
|
||||
|
||||
```bash
|
||||
./script/clean_repo_manifest.sh
|
||||
```
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
# HOW TO
|
||||
|
||||
## Update changelog
|
||||
|
||||
Please read the following documentation [keepachangelog.com](https://keepachangelog.com)
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
# ERPLibre
|
||||
|
||||
## Migration procedure in production
|
||||
|
||||
TODO
|
||||
|
||||
## Migration procedure in dev
|
||||
|
||||
Example:
|
||||
|
||||
update module helpdesk_mgmt and helpdesk_join_team
|
||||
|
||||
update translation all
|
||||
|
||||
Remove helpdesk_res_partner_team
|
||||
|
||||
Delete module not found
|
||||
|
||||
smile_upgrade?
|
||||
|
||||
update html categorie_id
|
||||
|
||||
join_team == 6
|
||||
|
||||
servicecall == 1
|
||||
|
||||
--limit-time-real 99999 -c config.conf --stop-after-init -d santelibre -i helpdesk_mrp -i erplibre_base_enterprise_mrp,erplibre_base_hackaton,helpdesk_mgmt -u helpdesk_join_team
|
||||
|
||||
--limit-time-real 99999 -c config.conf --stop-after-init -d santelibre -u helpdesk_join_team
|
||||
|
|
@ -1,17 +1,23 @@
|
|||
# Poetry
|
||||
## Add automatically dependencies
|
||||
|
||||
## Add dependencies automatically
|
||||
|
||||
Add your dependencies in file [requirements.txt](../requirements.txt) and run script
|
||||
|
||||
```bash
|
||||
./script/poetry_update.py
|
||||
```
|
||||
|
||||
This will search all `requirements.txt` files and update `pyproject.toml` and it will update poetry
|
||||
|
||||
Priority dependencies in ./requirements.txt, after it's ./odoo/requirements.txt, after it's highest version values.
|
||||
|
||||
TODO add option to only add missing dependencies and ignore update.
|
||||
|
||||
## Add manually dependencies
|
||||
## Add dependencies manually
|
||||
|
||||
The automatic script will erase this dependency, but you can add it for your local test.
|
||||
|
||||
```bash
|
||||
poetry add PYTHON_MODULE
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,88 +1,129 @@
|
|||
# ERPLibre production guide
|
||||
|
||||
## Requirement
|
||||
|
||||
- 5Go of disk space
|
||||
|
||||
## Production installation procedure
|
||||
|
||||
### 1. Clone the project:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/ERPLibre/ERPLibre.git
|
||||
cd ERPLibre
|
||||
```
|
||||
|
||||
### 2. Modify the parameters
|
||||
Modify the file env_var.sh for production installation.
|
||||
|
||||
### 3. Execute the script:
|
||||
Modify the file env_var.sh for production installation. Enable nginx if you need a proxy with `EL_INSTALL_NGINX`.
|
||||
Redirect your DNS to the proxy's ip and add your A and AAAA into `WL_WEBSITE_NAME` with space between.
|
||||
|
||||
### 3. Execute the scripts:
|
||||
|
||||
#### With proxy nginx production, install certbot before for SSL
|
||||
|
||||
```bash
|
||||
# Snap installation
|
||||
# https://snapcraft.io/docs/installing-snap-on-debian
|
||||
sudo apt install -y snapd
|
||||
sudo snap install core
|
||||
sudo snap refresh core
|
||||
|
||||
# https://certbot.eff.org/lets-encrypt/debianbuster-nginx
|
||||
# Cerbot
|
||||
sudo snap install --classic certbot
|
||||
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
||||
```
|
||||
|
||||
#### Ubuntu 18.04 server
|
||||
|
||||
```bash
|
||||
./script/install_dev.sh
|
||||
./script/install_production.sh
|
||||
```
|
||||
A service is running by systemd. You can access it with the DNS name found in env_var.sh
|
||||
|
||||
A service is runned by SystemD. You can access it with the DNS name found in `env_var.sh`
|
||||
|
||||
#### Ubuntu 20.04 server
|
||||
|
||||
Apply fix libpng12-0: https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html
|
||||
|
||||
```bash
|
||||
./script/install_dev.sh
|
||||
./script/install_production.sh
|
||||
```
|
||||
A service is running by systemd, you can access with the DNS name found in env_var.sh
|
||||
|
||||
A service is runned by SystemD, you can access it with the DNS name found in `env_var.sh`
|
||||
|
||||
### 4. SSL:
|
||||
|
||||
Generate a ssl certificate
|
||||
|
||||
```bash
|
||||
sudo certbot --nginx
|
||||
```
|
||||
|
||||
## Watch log
|
||||
|
||||
```bash
|
||||
sudo systemctl -feu [EL_USER]
|
||||
```
|
||||
|
||||
## Run by address ip
|
||||
|
||||
Comment the following line in `/[EL_USER]/erplibre/config.conf`
|
||||
|
||||
```
|
||||
#xmlrpc_interface = 127.0.0.1
|
||||
#netrpc_interface = 127.0.0.1
|
||||
#proxy_mode = True
|
||||
```
|
||||
|
||||
Add your address ip server_name in nginx config `/etc/nginx/sites-available/[EL_WEBSITE_NAME]`
|
||||
|
||||
Restart daemon:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart nginx
|
||||
sudo systemctl restart [EL_USER]
|
||||
```
|
||||
|
||||
## Production execution
|
||||
|
||||
```bash
|
||||
cd /[EL_USER]/erplibre
|
||||
./run.sh -d [DATABASE] --no-database-list
|
||||
```
|
||||
|
||||
## Move prod database to dev
|
||||
When moving prod database to your dev environment, you want to remove email servers and install user test to test the database.
|
||||
Warning, this is not safe for production, you expose all data.
|
||||
Run:
|
||||
|
||||
When moving prod database to your dev environment, you want to remove email servers and install user test to test the
|
||||
database. WARNING, this is not safe for production, you will expose all data. Run:
|
||||
|
||||
```bash
|
||||
./script/migrate_prod_to_test.sh DATABASE
|
||||
```
|
||||
|
||||
## Update production
|
||||
|
||||
Update all features.
|
||||
|
||||
```bash
|
||||
./run.sh --limit-time-real 99999 --stop-after-init -u all -d DATABASE
|
||||
```
|
||||
|
||||
# Postgresql
|
||||
To show config file:
|
||||
|
||||
To show config files:
|
||||
> psql -U postgres -c 'SHOW config_file'
|
||||
|
||||
Edit this file to accept interface from all networks:
|
||||
> /var/lib/postgres/data/postgresql.conf
|
||||
|
||||
# Delete an instance in production
|
||||
Caution, this delete user's home, it's irrevocable.
|
||||
|
||||
CAUTION, this will delete user's home, it's irrevocable.
|
||||
|
||||
```bash
|
||||
./script/delete_production.sh
|
||||
```
|
||||
|
|
@ -94,6 +135,7 @@ mkdir ~/.cloudflare
|
|||
```
|
||||
|
||||
Edit ~/.cloudflare/cloudflare.cfg
|
||||
|
||||
```
|
||||
[PROFILE_NAME]
|
||||
email=EMAIL
|
||||
|
|
@ -101,6 +143,7 @@ token=TOKEN
|
|||
```
|
||||
|
||||
Add your cron
|
||||
|
||||
```bash
|
||||
vim /etc/crontab
|
||||
# Add
|
||||
|
|
@ -108,6 +151,7 @@ vim /etc/crontab
|
|||
```
|
||||
|
||||
Check log with
|
||||
|
||||
```bash
|
||||
sudo journalctl -feu cron
|
||||
```
|
||||
```
|
||||
|
|
|
|||
|
|
@ -2,17 +2,16 @@
|
|||
|
||||
A guide on how to generate a release.
|
||||
|
||||
Before starting, validate [manifest/default.dev.xml](../manifest/default.dev.xml) is ready for production.
|
||||
## Clean environment before generating new release
|
||||
|
||||
## Clean environment before generate new release
|
||||
Before the cleaning, check if existing file isn't committed, not pushed or in stash.
|
||||
|
||||
Before clean, check if existing file not committed, not pushed or in stash.
|
||||
```bash
|
||||
./.venv/repo forall -pc "git stash list"
|
||||
./script/git_show_code_diff_repo_manifest.py
|
||||
```
|
||||
|
||||
This will erase everything in addons. Useful before create docker, manifest and do a release.
|
||||
This will erase everything in addons. Useful before creating docker, manifest and do a release.
|
||||
|
||||
```bash
|
||||
./script/clean_repo_manifest.sh
|
||||
|
|
@ -24,9 +23,56 @@ And update all from dev to merge into prod.
|
|||
./script/install_locally_dev.sh
|
||||
```
|
||||
|
||||
## Update image_db
|
||||
## Validate environment
|
||||
|
||||
Change all default image to improve speed when restoring database. Recreate it manually. Check directory `./image_db`.
|
||||
- Check if [manifest/default.dev.xml](../manifest/default.dev.xml) is ready for production.
|
||||
- Run test :
|
||||
|
||||
```bash
|
||||
make test
|
||||
```
|
||||
|
||||
### Format code
|
||||
|
||||
To format all code, run:
|
||||
|
||||
```bash
|
||||
make format
|
||||
```
|
||||
|
||||
### Update image_db
|
||||
|
||||
To generate database images in directory `./image_db`, run:
|
||||
|
||||
```bash
|
||||
make image_db_create_all
|
||||
```
|
||||
|
||||
### Update documentations
|
||||
|
||||
To generate Markdown in directory `./doc`, run:
|
||||
|
||||
```bash
|
||||
make doc_markdown
|
||||
```
|
||||
|
||||
### Test docker generate
|
||||
|
||||
To generate a docker, run:
|
||||
|
||||
```bash
|
||||
make docker_build
|
||||
```
|
||||
|
||||
### Test production Ubuntu environment
|
||||
|
||||
Follow instructions in [PRODUCTION.md](./PRODUCTION.md).
|
||||
|
||||
Test installation with code generator Geomap:
|
||||
|
||||
```bash
|
||||
make addons_install_code_generator_full
|
||||
```
|
||||
|
||||
## Generate new prod and release
|
||||
|
||||
|
|
@ -39,11 +85,13 @@ Generate production manifest and freeze all repos versions.
|
|||
Update ERPLIBRE_VERSION variable in [env_var.sh](../env_var.sh) and [Dockerfile.prod](../docker/Dockerfile.prod.pkg).
|
||||
|
||||
Generate [poetry](./POETRY.md) and keep only missing dependencies, remove updates.
|
||||
|
||||
```bash
|
||||
./script/poetry_update.py
|
||||
```
|
||||
|
||||
When running script poetry_update.py, note manually inserted dependencies, stash all changes and add it manually.
|
||||
|
||||
```bash
|
||||
poetry add DEPENDENCY
|
||||
```
|
||||
|
|
@ -60,6 +108,7 @@ git diff v#.#.#..HEAD
|
|||
```
|
||||
|
||||
Simplification tools:
|
||||
|
||||
```bash
|
||||
# Show all divergence repository with production
|
||||
make repo_diff_manifest_production
|
||||
|
|
@ -81,7 +130,7 @@ Review by your peers, test the docker file and merge to master.
|
|||
|
||||
## Generate image db to accelerate db installation
|
||||
|
||||
Generate image db before tag, the image is store in directory ./image_db
|
||||
Generate image db before tag, the image is stored in directory ./image_db
|
||||
|
||||
```bash
|
||||
make image_db_create_all
|
||||
|
|
@ -128,4 +177,4 @@ To generate a list of differences between repo git commit
|
|||
|
||||
```bash
|
||||
./script/git_change_remote.py --sync_to /path/to/directory
|
||||
```
|
||||
```
|
||||
|
|
|
|||
18
doc/RUN.md
18
doc/RUN.md
|
|
@ -1,49 +1,65 @@
|
|||
# Execute ERPLibre
|
||||
|
||||
## Start database
|
||||
|
||||
```bash
|
||||
sudo systemctl start postgresql.service
|
||||
```
|
||||
|
||||
## Run ERPLibre
|
||||
|
||||
### Method 1
|
||||
|
||||
Simply
|
||||
|
||||
```bash
|
||||
./run.sh
|
||||
```
|
||||
|
||||
With arguments
|
||||
|
||||
```bash
|
||||
./run.sh -h
|
||||
```
|
||||
|
||||
### Method 2
|
||||
|
||||
Execute your own python script:
|
||||
|
||||
```bash
|
||||
./run.sh --log-level debug
|
||||
```
|
||||
|
||||
### Update all
|
||||
|
||||
Great idea to run it when updating Odoo, it updates each module database.
|
||||
|
||||
```bash
|
||||
./run.sh -d [DATABASE] -u all --log-level debug
|
||||
```
|
||||
|
||||
### Update module
|
||||
|
||||
```bash
|
||||
./run.sh -d [DATABASE] -u [module] --log-level debug
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
First execution, install you requirements, choose a new database.
|
||||
|
||||
```bash
|
||||
./run.sh -d [DATABASE] -i [module to test] --test-enable --stop-after-init --log-level=test
|
||||
```
|
||||
|
||||
Execute your test on a specific module.
|
||||
|
||||
```bash
|
||||
./run.sh -d [DATABASE] -u [module to test] --test-enable --stop-after-init --log-level=test
|
||||
```
|
||||
|
||||
Execute your test on a specific module with tags.
|
||||
|
||||
```bash
|
||||
./run.sh -d [DATABASE] -u [module to test] --test-enable --stop-after-init --log-level=test --test-tags [module_name][tags]
|
||||
```
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
# Note healtcheck
|
||||
|
||||
Table à vérifier dans pgsql: ir_ui_view
|
||||
|
||||
Restore une BD:
|
||||
|
||||
- un module est installé mais n'est pas physiquement là
|
||||
|
||||
Une DB est installé mais on n'arrive pas à l'exécuté
|
||||
|
||||
HEALTHCHECK CMD curl --fail http://localhost:8069/web || exit 1
|
||||
HEALTHCHECK CMD curl --fail http://localhost:8069/web || exit 1
|
||||
|
||||
TODO: having the DB variable configurable
|
||||
TODO: having the DB variable configurable
|
||||
|
|
|
|||
|
|
@ -1,20 +1,25 @@
|
|||
# Update ERPLibre
|
||||
|
||||
## Update all repos from the origin source
|
||||
|
||||
The update is possible on branch 12.0, you need to verify this branch existence.
|
||||
|
||||
1. Make sure all git repos are conform, remove all argument depth from manifest and regenerate.
|
||||
You can clean all and regenerate.
|
||||
1. Make sure all git repos are conform, remove all argument depth from manifest and regenerate. You can clean all and
|
||||
regenerate.
|
||||
|
||||
```bash
|
||||
./script/clean_repo_manifest.sh
|
||||
./script/install_locally_dev.sh
|
||||
```
|
||||
|
||||
2. Update all remote with ssh/git
|
||||
|
||||
```bash
|
||||
./script/git_change_remote_https_to_git.py
|
||||
```
|
||||
|
||||
3. Run update script
|
||||
|
||||
```bash
|
||||
./script/git_update_repo.py
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
FROM technolibre/erplibre-base:1.1.1
|
||||
FROM technolibre/erplibre-base:1.2.0
|
||||
|
||||
ENV REPO_MANIFEST_URL https://github.com/ERPLibre/ERPLibre
|
||||
ARG WORKING_BRANCH
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
ERPLIBRE_VERSION="1.1.1"
|
||||
ERPLIBRE_VERSION="1.2.0"
|
||||
|
||||
EL_USER="erplibre"
|
||||
EL_HOME="/${EL_USER}"
|
||||
|
|
@ -19,7 +19,7 @@ EL_MINIMAL_ADDONS="False"
|
|||
# Set this to True if you want to install Nginx!
|
||||
EL_INSTALL_NGINX="True"
|
||||
# Set the website name
|
||||
EL_WEBSITE_NAME=""
|
||||
EL_WEBSITE_NAME="localhost"
|
||||
EL_GITHUB_TOKEN=""
|
||||
EL_MANIFEST_PROD="./default.xml"
|
||||
EL_MANIFEST_DEV="./manifest/default.dev.xml"
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
<project name="connector-jira.git" path="addons/OCA_connector-jira" remote="OCA" groups="addons"/>
|
||||
<project name="connector-telephony.git" path="addons/OCA_connector-telephony" remote="OCA" groups="addons"/>
|
||||
<project name="connector.git" path="addons/OCA_connector" remote="OCA" groups="addons"/>
|
||||
<project name="contract.git" path="addons/OCA_contract" remote="OCA" revision="12.0_dev" groups="addons,code_generator"/>
|
||||
<project name="contract.git" path="addons/OCA_contract" remote="OCA" revision="12.0_dev" groups="addons,code_generator,image_db"/>
|
||||
<project name="credit-control.git" path="addons/OCA_credit-control" remote="OCA" groups="addons"/>
|
||||
<project name="crm.git" path="addons/OCA_crm" remote="OCA" groups="addons"/>
|
||||
<project name="currency.git" path="addons/OCA_currency" remote="OCA" groups="addons"/>
|
||||
|
|
@ -65,12 +65,12 @@
|
|||
<project name="e-commerce.git" path="addons/OCA_e-commerce" remote="OCA" groups="addons"/>
|
||||
<project name="edi.git" path="addons/OCA_edi" remote="OCA" groups="addons"/>
|
||||
<project name="erplibre_addons.git" path="addons/ERPLibre_erplibre_addons" remote="ERPLibre" groups="addons,base"/>
|
||||
<project name="erplibre_theme_addons.git" path="addons/ERPLibre_erplibre_theme_addons" remote="ERPLibre" groups="addons,code_generator"/>
|
||||
<project name="erplibre_theme_addons.git" path="addons/ERPLibre_erplibre_theme_addons" remote="ERPLibre" groups="addons,code_generator,image_db"/>
|
||||
<project name="event.git" path="addons/OCA_event" remote="OCA" groups="addons"/>
|
||||
<project name="field-service.git" path="addons/OCA_field-service" remote="OCA" groups="addons"/>
|
||||
<project name="fleet.git" path="addons/OCA_fleet" remote="OCA" groups="addons"/>
|
||||
<project name="geospatial.git" path="addons/OCA_geospatial" remote="OCA" groups="addons,code_generator"/>
|
||||
<project name="helpdesk.git" path="addons/OCA_helpdesk" remote="OCA" revision="12.0_dev" groups="addons,code_generator"/>
|
||||
<project name="geospatial.git" path="addons/OCA_geospatial" remote="OCA" groups="addons,code_generator,image_db"/>
|
||||
<project name="helpdesk.git" path="addons/OCA_helpdesk" remote="OCA" revision="12.0_dev" groups="addons,code_generator,image_db"/>
|
||||
<project name="hr.git" path="addons/OCA_hr" remote="OCA" groups="addons"/>
|
||||
<project name="interface-github.git" path="addons/OCA_interface-github" remote="OCA" groups="addons"/>
|
||||
<project name="knowledge.git" path="addons/OCA_knowledge" remote="OCA" groups="addons"/>
|
||||
|
|
@ -93,14 +93,14 @@
|
|||
<project name="odoo-base-addons.git" path="addons/Numigi_odoo-base-addons" remote="Numigi" revision="12.0_dev" groups="addons"/>
|
||||
<project name="odoo-business-spending-management-quebec-canada.git" path="addons/MathBenTech_odoo-business-spending-management-quebec-canada" remote="MathBenTech" revision="12.0_sale_order_line_timesheet_attribution" groups="addons,base"/>
|
||||
<project name="odoo-cloud-platform.git" path="addons/camptocamp_odoo-cloud-platform" remote="camptocamp" revision="12.0_dev" groups="addons"/>
|
||||
<project name="odoo-code-generator-template.git" path="addons/TechnoLibre_odoo-code-generator-template" revision="12.0" remote="TechnoLibre" groups="addons,code_generator"/>
|
||||
<project name="odoo-code-generator.git" path="addons/TechnoLibre_odoo-code-generator" remote="TechnoLibre" revision="12.0" groups="addons,code_generator"/>
|
||||
<project name="odoo-code-generator-template.git" path="addons/TechnoLibre_odoo-code-generator-template" revision="12.0" remote="TechnoLibre" groups="addons,code_generator,image_db"/>
|
||||
<project name="odoo-code-generator.git" path="addons/TechnoLibre_odoo-code-generator" remote="TechnoLibre" revision="12.0" groups="addons,code_generator,image_db"/>
|
||||
<project name="odoo-development.git" path="doc/itpp-labs_odoo-development" remote="itpp-labs" revision="12.0_dev" groups="odoo"/>
|
||||
<project name="odoo-entertainment-addons.git" path="addons/Numigi_odoo-entertainment-addons" remote="Numigi" revision="12.0_dev" groups="addons"/>
|
||||
<project name="odoo-git-addons.git" path="addons/Numigi_odoo-git-addons" remote="Numigi" revision="12.0_dev" groups="addons"/>
|
||||
<project name="odoo-hr-addons.git" path="addons/Numigi_odoo-hr-addons" remote="Numigi" groups="addons"/>
|
||||
<project name="odoo-module-migrator.git" path="script/OCA_odoo-module-migrator" remote="OCA" revision="master" groups="odoo"/>
|
||||
<project name="odoo-partner-addons.git" path="addons/Numigi_odoo-partner-addons" remote="Numigi" revision="12.0_dev" groups="addons"/>
|
||||
<project name="odoo-partner-addons.git" path="addons/Numigi_odoo-partner-addons" remote="Numigi" revision="12.0_dev" groups="addons,image_db"/>
|
||||
<project name="odoo-product-addons.git" path="addons/Numigi_odoo-product-addons" remote="Numigi" revision="12.0_dev" groups="addons"/>
|
||||
<project name="odoo-port-docs.git" path="doc/itpp-labs_odoo-port-docs" remote="itpp-labs" revision="master" groups="odoo"/>
|
||||
<project name="odoo-product-configurator.git" path="addons/pledra_odoo-product-configurator" remote="pledra" groups="addons"/>
|
||||
|
|
@ -111,7 +111,7 @@
|
|||
<project name="odoo-test-docs.git" path="doc/itpp-labs_odoo-test-docs" remote="itpp-labs" revision="master" groups="odoo"/>
|
||||
<project name="odoo-timesheet-addons.git" path="addons/Numigi_odoo-timesheet-addons" remote="Numigi" revision="12.0_dev" groups="addons"/>
|
||||
<project name="odoo-web-addons.git" path="addons/Numigi_odoo-web-addons" remote="Numigi" groups="addons"/>
|
||||
<project name="odoo.git" path="odoo" remote="odoo" revision="ERPLibre/12.0" clone-depth="10" groups="odoo,base,code_generator"/>
|
||||
<project name="odoo.git" path="odoo" remote="odoo" revision="ERPLibre/12.0" clone-depth="10" groups="odoo,base"/>
|
||||
<project name="odoo_addons.git" path="addons/Smile-SA_odoo_addons" remote="Smile-SA" revision="12.0_remote_autoinstall" groups="addons"/>
|
||||
<project name="odoo_dhtmlxgantt.git" path="addons/obayit_odoo_dhtmlxgantt" remote="obayit" groups="addons"/>
|
||||
<project name="odooapps.git" path="addons/odoomates_odooapps" remote="odoomates" groups="addons"/>
|
||||
|
|
@ -151,6 +151,6 @@
|
|||
<project name="web.git" path="addons/OCA_web" remote="OCA" revision="12.0_dev" groups="addons,base"/>
|
||||
<project name="website-addons.git" path="addons/itpp-labs_website-addons" remote="itpp-labs" revision="12.0_dev" groups="addons"/>
|
||||
<project name="website-cms.git" path="addons/OCA_website-cms" remote="OCA" groups="addons"/>
|
||||
<project name="website.git" path="addons/OCA_website" remote="OCA" revision="12.0_dev" groups="addons,code_generator"/>
|
||||
<project name="website.git" path="addons/OCA_website" remote="OCA" revision="12.0_dev" groups="addons,code_generator,image_db"/>
|
||||
<project name="wms.git" path="addons/OCA_wms" remote="OCA" groups="addons"/>
|
||||
</manifest>
|
||||
|
|
|
|||
|
|
@ -30,7 +30,11 @@ def get_config():
|
|||
)
|
||||
parser.add_argument("--csv_1", required=True, help="CSV file first")
|
||||
parser.add_argument("--csv_2", required=True, help="CSV file second")
|
||||
parser.add_argument("--compare_key", required=True, help="Key to search and compare with it.")
|
||||
parser.add_argument(
|
||||
"--compare_key",
|
||||
required=True,
|
||||
help="Key to search and compare with it.",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
return args
|
||||
|
||||
|
|
@ -38,8 +42,8 @@ def get_config():
|
|||
def main():
|
||||
config = get_config()
|
||||
|
||||
with open(config.csv_1, mode='r') as csv_file_1:
|
||||
with open(config.csv_2, mode='r') as csv_file_2:
|
||||
with open(config.csv_1, mode="r") as csv_file_1:
|
||||
with open(config.csv_2, mode="r") as csv_file_2:
|
||||
csv_reader_1 = csv.DictReader(csv_file_1)
|
||||
csv_reader_2 = csv.DictReader(csv_file_2)
|
||||
lst_csv_1 = [a.get(config.compare_key) for a in csv_reader_1]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,13 @@ ERPLIBRE_DOCKER_PROD_VERSION="${ERPLIBRE_DOCKER_PROD}:${ERPLIBRE_VERSION}"
|
|||
echo "Create docker ${ERPLIBRE_DOCKER_PROD_VERSION}"
|
||||
|
||||
# Rewrite docker-compose
|
||||
./script/docker_update_version.py --version=${ERPLIBRE_VERSION} --base=${ERPLIBRE_DOCKER_BASE} --prod=${ERPLIBRE_DOCKER_PROD}
|
||||
./script/docker/docker_update_version.py --version=${ERPLIBRE_VERSION} --base=${ERPLIBRE_DOCKER_BASE} --prod=${ERPLIBRE_DOCKER_PROD}
|
||||
|
||||
retVal=$?
|
||||
if [[ $retVal -ne 0 ]]; then
|
||||
echo "Error ./script/docker/docker_build.sh when execute docker_update_version.py"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd docker
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@ import argparse
|
|||
import logging
|
||||
import yaml
|
||||
|
||||
new_path = os.path.normpath(os.path.join(os.path.dirname(__file__), ".."))
|
||||
new_path = os.path.normpath(
|
||||
os.path.join(os.path.dirname(__file__), "..", "..")
|
||||
)
|
||||
sys.path.append(new_path)
|
||||
|
||||
from script.git_tool import GitTool
|
||||
|
|
|
|||
|
|
@ -394,7 +394,7 @@ class GitTool:
|
|||
if (
|
||||
"addons/OCA_web" == repo.get("path")
|
||||
or "odoo" == repo.get("path")
|
||||
or "ERPLibre_image_db" == repo.get("path")
|
||||
or "image_db" == repo.get("path")
|
||||
):
|
||||
continue
|
||||
str_repo = (
|
||||
|
|
|
|||
|
|
@ -68,9 +68,12 @@ 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"
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ sudo apt-get upgrade -y
|
|||
# Install PostgreSQL Server
|
||||
#--------------------------------------------------
|
||||
echo -e "\n---- Install PostgreSQL Server ----"
|
||||
sudo apt-get install postgresql libpq-dev -y
|
||||
sudo apt-get install postgresql libpq-dev postgis -y
|
||||
|
||||
echo -e "\n---- Creating the ERPLibre PostgreSQL User ----"
|
||||
sudo su - postgres -c "createuser -s ${EL_USER}" 2> /dev/null || true
|
||||
|
|
|
|||
|
|
@ -160,13 +160,15 @@ if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
|
|||
fi
|
||||
printf "\n" >> ${EL_CONFIG_FILE}
|
||||
|
||||
printf "workers = 0\n" >> ${EL_CONFIG_FILE}
|
||||
printf "max_cron_threads = 2\n" >> ${EL_CONFIG_FILE}
|
||||
|
||||
if [[ ${EL_INSTALL_NGINX} = "True" ]]; then
|
||||
printf "workers = 2\n" >> ${EL_CONFIG_FILE}
|
||||
printf "xmlrpc_interface = 127.0.0.1\n" >> ${EL_CONFIG_FILE}
|
||||
printf "netrpc_interface = 127.0.0.1\n" >> ${EL_CONFIG_FILE}
|
||||
printf "proxy_mode = True\n" >> ${EL_CONFIG_FILE}
|
||||
else
|
||||
printf "workers = 0\n" >> ${EL_CONFIG_FILE}
|
||||
fi
|
||||
|
||||
#echo -e "\n---- Install Odoo with addons module ----"
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
. ./env_var.sh
|
||||
|
||||
./script/install_debian_dependency.sh
|
||||
|
||||
echo -e "\n---- Create ERPLIBRE system user ----"
|
||||
sudo adduser --system --quiet --shell=/bin/bash --home=/${EL_USER} --gecos 'ERPLIBRE' --group ${EL_USER}
|
||||
#The user should also be added to the sudo'ers group.
|
||||
|
|
|
|||
|
|
@ -2,12 +2,19 @@
|
|||
|
||||
. ./env_var.sh
|
||||
|
||||
TEMP_FILENAME_NGINX_AVAILABLE="localhost"
|
||||
NEW_EL_WEBSITE_NAME="${EL_WEBSITE_NAME}"
|
||||
if [[ -z "${EL_WEBSITE_NAME}" ]]; then
|
||||
NEW_EL_WEBSITE_NAME=${TEMP_FILENAME_NGINX_AVAILABLE}
|
||||
fi
|
||||
TEMP_FILE_NGINX_AVAILABLE="/tmp/${TEMP_FILENAME_NGINX_AVAILABLE}"
|
||||
|
||||
#--------------------------------------------------
|
||||
# Install Nginx if needed
|
||||
#--------------------------------------------------
|
||||
if [ ${EL_INSTALL_NGINX} = "True" ]; then
|
||||
echo -e "\n---- Installing and setting up Nginx ----"
|
||||
cat <<EOF > /tmp/nginx${EL_USER}
|
||||
echo -e "\n---- Installing and setting up Nginx into ${TEMP_FILE_NGINX_AVAILABLE} ----"
|
||||
cat <<EOF >${TEMP_FILE_NGINX_AVAILABLE}
|
||||
upstream erplibre${EL_USER} {
|
||||
server 127.0.0.1:${EL_PORT};
|
||||
}
|
||||
|
|
@ -18,7 +25,7 @@ upstream erplibre${EL_USER}chat {
|
|||
server {
|
||||
listen 80;
|
||||
|
||||
server_name ${EL_WEBSITE_NAME};
|
||||
server_name ${NEW_EL_WEBSITE_NAME};
|
||||
|
||||
# Add Headers for erplibre proxy mode
|
||||
proxy_set_header X-Forwarded-Host \$host;
|
||||
|
|
@ -80,11 +87,11 @@ server {
|
|||
}
|
||||
EOF
|
||||
|
||||
sudo mv -f /tmp/nginx${EL_USER} /etc/nginx/sites-available/${EL_WEBSITE_NAME}
|
||||
sudo ln -fs /etc/nginx/sites-available/${EL_WEBSITE_NAME} /etc/nginx/sites-enabled/${EL_WEBSITE_NAME}
|
||||
sudo mv -f ${TEMP_FILE_NGINX_AVAILABLE} /etc/nginx/sites-available/${NEW_EL_WEBSITE_NAME}
|
||||
sudo ln -fs /etc/nginx/sites-available/${NEW_EL_WEBSITE_NAME} /etc/nginx/sites-enabled/${NEW_EL_WEBSITE_NAME}
|
||||
sudo rm -f /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default
|
||||
sudo systemctl restart nginx
|
||||
echo "Done! The Nginx server is up and running. Configuration can be found at /etc/nginx/sites-enabled/${EL_WEBSITE_NAME}"
|
||||
echo "Done! The Nginx server is up and running. Configuration can be found at /etc/nginx/sites-enabled/${NEW_EL_WEBSITE_NAME}"
|
||||
echo "Run manually certbot : sudo certbot --nginx"
|
||||
else
|
||||
echo "Nginx isn't installed due to choice of the user!"
|
||||
|
|
|
|||
|
|
@ -37,14 +37,22 @@ def get_config():
|
|||
parser.add_argument("--backup_2", help="Backup name second")
|
||||
args = parser.parse_args()
|
||||
|
||||
die(bool(args.backup_file_1) and bool(args.backup_1),
|
||||
"Take only --backup_file_1 or --backup_1")
|
||||
die(not bool(args.backup_file_1) and not bool(args.backup_1),
|
||||
"Missing --backup_file_1 or --backup_1")
|
||||
die(bool(args.backup_file_2) and bool(args.backup_2),
|
||||
"Take only --backup_file_2 or --backup_2")
|
||||
die(not bool(args.backup_file_2) and not bool(args.backup_2),
|
||||
"Missing --backup_file_2 or --backup_2")
|
||||
die(
|
||||
bool(args.backup_file_1) and bool(args.backup_1),
|
||||
"Take only --backup_file_1 or --backup_1",
|
||||
)
|
||||
die(
|
||||
not bool(args.backup_file_1) and not bool(args.backup_1),
|
||||
"Missing --backup_file_1 or --backup_1",
|
||||
)
|
||||
die(
|
||||
bool(args.backup_file_2) and bool(args.backup_2),
|
||||
"Take only --backup_file_2 or --backup_2",
|
||||
)
|
||||
die(
|
||||
not bool(args.backup_file_2) and not bool(args.backup_2),
|
||||
"Missing --backup_file_2 or --backup_2",
|
||||
)
|
||||
|
||||
return args
|
||||
|
||||
|
|
@ -61,11 +69,11 @@ def main():
|
|||
file_path_2 = config.backup_file_2
|
||||
else:
|
||||
file_path_2 = os.path.join("image_db", f"{config.backup_2}.zip")
|
||||
|
||||
with zipfile.ZipFile(file_path_1, 'r') as zip_ref:
|
||||
|
||||
with zipfile.ZipFile(file_path_1, "r") as zip_ref:
|
||||
manifest_file_1 = zip_ref.open("manifest.json")
|
||||
|
||||
with zipfile.ZipFile(file_path_2, 'r') as zip_ref:
|
||||
with zipfile.ZipFile(file_path_2, "r") as zip_ref:
|
||||
manifest_file_2 = zip_ref.open("manifest.json")
|
||||
|
||||
json_manifest_file_1 = json.load(manifest_file_1)
|
||||
|
|
@ -81,10 +89,16 @@ def main():
|
|||
print(f"{len(same)} same")
|
||||
if same:
|
||||
print(same)
|
||||
print(f"{Fore.BLUE}{len(difference_1)}{Style.RESET_ALL} difference manifest 1 to manifest 2")
|
||||
print(
|
||||
f"{Fore.BLUE}{len(difference_1)}{Style.RESET_ALL} difference manifest"
|
||||
" 1 to manifest 2"
|
||||
)
|
||||
if difference_1:
|
||||
print(difference_1)
|
||||
print(f"{Fore.MAGENTA}{len(difference_2)}{Style.RESET_ALL} difference manifest 2 to manifest 1")
|
||||
print(
|
||||
f"{Fore.MAGENTA}{len(difference_2)}{Style.RESET_ALL} difference"
|
||||
" manifest 2 to manifest 1"
|
||||
)
|
||||
if difference_2:
|
||||
print(difference_2)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue