odoo-forge-bundle 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +6 -0
- package/manifest.json +13 -0
- package/package.json +16 -0
- package/payload/README.md +4 -0
- package/payload/config/product.json +11 -0
- package/payload/platforms/claude/hooks.template.json +15 -0
- package/payload/platforms/claude/mcp.template.json +9 -0
- package/payload/platforms/claude/plugin.template.json +8 -0
- package/payload/platforms/claude/settings.template.json +3 -0
- package/payload/platforms/codex/mcp.template.json +12 -0
- package/payload/platforms/codex/plugin.template.json +19 -0
- package/payload/skills/company-rules/SKILL.md +244 -0
- package/payload/skills/company-rules/agents/openai.yaml +6 -0
- package/payload/skills/company-rules/assets/icon-large.svg +1 -0
- package/payload/skills/company-rules/assets/icon-small.svg +5 -0
- package/payload/skills/company-rules/references/1 /343/200/212/350/256/276/350/256/241/345/274/200/345/267/245/346/212/245/345/221/212/343/200/213/347/274/226/345/210/266/350/247/204/345/256/2329920ZD1811A-2018.md" +128 -0
- package/payload/skills/company-rules/references/1 /350/256/276/350/256/241/345/274/200/345/267/245/346/212/245/345/221/212TBED-9920-201A-2018.md" +15 -0
- package/payload/skills/company-rules/references/10 /344/270/223/344/270/232/350/256/276/350/256/241/344/273/273/345/212/241/345/247/224/346/211/230/344/271/246TBED-9920-222A-2018.md" +16 -0
- package/payload/skills/company-rules/references/11 /347/272/240/346/255/243/357/274/210/351/242/204/351/230/262/357/274/211/346/216/252/346/226/275/350/241/250TBQM-9920-201A-2009.md" +12 -0
- package/payload/skills/company-rules/references/11 /350/256/276/350/256/241/346/226/207/344/273/266/345/217/212/346/212/200/346/234/257/346/226/207/344/273/266/347/274/226/345/217/267/350/247/204/345/256/2329920ZD1822A-2018.md" +411 -0
- package/payload/skills/company-rules/references/11-1/351/231/204/344/273/266/357/274/232/346/226/260/345/245/245/345/244/251/347/204/266/346/260/224/350/202/241/344/273/275/346/234/211/351/231/220/345/205/254/345/217/270/346/227/240/345/275/242/350/265/204/344/272/247/347/256/241/347/220/206/345/212/236/346/263/225.md +56 -0
- package/payload/skills/company-rules/references/12 /350/256/276/350/256/241/350/201/224/347/273/234/345/215/225TBED-4002-221A-2024.md" +16 -0
- package/payload/skills/company-rules/references/12 /351/241/271/347/233/256/350/256/276/345/244/207/346/235/220/346/226/231/350/257/267/350/264/255/346/216/247/345/210/266/347/250/213/345/272/217XMZX KZCL004A-2023.md" +244 -0
- package/payload/skills/company-rules/references/13 /345/237/271/350/256/255/350/256/260/345/275/225/350/241/250TBHR-9920-235A-2013.md" +36 -0
- package/payload/skills/company-rules/references/14 /345/244/226/345/207/272/345/237/271/350/256/255/347/224/263/350/257/267/350/241/250XDNYQM12A-B01-2025.md" +16 -0
- package/payload/skills/company-rules/references/14 /350/264/250/351/207/217/351/243/216/351/231/251/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920TEI003A-2025.md" +227 -0
- package/payload/skills/company-rules/references/15 /345/272/224/350/201/230/347/231/273/350/256/260/350/241/250XDNYQM12A-B02-2025.md" +31 -0
- package/payload/skills/company-rules/references/16 /351/235/242/350/257/225/346/265/213/350/257/204/345/215/225XDNYQM12A-B03-2025.md" +34 -0
- package/payload/skills/company-rules/references/17 /345/214/226/345/267/245/350/256/276/350/256/241/344/270/255/345/277/203/344/270/223/344/270/232/344/274/232/347/255/276/350/246/201/346/261/202/345/222/214/350/214/203/345/233/264/350/247/204/345/256/232ENN NG 4002 ENG001A-2023.md" +97 -0
- package/payload/skills/company-rules/references/17 /350/247/222/350/211/262/350/257/264/346/230/216/344/271/246XDNYQM12A-B04-2025.md" +175 -0
- package/payload/skills/company-rules/references/17 /350/264/250/351/207/217/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920TEI015A-2025.md" +218 -0
- package/payload/skills/company-rules/references/18 /345/212/236/345/205/254/347/224/250/345/223/201/351/242/206/347/224/250/347/231/273/350/256/260/350/241/250XDNYQM12A-B05-2025.md" +37 -0
- package/payload/skills/company-rules/references/18 /345/215/260/347/253/240/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920ASC011A-2024.md" +212 -0
- package/payload/skills/company-rules/references/19 /350/256/276/350/256/241/344/273/273/345/212/241/351/200/232/347/237/245/345/215/225XDNYQM12A-B06-2025.md" +35 -0
- package/payload/skills/company-rules/references/2 /350/256/276/350/256/241/350/257/204/345/256/241/347/256/241/347/220/206/350/247/204/345/256/2329920ZD1812A-2018.md" +139 -0
- package/payload/skills/company-rules/references/2 /350/256/276/350/256/241/350/257/204/345/256/241/350/256/260/345/275/225TBED-9920-202A-2015.md" +11 -0
- package/payload/skills/company-rules/references/20 /345/233/272/345/256/232/350/265/204/344/272/247/347/256/241/347/220/206/345/210/266/345/272/246 ENN NG 9920FIN004A-2024.md" +277 -0
- package/payload/skills/company-rules/references/20 /346/264/276/350/275/246/345/215/225ENN NG 4002ASC003A-2025-B03.md" +10 -0
- package/payload/skills/company-rules/references/21 /345/221/230/345/267/245/345/237/271/350/256/255/347/256/241/347/220/206/345/212/236/346/263/2259920ZD0313A-2013.md" +142 -0
- package/payload/skills/company-rules/references/23 /350/256/276/350/256/241/350/264/250/351/207/217/346/216/247/345/210/266/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002ENG001A-2025.md" +116 -0
- package/payload/skills/company-rules/references/24 /345/267/245/347/250/213/350/256/276/350/256/241/350/264/250/351/207/217/347/272/242/351/273/204/347/272/277/347/256/241/347/220/206/345/212/236/346/263/225 ENN NG 4002/357/274/217ENG003A-2025.md" +100 -0
- package/payload/skills/company-rules/references/26 /346/212/200/346/234/257/346/241/243/346/241/210/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002TEI002A-2025.md" +346 -0
- package/payload/skills/company-rules/references/27 /345/220/210/345/220/214/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002LEG001A-2025.md" +151 -0
- package/payload/skills/company-rules/references/28 /350/256/276/350/256/241/346/226/207/344/273/266/346/231/222/345/217/221/347/256/241/347/220/206/345/212/236/346/263/225 ENN NG 4002MFG001A-2025.md" +109 -0
- package/payload/skills/company-rules/references/29 /346/212/225/346/240/207/347/256/241/347/220/206/347/273/206/345/210/231ENN NG 4002MKT001A-2024.md" +161 -0
- package/payload/skills/company-rules/references/3 /350/256/276/350/256/241/346/226/207/344/273/266/346/240/274/345/274/217/350/247/204/345/256/2329920ZD1821A-2018.md" +371 -0
- package/payload/skills/company-rules/references/3 /350/256/276/350/256/241/350/241/245/345/205/205/343/200/201/345/217/230/346/233/264/351/200/232/347/237/245/345/215/225TBED-9920-208A-2018.md" +19 -0
- package/payload/skills/company-rules/references/3 /350/256/276/350/256/241/351/252/214/350/257/201/350/247/204/345/256/2329920ZD1813A-2018.md" +97 -0
- package/payload/skills/company-rules/references/30 /350/256/276/350/256/241/347/273/217/347/220/206/345/210/206/347/272/247/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002HR001A-2025.md" +139 -0
- package/payload/skills/company-rules/references/31 /350/256/276/350/256/241/351/241/271/347/233/256/350/277/233/345/272/246/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4003ENG001A-2024.md" +153 -0
- package/payload/skills/company-rules/references/32 EPC/351/241/271/347/233/256/350/256/276/350/256/241/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4003ENG004A-2024.md" +295 -0
- package/payload/skills/company-rules/references/4 /346/226/260/345/234/260/350/203/275/346/272/220/345/267/245/347/250/213/346/212/200/346/234/257/346/234/211/351/231/220/345/205/254/345/217/270/347/237/263/345/256/266/345/272/204/350/203/275/346/272/220/345/214/226/345/267/245/346/212/200/346/234/257/345/210/206/345/205/254/345/217/270/345/233/276/344/271/246/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002TEI001A-2025.md" +88 -0
- package/payload/skills/company-rules/references/4 /350/256/276/350/256/241/344/273/273/345/212/241/351/200/232/347/237/245/344/271/246TBED-9920-209A-2011.md" +14 -0
- package/payload/skills/company-rules/references/4 /350/256/276/350/256/241/346/210/220/345/223/201/350/264/250/351/207/217/350/257/204/345/256/232/350/247/204/345/256/2329920ZD1815A-2018.md" +205 -0
- package/payload/skills/company-rules/references/5 /350/256/276/350/256/241/346/235/241/344/273/266/347/256/241/347/220/206/350/247/204/345/256/2329920ZD1816A-2018.md" +70 -0
- package/payload/skills/company-rules/references/5 /350/256/276/350/256/241/350/277/233/345/272/246/350/256/241/345/210/222/350/241/250TBED-9920-211A-2011.md" +14 -0
- package/payload/skills/company-rules/references/6 /345/267/245/347/250/213/350/256/276/350/256/241/350/265/204/346/240/274/347/256/241/347/220/206/345/212/236/346/263/2259920ZD1817A-2015.md" +169 -0
- package/payload/skills/company-rules/references/6 /350/256/241/347/256/227/344/271/246TBED-9920-212A-2011.md" +30 -0
- package/payload/skills/company-rules/references/7 /350/256/276/350/256/241/344/272/244/345/272/225/350/256/260/345/275/225TBED-9920-213A-2015.md" +16 -0
- package/payload/skills/company-rules/references/7 /351/241/271/347/233/256/350/256/276/350/256/241/347/273/204/347/273/207/345/222/214/346/212/200/346/234/257/346/216/245/345/217/243/350/247/204/345/256/2329920ZD1818A-2018.md" +138 -0
- package/payload/skills/company-rules/references/8 /350/256/276/350/256/241/346/234/215/345/212/241/347/256/241/347/220/206/350/247/204/345/256/2329920ZD1819A-2015.md" +98 -0
- package/payload/skills/company-rules/references/8 /350/256/276/350/256/241/357/274/210/346/226/207/346/234/254/357/274/211/346/240/241/345/256/241/350/256/260/345/275/225TBED-9920-214A-2018.md" +13 -0
- package/payload/skills/company-rules/references/9 /350/256/276/350/256/241/346/226/207/344/273/266/347/255/276/347/275/262/350/247/204/345/256/2329920ZD1820A-2018.md" +133 -0
- package/payload/skills/company-rules/references/9 /350/256/276/350/256/241/350/276/223/345/205/245/350/257/204/345/256/241/350/241/250TBED-9920-215A-2020.md" +10 -0
- package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-B01/346/240/207/345/207/206/345/233/276/344/271/246/350/256/242/350/264/255/347/224/263/350/257/267/345/215/225.md" +30 -0
- package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-B02/345/233/276/344/271/246/345/200/237/351/230/205/347/231/273/350/256/260/350/241/250.md" +10 -0
- package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-B03/345/233/276/344/271/246/345/200/237/351/230/205/346/230/216/347/273/206/350/241/250.md" +11 -0
- package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-L01~03/345/233/276/344/271/246/347/256/241/347/220/206/346/265/201/347/250/213 /357/274/2103/344/270/252/357/274/211 PDF.md" +26 -0
- package/payload/skills/company-rules/references//345/256/242/346/210/267/346/273/241/346/204/217/345/272/246/350/260/203/346/237/245/345/217/212/345/233/236/350/256/277/345/267/245/345/205/267/350/241/250/345/215/225.md +184 -0
- package/payload/skills/company-rules/references//345/256/242/346/210/267/346/273/241/346/204/217/345/272/246/350/260/203/346/237/245/345/217/212/345/233/236/350/256/277/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920MKT002A-2025.md" +225 -0
- package/payload/skills/company-rules/references//345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920TEI012A-2025.md" +84 -0
- package/payload/skills/company-rules/references//346/227/240/345/275/242/350/265/204/344/272/247/347/256/241/347/220/206/345/212/236/346/263/225 ENN NG FIN014B-2024.md" +110 -0
- package/payload/skills/company-rules/references//347/207/203/346/260/224/345/214/226/345/267/245/350/256/276/350/256/241/344/270/255/345/277/203/350/264/250/351/207/217/345/210/206/346/211/213/345/206/214XDNYQM12A-2025.md +1102 -0
- package/payload/skills/company-rules/references//350/264/250/351/207/217/344/272/213/346/225/205/347/256/241/347/220/206/350/247/204/345/256/232ENN NG 9920TEI014A-2025.md" +188 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2661 /345/220/204/344/270/223/344/270/232/344/274/232/347/255/276/346/204/217/350/247/201/346/261/207/346/200/273/350/241/250.md" +14 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2661 /345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/350/277/235/350/247/204/350/241/214/344/270/272/350/256/244/345/256/232/346/212/245/345/221/212.docx.md" +9 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2661/357/274/232/345/211/215/346/234/237/345/267/245/344/275/234/343/200/201/345/210/235/346/255/245/350/256/276/350/256/241/347/255/211/350/256/276/350/256/241/346/226/207/344/273/266/347/274/226/345/210/266/346/240/274/345/274/217.md +73 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2661/357/274/232/350/264/250/351/207/217/344/272/213/346/225/205/345/277/253/346/212/245.md +14 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2662 /345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/350/277/235/350/247/204/350/241/214/344/270/272/347/273/237/350/256/241/345/217/260/350/264/246.docx.md" +9 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2662/357/274/232/346/266/210/351/230/262/350/256/276/350/256/241/346/226/207/344/273/266/343/200/201/346/266/210/351/230/262/350/256/276/350/256/241/344/270/223/347/257/207/347/274/226/345/210/266/346/240/274/345/274/217.md +103 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2662/357/274/232/350/264/250/351/207/217/344/272/213/346/225/205/350/260/203/346/237/245/346/212/245/345/221/212.md +71 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2663 /345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/346/235/241/346/254/276/345/210/206/350/247/243/345/217/212/347/275/232/345/210/231.md" +80 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2663/357/274/232/345/256/211/345/205/250/350/256/276/346/226/275/350/256/276/350/256/241/344/270/223/347/257/207/357/274/210/346/210/226HAZOP/345/210/206/346/236/220/357/274/211/347/274/226/345/210/266/346/240/274/345/274/217.md +48 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2663/357/274/232/350/264/250/351/207/217/344/272/213/346/225/205/344/272/213/344/273/266/345/217/260/350/264/246.md +37 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2664/357/274/232/350/201/214/344/270/232/347/227/205/351/230/262/346/212/244/350/256/276/346/226/275/350/256/276/350/256/241/344/270/223/347/257/207/347/274/226/345/210/266/346/240/274/345/274/217/357/274/210/347/234/201/347/272/247/357/274/211.md +44 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2665/357/274/232/350/212/202/350/203/275/346/212/245/345/221/212/347/274/226/345/210/266/346/240/274/345/274/217.md +52 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2666/357/274/232/346/212/200/346/234/257/350/247/204/346/240/274/344/271/246/347/274/226/345/210/266/346/240/274/345/274/217.md +60 -0
- package/payload/skills/company-rules/references//351/231/204/344/273/2667/357/274/232/345/255/227/344/275/223/347/244/272/344/276/213.md +223 -0
- package/payload/skills/company-rules/scripts/convert.py +295 -0
- package/payload/skills/company-rules/scripts/summarize.py +144 -0
- package/payload/skills/dev/SKILL.md +310 -0
- package/payload/skills/dev/agents/openai.yaml +6 -0
- package/payload/skills/dev/assets/icon-large.svg +1 -0
- package/payload/skills/dev/assets/icon-small.svg +5 -0
- package/payload/skills/dev/references/repo-conventions.md +104 -0
- package/payload/skills/discovery/SKILL.md +360 -0
- package/payload/skills/discovery/agents/openai.yaml +6 -0
- package/payload/skills/discovery/assets/icon-large.svg +1 -0
- package/payload/skills/discovery/assets/icon-small.svg +5 -0
- package/payload/skills/discovery/references/output-template.md +264 -0
- package/payload/skills/discovery/references/question-dimensions.md +375 -0
- package/payload/skills/global-context/SKILL.md +341 -0
- package/payload/skills/global-context/agents/openai.yaml +6 -0
- package/payload/skills/global-context/assets/icon-large.svg +1 -0
- package/payload/skills/global-context/assets/icon-small.svg +5 -0
- package/payload/skills/global-context/references/document-specs.md +300 -0
- package/payload/skills/industry-practice/SKILL.md +273 -0
- package/payload/skills/industry-practice/agents/openai.yaml +6 -0
- package/payload/skills/industry-practice/assets/icon-large.svg +1 -0
- package/payload/skills/industry-practice/assets/icon-small.svg +5 -0
- package/payload/skills/industry-practice/references/review-checklist.md +63 -0
- package/payload/skills/module-report/SKILL.md +214 -0
- package/payload/skills/module-report/agents/openai.yaml +6 -0
- package/payload/skills/module-report/assets/icon-large.svg +1 -0
- package/payload/skills/module-report/assets/icon-small.svg +5 -0
- package/payload/skills/module-research/SKILL.md +151 -0
- package/payload/skills/module-research/agents/openai.yaml +6 -0
- package/payload/skills/module-research/assets/icon-large.svg +1 -0
- package/payload/skills/module-research/assets/icon-small.svg +5 -0
- package/payload/skills/odoo18-docs/SKILL.md +97 -0
- package/payload/skills/odoo18-docs/agents/openai.yaml +6 -0
- package/payload/skills/odoo18-docs/assets/icon-large.svg +1 -0
- package/payload/skills/odoo18-docs/assets/icon-small.svg +5 -0
- package/payload/skills/odoo18-docs/references/catalog/administration-catalog.md +44 -0
- package/payload/skills/odoo18-docs/references/catalog/applications-catalog.md +949 -0
- package/payload/skills/odoo18-docs/references/catalog/contributing-catalog.md +18 -0
- package/payload/skills/odoo18-docs/references/catalog/developer-catalog.md +162 -0
- package/payload/skills/odoo18-docs/references/docs/administration/hosting.md +115 -0
- package/payload/skills/odoo18-docs/references/docs/administration/mobile.md +69 -0
- package/payload/skills/odoo18-docs/references/docs/administration/neutralized_database.md +39 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_accounts.md +105 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_online.md +198 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced/containers.md +235 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced/frequent_technical_questions.md +60 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced/submodules.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/branches.md +543 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/builds.md +121 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/create.md +192 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/first_module.md +518 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/online-editor.md +196 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/settings.md +332 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/status.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/overview/introduction.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/overview.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise/community_to_enterprise.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise/deploy.md +901 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise/email_gateway.md +51 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise/geo_ip.md +65 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise/packages.md +166 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise/source.md +487 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise/update.md +146 -0
- package/payload/skills/odoo18-docs/references/docs/administration/on_premise.md +114 -0
- package/payload/skills/odoo18-docs/references/docs/administration/supported_versions.md +110 -0
- package/payload/skills/odoo18-docs/references/docs/administration/upgrade.md +436 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/activities.md +336 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/contacts/merge.md +80 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/contacts.md +248 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/export_import_data.md +532 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/html_editor.md +295 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/in_app_purchase.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/keyboard_shortcuts.md +89 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/reporting.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials/search.md +275 -0
- package/payload/skills/odoo18-docs/references/docs/applications/essentials.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization/enablebanking.md +36 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization/ponto.md +103 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization/saltedge.md +96 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization.md +197 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/foreign_currency.md +115 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/internal_transfers.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/loans.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/reconciliation.md +138 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/reconciliation_models.md +121 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/transactions.md +136 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank.md +194 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/cash_discounts.md +176 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/cash_rounding.md +42 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/credit_notes.md +119 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/customer_addresses.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/deferred_revenues.md +187 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/argentina.md +55 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/austria.md +53 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/basque_country.md +51 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/belgium.md +54 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/brazil.md +54 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/chile.md +52 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/colombia.md +52 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/croatia.md +51 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/denmark.md +48 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/ecuador.md +51 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/estonia.md +48 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/finland.md +48 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/france.md +51 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/germany.md +48 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/hungary.md +47 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/ireland.md +47 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/italy.md +51 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/latvia.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/lithuania.md +47 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/luxembourg.md +48 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/mexico.md +58 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/netherlands.md +47 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/norway.md +45 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/peru.md +56 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/poland.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/portugal.md +49 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/romania.md +55 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/slovenia.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/spain.md +51 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/uruguay.md +58 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing.md +294 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/epc_qr_code.md +62 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/incoterms.md +59 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/overview.md +154 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/payment_terms.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/sequence.md +68 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/snailmail.md +55 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/terms_conditions.md +42 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices.md +231 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/avg_price_valuation.md +433 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/chart_of_accounts.md +189 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/cheat_sheet.md +252 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/consolidation.md +182 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/multi_currency.md +157 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/tax_units.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started.md +189 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/batch.md +69 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/batch_sdd.md +126 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/checks.md +126 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/follow_up.md +154 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/forecast.md +49 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/online/install_portal_patch.md +58 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/online.md +50 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/pay_checks.md +59 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/pay_sepa.md +87 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/trusted_accounts.md +63 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments.md +375 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/analytic_accounting.md +138 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/budget.md +167 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/customize.md +308 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/data_inalterability.md +115 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/intrastat.md +189 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/silverfin.md +69 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/tax_carryover.md +42 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/tax_returns.md +114 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/year_end.md +114 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting.md +138 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/B2B_B2C.md +182 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/avatax/avalara_portal.md +252 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/avatax/avatax_use.md +164 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/avatax.md +423 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/cash_basis.md +118 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/eu_distance_selling.md +66 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/fiscal_positions.md +116 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/retention.md +44 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/vat_verification.md +44 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes.md +336 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/assets.md +244 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/deferred_expenses.md +187 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/invoice_digitization.md +98 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/sequence.md +68 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills.md +116 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting.md +243 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/approve_expenses.md +118 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/expense_reports.md +131 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/log_expenses.md +228 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/post_expenses.md +77 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/reimburse.md +140 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/reinvoice_expenses.md +150 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses.md +105 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/argentina.md +1164 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/australia.md +498 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/austria.md +126 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/belgium.md +615 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/brazil.md +574 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/canada.md +305 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/chile.md +1211 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/colombia.md +480 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/denmark.md +83 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/ecuador.md +760 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/egypt.md +234 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/employment_hero.md +78 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/france.md +629 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/germany.md +330 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/hong_kong.md +89 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/india.md +702 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/indonesia.md +174 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/italy.md +726 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/jordan.md +250 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/kenya.md +361 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/luxembourg.md +100 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/malaysia.md +225 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/mexico.md +1078 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/netherlands.md +28 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/new_zealand.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/peru.md +1009 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/philippines.md +184 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/romania.md +165 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/saudi_arabia.md +136 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/singapore.md +66 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/spain.md +201 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/switzerland.md +144 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/thailand.md +158 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/united_arab_emirates.md +203 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/united_kingdom.md +389 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/united_states.md +738 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/uruguay.md +375 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/vietnam.md +263 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations.md +192 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/adyen.md +159 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/amazon_payment_services.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/asiapay.md +52 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/authorize.md +162 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/buckaroo.md +39 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/demo.md +40 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/flutterwave.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/mercado_pago.md +42 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/mollie.md +33 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/nuvei.md +88 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/paypal.md +81 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/razorpay.md +56 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/stripe.md +119 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/wire_transfer.md +57 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/worldline.md +68 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/xendit.md +57 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers.md +459 -0
- package/payload/skills/odoo18-docs/references/docs/applications/finance.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/apps_modules.md +90 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/companies/digest_emails.md +259 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/companies/email_template.md +288 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/companies.md +251 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/developer_mode.md +68 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/azure_oauth.md +285 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/email_domain.md +152 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/email_servers_inbound.md +350 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/email_servers_outbound.md +326 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/faq.md +369 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/google_oauth.md +210 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/mailjet_api.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication.md +111 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/barcodelookup.md +41 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/geolocation.md +43 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/google_translate.md +121 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/mail_plugins/gmail.md +159 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/mail_plugins/outlook.md +154 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/mail_plugins.md +58 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/unsplash.md +34 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/integrations.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/connect.md +141 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/camera.md +83 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/footswitch.md +54 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/measurement_tool.md +92 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/printer.md +481 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/scale.md +81 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/screen.md +110 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices.md +27 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced/https_certificate_iot.md +160 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced/ssh_connect.md +39 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced/updating_iot.md +91 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_box.md +94 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot/windows_iot.md +171 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/iot.md +89 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/multi_company.md +131 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/2fa.md +125 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/access_rights.md +187 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/azure.md +178 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/facebook.md +130 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/google.md +163 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/language.md +50 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/ldap.md +48 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users/portal.md +168 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general/users.md +235 -0
- package/payload/skills/odoo18-docs/references/docs/applications/general.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/appraisal_analysis.md +117 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/goals.md +87 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/new_appraisals.md +275 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/skills_evolution.md +165 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals.md +182 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances/check_in_check_out.md +90 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances/hardware.md +107 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances/kiosks.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances.md +303 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/certifications.md +118 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/departments.md +150 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/equipment.md +86 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/new_employee.md +532 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/offboarding.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/retention_report.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/employees.md +22 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/accidents.md +275 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/models.md +198 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/new_vehicle.md +326 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/service.md +509 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet.md +94 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/frontdesk/visitors.md +162 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/frontdesk.md +223 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/management.md +189 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/orders.md +220 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/products.md +65 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/user-accounts.md +104 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/vendors.md +160 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch.md +130 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/contracts.md +295 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/australia.md +858 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/belgium.md +3024 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/hong_kong.md +433 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/jordan.md +125 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/united_arab_emirates.md +401 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations.md +60 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payslips.md +453 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/reporting.md +226 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/salary_attachment.md +66 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/salary_attachments.md +155 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/work_entries.md +332 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/work_entry_analysis.md +82 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll.md +912 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/add-new-applicants.md +167 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/new_job.md +139 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/offer_job_positions.md +160 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/recruitment-flow.md +228 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/recruitment_analysis.md +102 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/refuse_applicant.md +144 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/schedule_interviews.md +319 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/source_analysis.md +86 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/team_performance.md +96 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/time_in_stage.md +81 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment.md +387 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/alerts.md +62 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/points.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/reporting.md +89 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/rewards.md +89 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/share_jobs.md +161 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals.md +266 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/allocations.md +176 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/management.md +151 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/my_time.md +114 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/request_time_off.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off.md +585 -0
- package/payload/skills/odoo18-docs/references/docs/applications/hr.md +21 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/adjustments.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/barcode_nomenclature.md +240 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/gs1_nomenclature.md +226 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/gs1_usage.md +235 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/process_transfers.md +58 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/receipts_deliveries.md +203 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/transfers_scratch.md +222 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup/device_troubleshooting.md +206 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup/hardware.md +162 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup/software.md +100 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode.md +25 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/package.md +210 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/packaging.md +184 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/type.md +339 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/uom.md +167 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure.md +169 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.md +484 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.md +167 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.md +176 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.md +204 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.md +254 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.md +405 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/reassign.md +90 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.md +373 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/cross_dock.md +94 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.md +119 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/dropshipping.md +86 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.md +123 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.md +96 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.md +144 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.md +224 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.md +111 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/stock_warehouses.md +232 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.md +173 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.md +336 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations.md +162 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/batch.md +219 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/cluster.md +167 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave.md +135 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/closest_location.md +100 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fefo.md +128 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fifo.md +99 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages.md +75 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/lifo.md +69 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies.md +180 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/at_confirmation.md +92 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/before_scheduled_date.md +154 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/manually.md +141 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods.md +112 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/bpost.md +107 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/cancel.md +52 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.md +130 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dispatch.md +258 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.md +287 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.md +169 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/invoicing.md +123 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/label_type.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/labels.md +163 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/multipack.md +118 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.md +195 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/print_on_validation.md +327 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.md +307 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/starshipit_shipping.md +235 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.md +339 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.md +205 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/zebra.md +234 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.md +89 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.md +341 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/cycle_counts.md +124 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/product_catalog.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/scrap_inventory.md +118 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.md +147 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses.md +77 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.md +140 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.md +376 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto.md +142 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.md +552 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.md +140 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.md +170 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.md +117 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.md +223 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/forecast.md +163 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.md +159 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.md +102 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.md +137 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory.md +24 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/add_new_equipment.md +94 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/maintenance_calendar.md +373 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/maintenance_requests.md +108 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/maintenance_setup.md +240 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance.md +26 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/kit_shipping.md +110 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/product_variants.md +190 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/sub_assemblies.md +203 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/using_work_centers.md +283 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/work_order_dependencies.md +118 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/bill_configuration.md +257 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/configure_manufacturing_product.md +100 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/mo_costs.md +231 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/one_step_manufacturing.md +157 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/three_step_manufacturing.md +191 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/two_step_manufacturing.md +176 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting/allocation.md +132 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting/oee.md +163 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting/production_analysis.md +164 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview.md +256 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking.md +120 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/shop_floor.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/basic_subcontracting_lead_times.md +102 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/dropship_subcontracting_lead_times.md +191 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/resupply_subcontracting_lead_times.md +161 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_basic.md +195 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_dropship.md +256 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_resupply.md +270 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting.md +135 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/byproducts.md +77 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/continuous_improvement.md +241 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials.md +136 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/manufacturing_backorders.md +133 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/scrap_manufacturing.md +95 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/split_merge.md +84 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/unbuild_orders.md +92 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/use_mps.md +269 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/work_center_time_off.md +112 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows.md +21 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing.md +29 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes/eco_type.md +140 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes/engineering_change_orders.md +331 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes/version_control.md +168 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/management/approvals.md +103 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/management.md +12 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm.md +23 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/analyze.md +147 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/edi.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/procurement_expenses_report.md +128 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/vendor_costs_report.md +107 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/calls_for_tenders.md +248 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/control_bills.md +158 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/manage.md +237 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/purchase_templates.md +81 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/rfq.md +213 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products/pricelist.md +253 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products/reordering.md +105 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products/temporary_reordering.md +132 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase.md +24 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/instructions_check.md +98 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/measure_check.md +208 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.md +144 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/picture_check.md +181 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/failure_locations.md +108 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/quality_alerts.md +111 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/quality_checks.md +156 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/quality_control_points.md +149 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality.md +24 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/repairs/repair_orders.md +266 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/repairs.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/analyze_metrics.md +209 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/lost_leads_email.md +350 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/mailing_lists.md +225 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/unsubscriptions.md +129 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing.md +813 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/create_events.md +425 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/event_booths.md +269 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/event_templates.md +216 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/event_tracks.md +306 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/registration_desk.md +83 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/revenues_report.md +188 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/sell_tickets.md +144 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/track_manage_talks.md +143 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/events.md +255 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/campaign_templates/double_optin.md +156 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/campaign_templates.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/target_audience.md +87 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/testing_running.md +154 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/understanding_metrics.md +179 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/workflow_activities.md +331 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation.md +200 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/create_sms.md +117 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/mailing_lists_blacklists.md +144 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/marketing_campaigns.md +156 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/pricing_and_faq.md +114 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/sms_analysis.md +98 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing.md +85 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/social_marketing/social_campaigns.md +147 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/social_marketing/social_posts.md +386 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/social_marketing.md +163 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/analysis.md +259 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/create.md +326 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/live_session.md +218 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/questions.md +331 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/scoring.md +60 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys.md +264 -0
- package/payload/skills/odoo18-docs/references/docs/applications/marketing.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/appointments.md +195 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/calendar/google.md +254 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/calendar/outlook.md +249 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/calendar.md +280 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/data_cleaning.md +474 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/canned_responses.md +135 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/chatter.md +413 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/ice_servers.md +83 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/team_communication.md +112 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss.md +168 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/documents.md +378 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge/articles_editing.md +138 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge/management.md +204 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge/properties.md +103 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge.md +27 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/algeria.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/angola.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/argentina.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/australia.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/azerbaijan.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/bangladesh.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/brazil.md +76 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/canada.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/chile.md +75 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/china.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/colombia.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/dominican_republic.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/ecuador.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/egypt.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/ethiopia.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/germany.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/guatemala.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/hong_kong.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/india.md +75 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/indonesia.md +77 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/iran.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/iraq.md +75 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/israel.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/japan.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/kazakhstan.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/kenya.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/kuwait.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/malaysia.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/mexico.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/morocco.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/new_zealand.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/nigeria.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/norway.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/oman.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/pakistan.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/peru.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/philippines.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/qatar.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/russia.md +76 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/saudi_arabia.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/singapore.md +69 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/south_africa.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/south_korea.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/switzerland.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/thailand.md +69 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/turkey.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/ukraine.md +71 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/united_arab_emirates.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/united_kingdom.md +78 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/uzbekistan.md +72 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/vietnam.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign.md +371 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/functions.md +826 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/global_filters.md +202 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/insert.md +60 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/templates.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/to_do.md +92 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/axivox_config.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/call_queues.md +236 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/conference_calls.md +99 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/dial_plan_advanced.md +403 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/dial_plan_basics.md +199 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/dynamic_caller_id.md +114 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/manage_users.md +340 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/vm_audio_messages.md +257 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/devices_integrations.md +196 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/onsip.md +162 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/voip_widget.md +196 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity/whatsapp.md +869 -0
- package/payload/skills/odoo18-docs/references/docs/applications/productivity.md +23 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/convert.md +99 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/email_manual.md +128 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/lead_mining.md +117 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/opportunities_form.md +119 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/send_quotes.md +223 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/gamification.md +154 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/lead_enrichment.md +123 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/partner_autocomplete.md +84 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/utilize_activities.md +251 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance/expected_revenue_report.md +210 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance/forecast_report.md +108 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance/win_loss.md +649 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline/lost_opportunities.md +208 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline/manage_sales_teams.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline/merge_similar.md +113 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/lead_distribution_report.md +191 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/lead_scoring.md +186 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/marketing_attribution.md +161 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/quality_leads_report.md +217 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/resellers.md +129 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/unattended_leads_report.md +185 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/crm.md +27 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/members/members_analysis.md +57 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/members.md +91 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/combos.md +62 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/epos_printers.md +69 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/epos_ssc.md +286 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/https.md +25 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/pos_iot.md +60 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration.md +93 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/employee_login.md +75 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/online_food_delivery.md +208 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/qr_code_payment.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/adyen.md +85 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/ingenico.md +52 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/mercado_pago.md +101 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/razorpay.md +57 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/six.md +60 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/stripe.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/tyro.md +63 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/viva_wallet.md +116 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/worldline.md +90 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals.md +62 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods.md +36 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pos_based_marketing.md +119 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/preparation.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/cash_rounding.md +49 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/discount_tags.md +54 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/discounts.md +99 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/electronic_labels.md +183 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/fiscal_position.md +53 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/loyalty.md +47 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/pricelists.md +130 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/receipts_invoices.md +107 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/reporting.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/bill_printing.md +42 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/floors_tables.md +98 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/kitchen_printing.md +66 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/tips.md +89 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant.md +56 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/self_order.md +222 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/barcode.md +59 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/customer_display.md +61 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/sales_order.md +49 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/serial_numbers.md +62 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/ship_later.md +47 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale.md +189 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/rental.md +276 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector/features.md +115 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector/manage.md +195 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector/setup.md +155 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/gelato.md +159 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/down_payment.md +286 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/expense.md +258 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/invoicing_policy.md +86 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/milestone.md +240 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/proforma.md +73 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/time_materials.md +364 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/ewallets_giftcards.md +145 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/loyalty_discount.md +206 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices/currencies.md +224 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices/discounts.md +88 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices/pricing.md +280 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products/import.md +253 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products/product_images.md +164 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products/variants.md +291 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/returns.md +119 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/create_quotations.md +323 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/deadline.md +58 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/different_addresses.md +81 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/get_paid_to_validate.md +92 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/get_signature_to_validate.md +80 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/optional_products.md +101 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/orders_and_variants.md +116 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/pdf_quote_builder.md +266 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/quote_template.md +256 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations.md +139 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/shopee_connector/manage.md +191 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/shopee_connector/setup.md +226 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/shopee_connector.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/sales.md +27 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/automatic_alerts.md +169 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/closing.md +107 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/ecommerce.md +28 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/payment_providers/wire_transfer.md +157 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/payment_providers.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/plans.md +104 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/products.md +158 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/renewals.md +133 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/reports.md +396 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/scheduled_actions.md +188 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/upselling.md +111 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions.md +90 -0
- package/payload/skills/odoo18-docs/references/docs/applications/sales.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/creating_tasks.md +31 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/planning_itinerary.md +39 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/product_management.md +87 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/worksheets.md +66 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/field_service.md +22 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced/after_sales.md +283 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced/close_tickets.md +111 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced/track_and_bill.md +248 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/help_center.md +344 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/ratings.md +116 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/receiving_tickets.md +341 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/reports.md +178 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/sla.md +213 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/stages.md +111 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk.md +183 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/planning.md +327 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/project_management/project_dashboard.md +123 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/project_management/project_profitability.md +107 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/project_management.md +118 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/recurring_tasks.md +50 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/sub-tasks.md +53 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/task_creation.md +124 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/task_dependencies.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/task_stages_statuses.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/project.md +23 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/timesheets/overview/time_off.md +50 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/timesheets/overview.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services/timesheets.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/applications/services.md +17 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio/approval_rules.md +95 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio/automated_actions/webhooks.md +274 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio/automated_actions.md +354 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio/fields.md +547 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio/models_modules_apps.md +283 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio/pdf_reports.md +558 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio/views.md +363 -0
- package/payload/skills/odoo18-docs/references/docs/applications/studio.md +43 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/blog.md +128 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/cart.md +110 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/checkout.md +171 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/customer_accounts.md +45 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/order_handling.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/payments.md +55 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/performance.md +63 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products/catalog.md +200 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products/cross_upselling.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products/price_management.md +193 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products.md +400 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/shipping.md +124 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce.md +36 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/elearning.md +245 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/forum.md +394 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/chatbots.md +260 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/participate.md +98 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/ratings.md +147 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/reports.md +187 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/responses.md +182 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat.md +255 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/address_autocomplete.md +64 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/cdn.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/cookies_bar.md +58 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/domain_names.md +368 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/google_search_console.md +99 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/multi_website.md +152 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/spam_protection.md +149 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/translate.md +112 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/mail_groups.md +129 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/pages/menus.md +95 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/pages/seo.md +175 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/pages.md +194 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/reporting/analytics.md +178 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/reporting/link_tracker.md +74 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/reporting.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/dynamic_content.md +103 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/features.md +42 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/inner_content.md +36 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/structure.md +61 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks.md +165 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/elements.md +194 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/themes.md +164 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design.md +15 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites/website.md +66 -0
- package/payload/skills/odoo18-docs/references/docs/applications/websites.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/contributing/development/coding_guidelines.md +1305 -0
- package/payload/skills/odoo18-docs/references/docs/contributing/development/git_guidelines.md +142 -0
- package/payload/skills/odoo18-docs/references/docs/contributing/development.md +175 -0
- package/payload/skills/odoo18-docs/references/docs/contributing/documentation/content_guidelines.md +329 -0
- package/payload/skills/odoo18-docs/references/docs/contributing/documentation/rst_guidelines.md +1317 -0
- package/payload/skills/odoo18-docs/references/docs/contributing/documentation.md +300 -0
- package/payload/skills/odoo18-docs/references/docs/contributing/install_git.md +25 -0
- package/payload/skills/odoo18-docs/references/docs/developer/glossary.md +46 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/accounting_localization.md +305 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/company.md +224 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/connect_device.md +191 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/create_reports.md +119 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/frontend_owl_components.md +180 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/javascript_client_action.md +50 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/javascript_field.md +101 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/javascript_view.md +259 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/scss_tips.md +233 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/standalone_owl_application.md +166 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/translations.md +261 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/upgrade_custom_db.md +303 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/web_services.md +149 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/animations.md +166 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/building_blocks.md +1179 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/forms.md +126 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/going_live.md +70 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/gradients.md +57 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/layout.md +846 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/media.md +190 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/navigation.md +267 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/pages.md +373 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/setup.md +297 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/shapes.md +299 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/theming.md +896 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/translations.md +161 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes.md +41 -0
- package/payload/skills/odoo18-docs/references/docs/developer/howtos.md +112 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/actions.md +474 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/data.md +291 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/http.md +87 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/mixins.md +1060 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/module.md +159 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/orm/changelog.md +109 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/orm.md +1234 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/performance.md +448 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/reports.md +318 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/security.md +572 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/testing.md +958 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/backend.md +23 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/cli.md +965 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/external_api.md +1447 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/extract_api.md +563 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/assets.md +356 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/error_handling.md +568 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/framework_overview.md +633 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/hooks.md +341 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/javascript_modules.md +361 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/javascript_reference.md +1364 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/mobile.md +201 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/odoo_editor.md +227 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/owl_components.md +1095 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/patching_code.md +255 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/qweb.md +976 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/registries.md +298 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/services.md +886 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend.md +26 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_account.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_account_tag.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_fiscal_position.md +24 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_group.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_report.md +34 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_report_line.md +21 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_tax.md +30 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_tax_repartition.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_method.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_provider.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_token.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_transaction.md +28 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/upgrades/upgrade_scripts.md +108 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/upgrades/upgrade_utils.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/upgrades.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/icons.md +361 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/scss_inheritance.md +106 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_context.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_help.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_icon.md +19 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_name.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_string.md +18 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_type.md +31 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_name.md +22 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_readonly.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_required.md +20 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_string.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_class.md +39 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_column_invisible.md +22 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_groups.md +21 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_invisible.md +32 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_create.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_default_group_by.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_default_order.md +23 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_delete.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_edit.md +13 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_sample.md +21 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_string.md +14 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures.md +3899 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_records.md +366 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/developer/reference.md +23 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/backend.md +1332 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/define_module_data.md +404 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/discover_js_framework/01_owl_components.md +517 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/discover_js_framework/02_build_a_dashboard.md +458 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/discover_js_framework.md +48 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/importable_modules.md +931 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.md +426 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.md +446 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.md +192 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework.md +59 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/mixins.md +16 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/pdf_reports.md +291 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/restrict_data_access.md +500 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/01_architecture.md +131 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/02_newapp.md +100 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/03_basicmodel.md +298 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/04_securityintro.md +124 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/05_firstui.md +284 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/06_basicviews.md +242 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/07_relations.md +261 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/08_compute_onchange.md +298 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/09_actions.md +138 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/10_constraints.md +127 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/11_sprinkles.md +504 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/12_inheritance.md +248 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/13_other_module.md +170 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/14_qwebintro.md +129 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/15_final_word.md +32 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101.md +47 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/setup_guide.md +302 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/unit_tests.md +295 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/web.md +2275 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials/website.md +992 -0
- package/payload/skills/odoo18-docs/references/docs/developer/tutorials.md +92 -0
- package/payload/skills/odoo18-docs/references/url-mapping.json +3906 -0
- package/payload/skills/prd/SKILL.md +333 -0
- package/payload/skills/prd/agents/openai.yaml +6 -0
- package/payload/skills/prd/assets/icon-large.svg +1 -0
- package/payload/skills/prd/assets/icon-small.svg +5 -0
- package/payload/skills/prd/evals/evals.json +23 -0
- package/payload/skills/prd/references/output-template.md +197 -0
- package/payload/skills/prd/references/section-guide.md +191 -0
- package/payload/skills/review/SKILL.md +249 -0
- package/payload/skills/review/agents/openai.yaml +6 -0
- package/payload/skills/review/assets/icon-large.svg +1 -0
- package/payload/skills/review/assets/icon-small.svg +5 -0
- package/payload/skills/review/evals/evals.json +23 -0
- package/payload/skills/review/references/brd-checklist.md +43 -0
- package/payload/skills/review/references/gate-rules.md +73 -0
- package/payload/skills/review/references/output-template.md +43 -0
- package/payload/skills/review/references/prd-checklist.md +39 -0
- package/payload/skills/review/references/solution-checklist.md +37 -0
- package/payload/skills/review/references/trd-checklist.md +40 -0
- package/payload/skills/review/references/uat-checklist.md +38 -0
- package/payload/skills/solution/SKILL.md +389 -0
- package/payload/skills/solution/agents/openai.yaml +6 -0
- package/payload/skills/solution/assets/icon-large.svg +1 -0
- package/payload/skills/solution/assets/icon-small.svg +5 -0
- package/payload/skills/solution/references/modeling-guide.md +173 -0
- package/payload/skills/solution/references/output-template.md +229 -0
- package/payload/skills/translation/SKILL.md +259 -0
- package/payload/skills/translation/agents/openai.yaml +6 -0
- package/payload/skills/translation/assets/icon-large.svg +1 -0
- package/payload/skills/translation/assets/icon-small.svg +5 -0
- package/payload/skills/translation/scripts/translate.py +275 -0
- package/payload/skills/translation/tests/test_translate.py +124 -0
- package/payload/skills/trd/SKILL.md +340 -0
- package/payload/skills/trd/agents/openai.yaml +6 -0
- package/payload/skills/trd/assets/icon-large.svg +1 -0
- package/payload/skills/trd/assets/icon-small.svg +5 -0
- package/payload/skills/trd/evals/evals.json +23 -0
- package/payload/skills/trd/references/modeling-guide.md +212 -0
- package/payload/skills/trd/references/output-template.md +242 -0
- package/payload/skills/trd/references/section-guide.md +167 -0
- package/payload/skills/uat/SKILL.md +339 -0
- package/payload/skills/uat/agents/openai.yaml +6 -0
- package/payload/skills/uat/assets/icon-large.svg +1 -0
- package/payload/skills/uat/assets/icon-small.svg +5 -0
- package/payload/skills/uat/evals/evals.json +23 -0
- package/payload/skills/uat/references/output-template.md +158 -0
- package/payload/skills/uat/references/section-guide.md +165 -0
- package/payload/skills/view-dev/SKILL.md +167 -0
- package/payload/skills/view-dev/agents/openai.yaml +6 -0
- package/payload/skills/view-dev/assets/README.md +7 -0
- package/payload/skills/view-dev/assets/icon-large.svg +1 -0
- package/payload/skills/view-dev/assets/icon-small.svg +5 -0
- package/payload/skills/view-dev/references/actions.md +277 -0
- package/payload/skills/view-dev/references/activity.md +65 -0
- package/payload/skills/view-dev/references/calendar.md +92 -0
- package/payload/skills/view-dev/references/cohort.md +80 -0
- package/payload/skills/view-dev/references/common-architecture.md +35 -0
- package/payload/skills/view-dev/references/field-widgets.md +529 -0
- package/payload/skills/view-dev/references/form.md +520 -0
- package/payload/skills/view-dev/references/gantt.md +162 -0
- package/payload/skills/view-dev/references/graph.md +76 -0
- package/payload/skills/view-dev/references/grid.md +221 -0
- package/payload/skills/view-dev/references/kanban.md +232 -0
- package/payload/skills/view-dev/references/list.md +233 -0
- package/payload/skills/view-dev/references/mail-thread.md +504 -0
- package/payload/skills/view-dev/references/map.md +69 -0
- package/payload/skills/view-dev/references/orm-api.md +149 -0
- package/payload/skills/view-dev/references/pivot.md +109 -0
- package/payload/skills/view-dev/references/python-expressions.md +48 -0
- package/payload/skills/view-dev/references/qweb-templates.md +326 -0
- package/payload/skills/view-dev/references/qweb.md +53 -0
- package/payload/skills/view-dev/references/search.md +249 -0
- package/payload/skills/view-dev/references/security.md +306 -0
- package/payload/skills/view-dev/references/settings.md +140 -0
- package/payload/skills/view-dev/references/ui-icons.md +44 -0
- package/payload/skills/view-dev/references/view-records.md +171 -0
- package/payload/skills/view-dev/scripts/README.md +7 -0
- package/payload/skills/view-spec/SKILL.md +301 -0
- package/payload/skills/view-spec/agents/openai.yaml +6 -0
- package/payload/skills/view-spec/assets/icon-large.svg +1 -0
- package/payload/skills/view-spec/assets/icon-small.svg +5 -0
- package/payload/skills/view-spec/examples/sample-maintenance-request.md +304 -0
- package/payload/skills/view-spec/references/analytics-templates.md +161 -0
- package/payload/skills/view-spec/references/form-templates.md +237 -0
- package/payload/skills/view-spec/references/kanban-templates.md +127 -0
- package/payload/skills/view-spec/references/layout-rules.md +427 -0
- package/payload/skills/view-spec/references/list-templates.md +128 -0
- package/payload/skills/view-spec/references/search-templates.md +177 -0
- package/payload/skills/view-spec/references/settings-templates.md +115 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# 搜索
|
|
2
|
+
|
|
3
|
+
> 来源:`docs/obsidian/07 知识库/odoo文档/03_开发者/03_参考/03_用户界面/02_视图架构.md`
|
|
4
|
+
> 原文章节:`## 搜索`
|
|
5
|
+
>
|
|
6
|
+
> 本文件从原始文档中拆分而来,以下内容尽量保留原文,仅做拆分与轻量排版。
|
|
7
|
+
|
|
8
|
+
搜索视图只用于筛选另一视图的记录(通常是列表或图表),自身不直接展示内容。它的根元素是 `search`,不接受任何属性,所有行为由内部的字段、过滤器、分组等元素决定。
|
|
9
|
+
|
|
10
|
+
> [!note]
|
|
11
|
+
> 原文包含搜索视图结构示意图(`search.svg`)。
|
|
12
|
+
> ```xml
|
|
13
|
+
> <search>
|
|
14
|
+
> ...
|
|
15
|
+
> </search>
|
|
16
|
+
> ```
|
|
17
|
+
>
|
|
18
|
+
## 目录
|
|
19
|
+
|
|
20
|
+
- [搜索视图简介](#搜索视图简介)
|
|
21
|
+
- [组件](#组件)
|
|
22
|
+
- [field:基于字段值进行过滤](#field基于字段值进行过滤)
|
|
23
|
+
- [filter:创建预定义过滤器](#filter创建预定义过滤器)
|
|
24
|
+
- [separator:分隔过滤器组](#separator分隔过滤器组)
|
|
25
|
+
- [group:分隔过滤器组](#group分隔过滤器组)
|
|
26
|
+
- [searchpanel:显示搜索面板](#searchpanel显示搜索面板)
|
|
27
|
+
- [searchpanel 字段属性](#searchpanel字段属性)
|
|
28
|
+
- [搜索默认值](#搜索默认值)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 搜索视图简介
|
|
33
|
+
|
|
34
|
+
`search` 的子元素决定 UI 上展示的控件:是直接显示多个字段,还是把过滤器嵌套在下拉中。搜索视图常与 `actions` 中的默认 `domain`/`context`、`group_by` 以及 `search_default_*` 结合,形成打开界面时的默认筛选。
|
|
35
|
+
|
|
36
|
+
## 组件
|
|
37
|
+
|
|
38
|
+
搜索视图支持以下子元素,它们也会影响搜索面板或过滤器下拉的结构:
|
|
39
|
+
|
|
40
|
+
- `field`:基于字段值构建过滤限定。
|
|
41
|
+
- `filter`:预定义过滤器,支持默认启用、日期周期、分组等。
|
|
42
|
+
- `separator`:在连续过滤器之间插入视觉断点。
|
|
43
|
+
- `group`:为多个过滤器创建分组或复杂布局。
|
|
44
|
+
- `searchpanel`:在多记录视图左侧展示快速筛选栏。
|
|
45
|
+
|
|
46
|
+
### field:基于字段值进行过滤
|
|
47
|
+
|
|
48
|
+
`field` 元素将用户输入转换为搜索域,默认形式为 `[(name, operator, value)]`,多个字段以 `AND` 组合。
|
|
49
|
+
|
|
50
|
+
| 属性 | 说明 | 类型 | 默认 | 备注 |
|
|
51
|
+
| --- | --- | --- | --- | --- |
|
|
52
|
+
| `name` | 要过滤的字段名称 | `string` | 必填 | |
|
|
53
|
+
| `string` | 字段标签 | `string` | 模型字段的 `string` 属性 | |
|
|
54
|
+
| `operator` | 覆盖默认运算符,如 `=`、`ilike`、`child_of` 等 | `string` | 取决于字段类型 | |
|
|
55
|
+
| `filter_domain` | 使用 `self` 构建的自定义域,优先级高于 `operator` | `Python 表达式` | `[]` | 适合跨字段或有特殊逻辑的筛选 |
|
|
56
|
+
| `context` | 合并到目标视图的上下文,可用 `self` 读取输入值 | `Python 表达式` | `{}` | |
|
|
57
|
+
| `completion_domain` | 自动完成功能(如 Many2one)返回结果的额外域 | `Python 表达式` | `[]` | |
|
|
58
|
+
| `groups` | 以逗号分隔的用户组列表,支持 `!` 排除 | `string` | `''` | 例如 `groups="base.group_no_one,!base.group_multi_company"` |
|
|
59
|
+
| `invisible` | 控制是否显示,`False` 为可见 | `Python 表达式` | `False` | 可用于提前加载字段供表达式引用 |
|
|
60
|
+
|
|
61
|
+
> [!note]
|
|
62
|
+
> `invisible` 有两个用途:
|
|
63
|
+
>
|
|
64
|
+
> - 提高可读性,避免视图过载;
|
|
65
|
+
> - 提前在视图中定义字段,以便在表达式中使用。
|
|
66
|
+
|
|
67
|
+
> [!example]
|
|
68
|
+
> ```xml
|
|
69
|
+
> <field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
|
|
70
|
+
> <group invisible="fname_c != 4">
|
|
71
|
+
> <field name="fname_c"/>
|
|
72
|
+
> <field name="fname_d"/>
|
|
73
|
+
> </group>
|
|
74
|
+
> ```
|
|
75
|
+
|
|
76
|
+
> [!note]
|
|
77
|
+
> 原文包含 `field` 用法示意图(`search_field.svg`)。
|
|
78
|
+
> ```xml
|
|
79
|
+
> <search>
|
|
80
|
+
> <field name="name" string="My Custom Name"/>
|
|
81
|
+
> <field name="amount"/>
|
|
82
|
+
> <field name="currency_id"/>
|
|
83
|
+
> <field name="ref" filter_domain="[('name', 'like', self)]"/>
|
|
84
|
+
> </search>
|
|
85
|
+
> ```
|
|
86
|
+
|
|
87
|
+
### filter:创建预定义过滤器
|
|
88
|
+
|
|
89
|
+
`filter` 元素可以定义常用筛选、设置默认启用项,或为上下文/分组提供额外数据。
|
|
90
|
+
|
|
91
|
+
| 属性 | 说明 | 类型 | 默认 | 备注 |
|
|
92
|
+
| --- | --- | --- | --- | --- |
|
|
93
|
+
| `name` | 技术名称,可被 `search_default_*` 或继承引用 | `string` | 必填 | |
|
|
94
|
+
| `string` | 显示标签 | `string` | 必填 | |
|
|
95
|
+
| `help` | 悬浮提示 | `string` | `''` | |
|
|
96
|
+
| `domain` | 附加到操作域的 Python 表达式 | `Python 表达式` | `[]` | 记录必须满足 |
|
|
97
|
+
| `date` | 绑定 `date`/`datetime` 字段,以生成时间相关子项 | `string` | `''` | 需要具备时间信息的字段 |
|
|
98
|
+
| `start_month` | 日期过滤器可选的最早月份(相对当前月) | `int` | `-2` | 仅对设置 `date` 的过滤器生效 |
|
|
99
|
+
| `end_month` | 日期过滤器可选的最晚月份(相对当前月) | `int` | `0` | |
|
|
100
|
+
| `start_year` | 日期过滤器可选的最早年份(相对当前年) | `int` | `-2` | |
|
|
101
|
+
| `end_year` | 日期过滤器可选的最晚年份(相对当前年) | `int` | `0` | |
|
|
102
|
+
| `default_period` | 默认开启的周期或 `custom_*` 过滤器 ID | `string` | `month`(不可用则取最近月份) | 可选值:`第一季度`/`第二季度`/`第三季度`/`第四季度`/`month±x`/`year±x`/同级自定义过滤器名称(需加 `custom_`) |
|
|
103
|
+
| `invisible` | 控制是否显示 | `Python 表达式` | `False` | 同 `field` 的用例 |
|
|
104
|
+
| `groups` | 界定可见组,支持 `!` 排除 | `string` | `''` | |
|
|
105
|
+
| `context` | 合并到上下文,可用于 `group_by` 等 | `Python 表达式` | `{}` | 通过 `context={'group_by': 'field_id:interval'}` 控制分组;`read_groups` 可能受 `group_expand` 影响 |
|
|
106
|
+
|
|
107
|
+
> [!note]
|
|
108
|
+
> `invisible` 可用于避免界面拥挤,也可为表达式预留字段。
|
|
109
|
+
|
|
110
|
+
> [!example]
|
|
111
|
+
> ```xml
|
|
112
|
+
> <field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
|
|
113
|
+
> <group invisible="fname_c != 4">
|
|
114
|
+
> <field name="fname_c"/>
|
|
115
|
+
> <field name="fname_d"/>
|
|
116
|
+
> </group>
|
|
117
|
+
> ```
|
|
118
|
+
|
|
119
|
+
> [!example]
|
|
120
|
+
> ```xml
|
|
121
|
+
> <field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
|
|
122
|
+
> ```
|
|
123
|
+
|
|
124
|
+
> [!note]
|
|
125
|
+
> `read_groups` 结果在分组时可能受 `group_expand` 影响,导致出现空分组。详情见 `odoo.fields.Field` 相关文档。
|
|
126
|
+
|
|
127
|
+
> [!warning]
|
|
128
|
+
> 过滤器之间若未用 `separator`/`group` 或其他元素分隔,会被视为包容组合,最终通过 `OR` 而非默认的 `AND`。
|
|
129
|
+
|
|
130
|
+
> [!example]
|
|
131
|
+
> ```xml
|
|
132
|
+
> <filter domain="[('state', '=', 'draft')]"/>
|
|
133
|
+
> <filter domain="[('state', '=', 'done')]"/>
|
|
134
|
+
> ```
|
|
135
|
+
> `state` 为 `draft` 或 `done` 的记录都会展示。
|
|
136
|
+
|
|
137
|
+
> [!example]
|
|
138
|
+
> ```xml
|
|
139
|
+
> <filter domain="[('state', '=', 'draft')]"/>
|
|
140
|
+
> <separator/>
|
|
141
|
+
> <filter domain="[('delay', '<', 15)]"/>
|
|
142
|
+
> ```
|
|
143
|
+
> `state` 为 `draft` 且 `delay < 15` 的记录才会展示。
|
|
144
|
+
|
|
145
|
+
> [!note]
|
|
146
|
+
> 原文包含 `filter` 用法示意图(`search_filter.svg`)。
|
|
147
|
+
> ```xml
|
|
148
|
+
> <search>
|
|
149
|
+
> <filter string="My Custom Name" domain="[('name', 'ilike', 'AAA')]"/>
|
|
150
|
+
> <filter string="My orders" domain="[('user_id', '=', uid)]"/>
|
|
151
|
+
> <filter string="Category" context="{'group_by': 'category_id'}"/>
|
|
152
|
+
> </search>
|
|
153
|
+
> ```
|
|
154
|
+
|
|
155
|
+
### separator:分隔过滤器组
|
|
156
|
+
|
|
157
|
+
`separator` 在简单搜索视图中提供视觉间隔,避免过滤器拥挤。更复杂的布局建议使用 `group`。
|
|
158
|
+
|
|
159
|
+
```xml
|
|
160
|
+
<search>
|
|
161
|
+
<FILTERS/>
|
|
162
|
+
<separator/>
|
|
163
|
+
<FILTERS/>
|
|
164
|
+
</search>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
`separator` 无属性可设置。
|
|
168
|
+
|
|
169
|
+
### group:分隔过滤器组
|
|
170
|
+
|
|
171
|
+
`group` 可容纳多个过滤器、按钮或说明,用于更丰富的搜索结构。
|
|
172
|
+
|
|
173
|
+
```xml
|
|
174
|
+
<search>
|
|
175
|
+
<group>
|
|
176
|
+
<FILTERS/>
|
|
177
|
+
</group>
|
|
178
|
+
</search>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`group` 也没有额外属性。
|
|
182
|
+
|
|
183
|
+
### searchpanel:显示搜索面板
|
|
184
|
+
|
|
185
|
+
`searchpanel` 在多记录视图(如列表)左侧渲染快速筛选栏,仅允许 `field` 子元素。
|
|
186
|
+
|
|
187
|
+
```xml
|
|
188
|
+
<search>
|
|
189
|
+
<searchpanel>
|
|
190
|
+
<FIELDS/>
|
|
191
|
+
</searchpanel>
|
|
192
|
+
</search>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
#### searchpanel 字段属性
|
|
196
|
+
|
|
197
|
+
| 属性 | 说明 | 类型 | 默认 | 备注 |
|
|
198
|
+
| --- | --- | --- | --- | --- |
|
|
199
|
+
| `name` | 要筛选的字段 | `string` | 必填 | |
|
|
200
|
+
| `string` | 字段标签 | `string` | 模型字段的 `string` 属性 | |
|
|
201
|
+
| `select` | 控制可选值模式,`one` 允许单选,`multi` 允许多选 | `string` | `one` | `one` 适用于 `many2one`/`selection`,`multi` 还支持 `many2many`;决定是否生成值计数器 |
|
|
202
|
+
| `groups` | 控制可见用户组,支持 `!` 排除 | `string` | `''` | |
|
|
203
|
+
| `icon` | 字段图标 | `string` | `''` | |
|
|
204
|
+
| `color` | 字段颜色 | `string` | `''` | |
|
|
205
|
+
| `domain` | 附加域,记录必须满足 | `Python 表达式` | `[]` | |
|
|
206
|
+
| `limit` | 单字段可获取值的最大数量,超出显示错误;`0` 表示无限 | `int` | `200` | 用于规避性能问题,亦可重写 `search_panel_select_range`/`search_panel_select_multi_range` |
|
|
207
|
+
| `context` | 合并上下文,可控制 `group_by`、`group_expand` 等 | `Python 表达式` | `{}` | 只在 `many2one`/`many2many` 上有效,常用于 `context={'group_by': 'field_id:interval'}` |
|
|
208
|
+
|
|
209
|
+
`select="one"` 字段可以选择在父节点下展示子类别还是直接平铺;`select="multi"` 字段可启用计数器,只在计数器非零时展示结果。
|
|
210
|
+
|
|
211
|
+
> [!tip]
|
|
212
|
+
> 通过 `limit` 控制数量是避免性能下降的常用手段,另一种解决方案是重写 `search_panel_select_range`/`search_panel_select_multi_range`。
|
|
213
|
+
>
|
|
214
|
+
> [!example]
|
|
215
|
+
> ```xml
|
|
216
|
+
> <searchpanel>
|
|
217
|
+
> <field name="department_id"/>
|
|
218
|
+
> <field name="manager_id" select="multi" domain="[('department_id', '=', department_id)]"/>
|
|
219
|
+
> </searchpanel>
|
|
220
|
+
> ```
|
|
221
|
+
|
|
222
|
+
## 搜索默认值
|
|
223
|
+
|
|
224
|
+
可以通过操作上下文的 `search_default_*name*` 键预设字段或过滤器。
|
|
225
|
+
|
|
226
|
+
- 字段:值即写入字段的内容。
|
|
227
|
+
- 过滤器:值为布尔值或数字。
|
|
228
|
+
|
|
229
|
+
> [!example]
|
|
230
|
+
> 对于字段 `foo` 和过滤器 `bar`,以下上下文会在 `acro` 上搜索 `foo` 并默认启用 `bar`:
|
|
231
|
+
>
|
|
232
|
+
> ```python
|
|
233
|
+
> {
|
|
234
|
+
> 'search_default_foo': 'acro',
|
|
235
|
+
> 'search_default_bar': 1
|
|
236
|
+
> }
|
|
237
|
+
> ```
|
|
238
|
+
|
|
239
|
+
可以使用 1 到 99 的数值设置默认 `groupby` 过滤器的启用顺序。
|
|
240
|
+
|
|
241
|
+
> [!example]
|
|
242
|
+
> 对于 `groupby` 过滤器 `foo` 和 `bar`,以下上下文会先启用 `bar`,再启用 `foo`:
|
|
243
|
+
>
|
|
244
|
+
> ```python
|
|
245
|
+
> {
|
|
246
|
+
> 'search_default_foo': 2,
|
|
247
|
+
> 'search_default_bar': 1
|
|
248
|
+
> }
|
|
249
|
+
> ```
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
# Odoo 中的安全性
|
|
2
|
+
|
|
3
|
+
> 来源:`https://docs.odoo.sbggai.top/developer/reference/backend/security.html`
|
|
4
|
+
>
|
|
5
|
+
> 本文件整理了官方安全参考的关键机制,尽量保留原文示例并在排版上做轻度拆分以便查阅。
|
|
6
|
+
|
|
7
|
+
Odoo 除了可以在代码中显式判断权限外,还提供两套数据驱动机制来控制对数据的访问:*访问权限(ACL)* 和 *记录规则*。它们都与组关联,一个用户可以属于多个组,组定义的 ACL/规则会联合起来决定他能读、写、创建、删除哪些模型或记录。
|
|
8
|
+
|
|
9
|
+
## 目录
|
|
10
|
+
|
|
11
|
+
- [组](#组)
|
|
12
|
+
- [访问权限](#访问权限)
|
|
13
|
+
- [记录规则](#记录规则)
|
|
14
|
+
- [规则变量](#规则变量)
|
|
15
|
+
- [字段访问](#字段访问)
|
|
16
|
+
- [安全陷阱](#安全陷阱)
|
|
17
|
+
- [SQL 注入](#sql-注入)
|
|
18
|
+
- [未转义的字段内容](#未转义的字段内容)
|
|
19
|
+
- [转义与清理](#转义与清理)
|
|
20
|
+
- [评估内容](#评估内容)
|
|
21
|
+
- [访问对象属性](#访问对象属性)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 组
|
|
26
|
+
|
|
27
|
+
组是 Odoo 安全配置的基础承载对象。访问权限、记录规则和字段级限制都会围绕组来组合与复用。
|
|
28
|
+
|
|
29
|
+
| 字段 | 说明 |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| `name` | 组的用户可读名称,用于说明角色或职责。 |
|
|
32
|
+
| `category_id` | 模块类别,用于在用户表单中组织组选项,常表现为互斥选择。 |
|
|
33
|
+
| `implied_ids` | 隐式包含的其他组,可理解为便捷继承,用于复用已有权限组合。 |
|
|
34
|
+
| `comment` | 对组用途、边界或使用方式的补充说明。 |
|
|
35
|
+
|
|
36
|
+
> [!note]
|
|
37
|
+
> `implied_ids` 只是便捷继承。被隐含的组仍然可以在用户身上显式移除。
|
|
38
|
+
|
|
39
|
+
## 访问权限
|
|
40
|
+
|
|
41
|
+
访问权限(ACL)直接将某个组与模型的读/写/创建/删除操作绑定:只要当前用户所属的任一组授予某项操作,他就能执行该操作。它们的权限是累加的,跨组组合成并集。
|
|
42
|
+
|
|
43
|
+
| 字段 | 说明 |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| `perm_read` | 是否允许读取模型数据。 |
|
|
46
|
+
| `perm_write` | 是否允许更新该模型的记录。 |
|
|
47
|
+
| `perm_create` | 是否允许创建新记录。 |
|
|
48
|
+
| `perm_unlink` | 是否允许删除记录。 |
|
|
49
|
+
| `group_id` | 绑定到某个组(空值表示授予所有用户)。 |
|
|
50
|
+
|
|
51
|
+
访问权限以 `perm_*` 属性设置,默认不选中任何项(即所有 CRUD 操作都必须显式打开)。空的 `group_id` 表示非员工(例如门户或公共用户)也会被覆盖。
|
|
52
|
+
|
|
53
|
+
## 记录规则
|
|
54
|
+
|
|
55
|
+
记录规则是可选的“域过滤器”,它们在访问权限判断之后逐条评估:只要某条规则的域与记录匹配,就允许选定的操作;未匹配时则拒绝。规则可以绑定一个或多个组,也可以是*全局*规则(没有组约束)。
|
|
56
|
+
|
|
57
|
+
| 字段 | 说明 |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| `name` | 规则名称(可选)。 |
|
|
60
|
+
| `model_id` | 规则适用的模型。 |
|
|
61
|
+
| `domain_force` | 用于匹配记录的域(Python 表达式)。 |
|
|
62
|
+
| `perm_*` | `perm_read`/`perm_create`/`perm_write`/`perm_unlink`,指定该规则针对哪些操作生效。 |
|
|
63
|
+
| `groups` | 规则生效的组;为空表示全局规则。 |
|
|
64
|
+
|
|
65
|
+
规则使用 `groups` 构建权限的 *并集*:只要满足其中之一即可通过。如果某条规则没有组,它会作为 *全局规则* 参与交集逻辑(即所有全局规则必须同时满足)。
|
|
66
|
+
|
|
67
|
+
### 全局规则与组规则
|
|
68
|
+
|
|
69
|
+
- 全局规则之间是*交集*关系:若多条全局规则同时适用,则必须全部满足。
|
|
70
|
+
- 组规则之间是*并集*关系:若多条组规则适用,满足其中之一即可放行。
|
|
71
|
+
- 全局规则集与组规则集之间仍是*交集*关系:第一条组规则加入后,访问范围仍受全局规则上界限制。
|
|
72
|
+
|
|
73
|
+
> [!note]
|
|
74
|
+
> 添加多个全局规则时要小心,因为它们的交集可能完全排除所有访问权限。
|
|
75
|
+
|
|
76
|
+
## 规则变量
|
|
77
|
+
|
|
78
|
+
许多记录规则依赖上下文变量来构造域表达式,以下变量在规则中可直接引用:
|
|
79
|
+
|
|
80
|
+
| 变量 | 说明 |
|
|
81
|
+
| --- | --- |
|
|
82
|
+
| `time` | Python 的 [`time`](https://docs.python.org/3/library/time.html#module-time) 模块。 |
|
|
83
|
+
| `user` | 当前用户(`res.users` 实例)。 |
|
|
84
|
+
| `company_id` | 当前选择的公司 ID。 |
|
|
85
|
+
| `company_ids` | 当前用户有权访问的公司 ID 列表;多公司场景下通常要结合对应的安全规则一起理解。 |
|
|
86
|
+
|
|
87
|
+
规则中的 `perm_*method*` 与 ACL 中的字段语义不同,它指定的是 *该规则* 针对哪些操作进行评估;未选中的操作会被忽略。默认情况下所有 CRUD 操作都被选中。
|
|
88
|
+
|
|
89
|
+
## 字段访问
|
|
90
|
+
|
|
91
|
+
字段可以通过 `groups` 属性绑定到某些组。若用户不属于该组:
|
|
92
|
+
|
|
93
|
+
- 该字段会从请求的视图中移除(视图渲染时自动过滤)。
|
|
94
|
+
- 它也会从 `fields_get()` 的响应中省略。
|
|
95
|
+
- 任何显式的读写尝试都会抛出访问错误。
|
|
96
|
+
|
|
97
|
+
## 安全陷阱
|
|
98
|
+
|
|
99
|
+
理解常见的漏洞模式有助于编写安全的业务逻辑。
|
|
100
|
+
|
|
101
|
+
### 不安全的公共方法
|
|
102
|
+
|
|
103
|
+
所有公开方法都可以通过 RPC / 外部 API 调用,因此不要信任传入记录和参数(ACL 仅在 CRUD 期间生效)。
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
# this method is public and its arguments can not be trusted
|
|
107
|
+
def action_done(self):
|
|
108
|
+
if self.state == "draft" and self.env.user.has_group('base.manager'):
|
|
109
|
+
self._set_state("done")
|
|
110
|
+
|
|
111
|
+
# this method is private and can only be called from other python methods
|
|
112
|
+
def _set_state(self, new_state):
|
|
113
|
+
self.sudo().write({"state": new_state})
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
即使方法名以 `_` 开头,也需要额外的限制(例如 `sudo` / `check_access_rule`)来防止绕过 ACL。
|
|
117
|
+
|
|
118
|
+
### 绕过 ORM
|
|
119
|
+
|
|
120
|
+
直接使用数据库游标会绕过 ORM 提供的自动化(翻译、`active`、访问权限等),还可能让代码更难维护。
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
# very very wrong
|
|
124
|
+
self.env.cr.execute('SELECT id FROM auction_lots WHERE auction_id in (' + ','.join(map(str, ids))+') AND state=%s AND obj_price > 0', ('draft',))
|
|
125
|
+
auction_lots_ids = [x[0] for x in self.env.cr.fetchall()]
|
|
126
|
+
|
|
127
|
+
# no injection, but still wrong
|
|
128
|
+
self.env.cr.execute('SELECT id FROM auction_lots WHERE auction_id in %s '\
|
|
129
|
+
'AND state=%s AND obj_price > 0', (tuple(ids), 'draft',))
|
|
130
|
+
auction_lots_ids = [x[0] for x in self.env.cr.fetchall()]
|
|
131
|
+
|
|
132
|
+
# better
|
|
133
|
+
auction_lots_ids = self.search([('auction_id','in',ids), ('state','=','draft'), ('obj_price','>',0)])
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### SQL 注入
|
|
137
|
+
|
|
138
|
+
不要拼接字符串构造 SQL,始终让 psycopg2 或 ORM 处理参数化。
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
# the following is very bad:
|
|
142
|
+
self.env.cr.execute('SELECT distinct child_id FROM account_account_consol_rel ' +
|
|
143
|
+
'WHERE parent_id IN ('+','.join(map(str, ids))+')')
|
|
144
|
+
|
|
145
|
+
# better
|
|
146
|
+
self.env.cr.execute('SELECT DISTINCT child_id '\
|
|
147
|
+
'FROM account_account_consol_rel '\
|
|
148
|
+
'WHERE parent_id IN %s',
|
|
149
|
+
(tuple(ids),))
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
参考 psycopg2 文档(链接请参阅原文)了解参数化细节。
|
|
153
|
+
|
|
154
|
+
- [查询参数的问题](http://initd.org/psycopg/docs/usage.html#the-problem-with-the-query-parameters)
|
|
155
|
+
- [如何使用 psycopg2 传递参数](http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries)
|
|
156
|
+
- [高级参数类型](http://initd.org/psycopg/docs/usage.html#adaptation-of-python-values-to-sql-types)
|
|
157
|
+
- [Psycopg 文档](https://www.psycopg.org/docs/sql.html)
|
|
158
|
+
|
|
159
|
+
### 未转义的字段内容
|
|
160
|
+
|
|
161
|
+
切勿用 `t-raw` 渲染来自用户的富文本,因为它们不会自动转义。
|
|
162
|
+
|
|
163
|
+
```javascript
|
|
164
|
+
QWeb.render('insecure_template', {
|
|
165
|
+
info_message: "You have an <strong>important</strong> notification",
|
|
166
|
+
})
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
```xml
|
|
170
|
+
<div t-name="insecure_template">
|
|
171
|
+
<div id="information-bar"><t t-raw="info_message" /></div>
|
|
172
|
+
</div>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
一旦模板里直接插入 `<strong>` 和用户输入,就会造成 XSS 风险,哪怕它最初看似安全。
|
|
176
|
+
|
|
177
|
+
更安全的做法是把文本内容和表现样式拆开:
|
|
178
|
+
|
|
179
|
+
```javascript
|
|
180
|
+
QWeb.render('secure_template', {
|
|
181
|
+
message: "You have an important notification on the product:",
|
|
182
|
+
subject: product.name,
|
|
183
|
+
})
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
```xml
|
|
187
|
+
<div t-name="secure_template">
|
|
188
|
+
<div id="information-bar">
|
|
189
|
+
<div class="info"><t t-esc="message" /></div>
|
|
190
|
+
<div class="subject"><t t-esc="subject" /></div>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
```css
|
|
196
|
+
.subject {
|
|
197
|
+
font-weight: bold;
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 使用 `Markup` 构造安全内容
|
|
202
|
+
|
|
203
|
+
`Markup` 类型会自动转义参数,因此可以在格式化字符串前用它包裹模板。
|
|
204
|
+
|
|
205
|
+
```pycon
|
|
206
|
+
>>> Markup('<em>Hello</em> ') + '<foo>'
|
|
207
|
+
Markup('<em>Hello</em> <foo>')
|
|
208
|
+
>>> Markup('<em>Hello</em> %s') % '<foo>'
|
|
209
|
+
Markup('<em>Hello</em> <foo>')
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
不过,这会在某些组合中带来怪异结果,使用时要保持小心,例如:
|
|
213
|
+
|
|
214
|
+
```pycon
|
|
215
|
+
>>> Markup('<a>').replace('>', 'x')
|
|
216
|
+
Markup('<a>')
|
|
217
|
+
>>> Markup('<a>').replace(Markup('>'), 'x')
|
|
218
|
+
Markup('<ax')
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
> [!tip]
|
|
222
|
+
> 大多数安全 API 本身就会返回带有内置特性的 `Markup`。
|
|
223
|
+
|
|
224
|
+
`escape`(`html_escape`)将任意字符串转成 `Markup` 并转义内容。
|
|
225
|
+
|
|
226
|
+
```python
|
|
227
|
+
def get_name(self, to_html=False):
|
|
228
|
+
if to_html:
|
|
229
|
+
return Markup("<strong>%s</strong>") % self.name # escape the name
|
|
230
|
+
else:
|
|
231
|
+
return self.name
|
|
232
|
+
|
|
233
|
+
>>> record.name = "<R&D>"
|
|
234
|
+
>>> escape(record.get_name())
|
|
235
|
+
Markup("<R&D>")
|
|
236
|
+
>>> escape(record.get_name(True))
|
|
237
|
+
Markup("<strong><R&D></strong>")
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### 转义与清理
|
|
241
|
+
|
|
242
|
+
> [!warning]
|
|
243
|
+
> 只要混合数据与代码,转义就是必须的;这不仅是安全问题,也是正确性问题。
|
|
244
|
+
|
|
245
|
+
**转义** 将文本转换为代码,把用户数据安全地插入模板。只要混合数据与模板,就必须转义。
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
>>> from odoo.tools import html_escape, html_sanitize
|
|
249
|
+
>>> data = "<R&D>"
|
|
250
|
+
>>> code = html_escape(data)
|
|
251
|
+
>>> self.website_description = Markup("<strong>%s</strong>") % code
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**清理** 是在转义之后再处理*代码*,用于剥除不受信任的模式(例如删除 `style`)。它不会对文本起作用,因此只有在代码确实来自用户并且需要剪裁时才用。
|
|
255
|
+
|
|
256
|
+
```python
|
|
257
|
+
>>> html_sanitize(data)
|
|
258
|
+
Markup('')
|
|
259
|
+
>>> html_sanitize(code)
|
|
260
|
+
Markup('<p><R&D></p>')
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
```python
|
|
264
|
+
>>> html_sanitize(code, strip_classes=True)
|
|
265
|
+
Markup('<p>Important Information</p>')
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### 评估内容
|
|
269
|
+
|
|
270
|
+
千万别用 `eval` 解析用户数据,可以改用 `safe_eval` 或更安全的 `literal_eval`:
|
|
271
|
+
|
|
272
|
+
```python
|
|
273
|
+
# very bad
|
|
274
|
+
domain = eval(self.filter_domain)
|
|
275
|
+
|
|
276
|
+
# better but still not recommended
|
|
277
|
+
from odoo.tools import safe_eval
|
|
278
|
+
domain = safe_eval(self.filter_domain)
|
|
279
|
+
|
|
280
|
+
# good
|
|
281
|
+
from ast import literal_eval
|
|
282
|
+
domain = literal_eval(self.filter_domain)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
| 语言 | 数据类型 | 推荐解析器 |
|
|
286
|
+
| --- | --- | --- |
|
|
287
|
+
| Python | 整数/浮点等 | `int()` / `float()` / `literal_eval()` |
|
|
288
|
+
| JavaScript | 对象、列表等 | `JSON.parse()` |
|
|
289
|
+
|
|
290
|
+
### 访问对象属性
|
|
291
|
+
|
|
292
|
+
避免直接使用 `getattr`/`setattr` 访问任意字段,它们会绕过访问控制。可以改用记录集的 `__getitem__`:
|
|
293
|
+
|
|
294
|
+
```python
|
|
295
|
+
# unsafe retrieval
|
|
296
|
+
def _get_state_value(self, res_id, state_field):
|
|
297
|
+
record = self.sudo().browse(res_id)
|
|
298
|
+
return getattr(record, state_field, False)
|
|
299
|
+
|
|
300
|
+
# better retrieval
|
|
301
|
+
def _get_state_value(self, res_id, state_field):
|
|
302
|
+
record = self.sudo().browse(res_id)
|
|
303
|
+
return record[state_field]
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
无论哪个方法,都要对 ID/字段进行额外校验。
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# 设置
|
|
2
|
+
|
|
3
|
+
> 来源:`docs/obsidian/07 知识库/odoo文档/03_开发者/03_参考/03_用户界面/02_视图架构.md`
|
|
4
|
+
> 原文章节:`## 设置`
|
|
5
|
+
>
|
|
6
|
+
> 本文件从原始文档中拆分而来,以下内容尽量保留原文,仅做拆分与轻量排版。
|
|
7
|
+
|
|
8
|
+
设置视图是表单视图的一种定制,它们在集中位置显示设置配置条目,内置搜索栏与侧边栏(应用导航)。
|
|
9
|
+
|
|
10
|
+
> [!example]
|
|
11
|
+
> ```xml
|
|
12
|
+
> <app string="CRM" name="crm">
|
|
13
|
+
> <setting type="header" string="Foo">
|
|
14
|
+
> <field name="foo" title="Foo?."/>
|
|
15
|
+
> <button name="nameAction" type="object" string="Button"/>
|
|
16
|
+
> </setting>
|
|
17
|
+
> <block title="Title of group Bar">
|
|
18
|
+
> <setting help="this is bar" documentation="/applications/technical/web/settings/this_is_a_test.html">
|
|
19
|
+
> <field name="bar"/>
|
|
20
|
+
> </setting>
|
|
21
|
+
> <setting string="This is Big BAR" company_specific="1">
|
|
22
|
+
> <field name="bar"/>
|
|
23
|
+
> </setting>
|
|
24
|
+
> </block>
|
|
25
|
+
> <block title="Title of group Foo">
|
|
26
|
+
> <setting string="Personalize setting" help="this is a full personalize setting">
|
|
27
|
+
> <div>This is a different setting</div>
|
|
28
|
+
> </setting>
|
|
29
|
+
> </block>
|
|
30
|
+
> </app>
|
|
31
|
+
> ```
|
|
32
|
+
|
|
33
|
+
## 目录
|
|
34
|
+
|
|
35
|
+
- [设置视图简介](#设置视图简介)
|
|
36
|
+
- [组件](#组件)
|
|
37
|
+
- [`app`:声明应用程序](#app声明应用程序)
|
|
38
|
+
- [`block`:声明一组设置](#block声明一组设置)
|
|
39
|
+
- [`setting`:声明设置](#setting声明设置)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 设置视图简介
|
|
44
|
+
|
|
45
|
+
设置视图继承表单视图的语义组件,但额外引入搜索/侧边栏结构,方便在单个页面中编辑多组设置。
|
|
46
|
+
|
|
47
|
+
## 组件
|
|
48
|
+
|
|
49
|
+
设置视图接受表单视图中的 `field`、`label`、`button` 元素,以及三个额外子元素:`app`、`block`、`setting`。占位符以全大写字母表示。
|
|
50
|
+
|
|
51
|
+
### `app`:声明应用程序
|
|
52
|
+
|
|
53
|
+
`app` 元素在设置视图的侧边栏中注册一个应用项,并充当搜索时的分隔符。
|
|
54
|
+
|
|
55
|
+
```xml
|
|
56
|
+
<form>
|
|
57
|
+
<app string="NAME" name="TECHNICAL_NAME">
|
|
58
|
+
...
|
|
59
|
+
</app>
|
|
60
|
+
</form>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
| 属性 | 说明 | 类型 | 默认 | 备注 |
|
|
64
|
+
| --- | --- | --- | --- | --- |
|
|
65
|
+
| `string` | 应用在界面中显示的名称 | `string` | `''` | 必填 |
|
|
66
|
+
| `name` | 应用的技术名称(通常与模块名一致) | `string` | `''` | 必填,用于计算图标路径 |
|
|
67
|
+
| `icon` | 相对于模块的图标路径 | `string` | `/*name*/static/description/icon.png` | 默认使用 `name` 生成的路径 |
|
|
68
|
+
| `groups` | 仅对这些组可见,可用 `!` 前缀排除 | `string` | `''` | 示例:`base.group_no_one,!base.group_multi_company` |
|
|
69
|
+
| `invisible` | 控制是否隐藏 | `Python 表达式` | `False` | 与其他视图组件一致,支持 `True`/`False` 表达式 |
|
|
70
|
+
|
|
71
|
+
> [!note]
|
|
72
|
+
> `invisible` 属性既用来控制可用性(避免界面过载)也用来提前声明字段以供表达式使用。
|
|
73
|
+
|
|
74
|
+
> [!example]
|
|
75
|
+
> ```xml
|
|
76
|
+
> <field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
|
|
77
|
+
> <group invisible="fname_c != 4">
|
|
78
|
+
> <field name="fname_c"/>
|
|
79
|
+
> <field name="fname_d"/>
|
|
80
|
+
> </group>
|
|
81
|
+
> ```
|
|
82
|
+
|
|
83
|
+
### `block`:声明一组设置
|
|
84
|
+
|
|
85
|
+
`block` 元素将多个设置按分组组织,常用于给出标题与说明。
|
|
86
|
+
|
|
87
|
+
```xml
|
|
88
|
+
<form>
|
|
89
|
+
<app string="NAME" name="TECHNICAL_NAME">
|
|
90
|
+
...
|
|
91
|
+
<block title="TITLE">
|
|
92
|
+
...
|
|
93
|
+
</block>
|
|
94
|
+
...
|
|
95
|
+
</app>
|
|
96
|
+
</form>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
| 属性 | 说明 | 类型 | 默认 | 备注 |
|
|
100
|
+
| --- | --- | --- | --- | --- |
|
|
101
|
+
| `title` | 分组头部显示的标题 | `string` | `''` | 可用于搜索 |
|
|
102
|
+
| `description` | 标题下方的描述文本 | `string` | `''` | 可用于搜索 |
|
|
103
|
+
| `groups` | 仅对这些组可见 | `string` | `''` | 支持 `!` 排除 |
|
|
104
|
+
| `invisible` | 控制是否隐藏 | `Python 表达式` | `False` | 用法同上 |
|
|
105
|
+
|
|
106
|
+
### `setting`:声明设置
|
|
107
|
+
|
|
108
|
+
`setting` 元素定义真正的设置项。第一个字段决定标签:布尔字段出现在左侧,其他字段出现在右侧顶部。若设置了 `type="header"`,该设置以横幅形式呈现,标明后续配置项的作用域(例如网站、公司)。
|
|
109
|
+
|
|
110
|
+
```xml
|
|
111
|
+
<form>
|
|
112
|
+
<app string="NAME" name="TECHNICAL_NAME">
|
|
113
|
+
<block title="TITLE">
|
|
114
|
+
...
|
|
115
|
+
<setting string="SETTING_NAME">
|
|
116
|
+
...
|
|
117
|
+
<field name="FIELD_NAME"/>
|
|
118
|
+
...
|
|
119
|
+
</setting>
|
|
120
|
+
...
|
|
121
|
+
</block>
|
|
122
|
+
</app>
|
|
123
|
+
</form>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
| 属性 | 说明 | 类型 | 默认 | 备注 |
|
|
127
|
+
| --- | --- | --- | --- | --- |
|
|
128
|
+
| `type` | `header` 可将设置渲染为横幅 | `string` | `''` | 其他值按常规展示 |
|
|
129
|
+
| `string` | 设置标签或排序参考(第一个字段的标签) | `string` | `''` | 用作标签文本 |
|
|
130
|
+
| `help` | 鼠标悬停提示文本 | `string` | `''` | |
|
|
131
|
+
| `description` | 标签下方的描述(带 `text-muted` 样式) | `string` | `''` | |
|
|
132
|
+
| `company_specific` | 若设置为 `'1'`,会在标签旁显示公司图标 | `string` | `''` | |
|
|
133
|
+
| `documentation` | 点击文档图标时的路径 | `string` | `''` | 支持绝对或相对路径(相对基于 `https://www.odoo.com/documentation/<version>`) |
|
|
134
|
+
| `groups` | 仅对这些组可见(支持 `!` 排除) | `string` | `''` | |
|
|
135
|
+
| `invisible` | 控制是否隐藏 | `Python 表达式` | `False` | |
|
|
136
|
+
|
|
137
|
+
> [!example]
|
|
138
|
+
> ```xml
|
|
139
|
+
> <field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
|
|
140
|
+
> ```
|