gitextract_5g2yh69w/ ├── .copier-answers.yml ├── .editorconfig ├── .github/ │ └── workflows/ │ ├── pre-commit.yml │ ├── stale.yml │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .pylintrc ├── .pylintrc-mandatory ├── .ruff.toml ├── LICENSE ├── README.md ├── attachment_preview/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── attachment_preview.pot │ │ ├── de.po │ │ ├── es.po │ │ ├── gl.po │ │ ├── it.po │ │ ├── nl.po │ │ ├── pt_BR.po │ │ ├── pt_PT.po │ │ ├── sl.po │ │ ├── tr.po │ │ ├── vi_VN.po │ │ └── zh_CN.po │ ├── models/ │ │ ├── __init__.py │ │ └── ir_attachment.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ ├── INSTALL.md │ │ └── USAGE.md │ ├── static/ │ │ ├── description/ │ │ │ └── index.html │ │ ├── lib/ │ │ │ └── ViewerJS/ │ │ │ ├── compatibility.js │ │ │ ├── example.local.css │ │ │ ├── index.html │ │ │ ├── pdf.js │ │ │ ├── pdf.worker.js │ │ │ ├── pdfjsversion.js │ │ │ ├── text_layer_builder.js │ │ │ ├── ui_utils.js │ │ │ └── webodf.js │ │ └── src/ │ │ ├── js/ │ │ │ ├── attachmentPreviewWidget.esm.js │ │ │ ├── mail_core/ │ │ │ │ └── attachment_list.esm.js │ │ │ ├── utils.esm.js │ │ │ ├── viewerjs_tweaks.js │ │ │ └── web_views/ │ │ │ ├── fields/ │ │ │ │ └── binary_field.esm.js │ │ │ └── form/ │ │ │ ├── form_compiler.esm.js │ │ │ ├── form_controller.esm.js │ │ │ └── form_renderer.esm.js │ │ ├── scss/ │ │ │ └── attachment_preview.scss │ │ └── xml/ │ │ └── attachment_preview.xml │ └── tests/ │ ├── __init__.py │ └── test_attachment_preview.py ├── attachment_zipped_download/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── controllers/ │ │ ├── __init__.py │ │ └── main.py │ ├── i18n/ │ │ ├── attachment_zipped_download.pot │ │ ├── es.po │ │ ├── fr.po │ │ ├── gl.po │ │ ├── hr.po │ │ ├── it.po │ │ ├── pt.po │ │ └── pt_BR.po │ ├── models/ │ │ ├── __init__.py │ │ ├── ir_attachment.py │ │ └── ir_attachment_action_download.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ └── res_partner.py │ │ ├── test_attachment_zipped_download.py │ │ └── test_ir_attachment_action_download.py │ └── views/ │ └── ir_attachment_view.xml ├── checklog-odoo.cfg ├── document_knowledge/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── data/ │ │ ├── ir_module_category.xml │ │ └── res_users.xml │ ├── demo/ │ │ └── document_knowledge.xml │ ├── i18n/ │ │ ├── am.po │ │ ├── ar.po │ │ ├── bg.po │ │ ├── bs.po │ │ ├── ca.po │ │ ├── cs.po │ │ ├── da.po │ │ ├── de.po │ │ ├── document_knowledge.pot │ │ ├── el.po │ │ ├── el_GR.po │ │ ├── en_AU.po │ │ ├── en_GB.po │ │ ├── es.po │ │ ├── es_AR.po │ │ ├── es_CL.po │ │ ├── es_CO.po │ │ ├── es_CR.po │ │ ├── es_DO.po │ │ ├── es_EC.po │ │ ├── es_ES.po │ │ ├── es_MX.po │ │ ├── es_PY.po │ │ ├── es_VE.po │ │ ├── et.po │ │ ├── eu.po │ │ ├── fa.po │ │ ├── fi.po │ │ ├── fr.po │ │ ├── fr_CA.po │ │ ├── gl.po │ │ ├── gu.po │ │ ├── he.po │ │ ├── he_IL.po │ │ ├── hi.po │ │ ├── hr.po │ │ ├── hu.po │ │ ├── hy.po │ │ ├── id.po │ │ ├── is.po │ │ ├── it.po │ │ ├── ja.po │ │ ├── ka.po │ │ ├── kab.po │ │ ├── kk.po │ │ ├── knowledge.pot │ │ ├── ko.po │ │ ├── ln.po │ │ ├── lo.po │ │ ├── lt.po │ │ ├── lv.po │ │ ├── mk.po │ │ ├── mn.po │ │ ├── nb.po │ │ ├── nl.po │ │ ├── nl_BE.po │ │ ├── nl_NL.po │ │ ├── pl.po │ │ ├── pt.po │ │ ├── pt_BR.po │ │ ├── pt_PT.po │ │ ├── ro.po │ │ ├── ru.po │ │ ├── sk.po │ │ ├── sl.po │ │ ├── sr.po │ │ ├── sr@latin.po │ │ ├── sv.po │ │ ├── th.po │ │ ├── tr.po │ │ ├── uk.po │ │ ├── vi.po │ │ ├── zh_CN.po │ │ └── zh_TW.po │ ├── models/ │ │ ├── __init__.py │ │ ├── ir_attachment.py │ │ └── res_config.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONFIGURE.md │ │ ├── CONTRIBUTORS.md │ │ ├── CREDITS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── security/ │ │ └── document_knowledge_security.xml │ ├── static/ │ │ └── description/ │ │ └── index.html │ └── views/ │ ├── document_knowledge.xml │ └── res_config.xml ├── document_page/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── demo/ │ │ └── document_page.xml │ ├── i18n/ │ │ ├── am.po │ │ ├── ar.po │ │ ├── bg.po │ │ ├── bs.po │ │ ├── ca.po │ │ ├── cs.po │ │ ├── da.po │ │ ├── de.po │ │ ├── document_page.pot │ │ ├── el.po │ │ ├── el_GR.po │ │ ├── en_AU.po │ │ ├── en_GB.po │ │ ├── es.po │ │ ├── es_AR.po │ │ ├── es_CL.po │ │ ├── es_CO.po │ │ ├── es_CR.po │ │ ├── es_DO.po │ │ ├── es_EC.po │ │ ├── es_ES.po │ │ ├── es_MX.po │ │ ├── es_PY.po │ │ ├── es_VE.po │ │ ├── et.po │ │ ├── eu.po │ │ ├── fa.po │ │ ├── fi.po │ │ ├── fr.po │ │ ├── fr_CA.po │ │ ├── gl.po │ │ ├── gu.po │ │ ├── he.po │ │ ├── he_IL.po │ │ ├── hi.po │ │ ├── hr.po │ │ ├── hu.po │ │ ├── hy.po │ │ ├── id.po │ │ ├── is.po │ │ ├── it.po │ │ ├── ja.po │ │ ├── ka.po │ │ ├── kab.po │ │ ├── kk.po │ │ ├── ko.po │ │ ├── ln.po │ │ ├── lo.po │ │ ├── lt.po │ │ ├── lv.po │ │ ├── mk.po │ │ ├── mn.po │ │ ├── nb.po │ │ ├── nl.po │ │ ├── nl_BE.po │ │ ├── nl_NL.po │ │ ├── pl.po │ │ ├── pt.po │ │ ├── pt_BR.po │ │ ├── pt_PT.po │ │ ├── ro.po │ │ ├── ru.po │ │ ├── sk.po │ │ ├── sl.po │ │ ├── sq.po │ │ ├── sr.po │ │ ├── sv.po │ │ ├── th.po │ │ ├── tlh.po │ │ ├── tr.po │ │ ├── uk.po │ │ ├── vi.po │ │ ├── zh_CN.po │ │ └── zh_TW.po │ ├── models/ │ │ ├── __init__.py │ │ ├── document_page.py │ │ ├── document_page_history.py │ │ └── ir_ui_menu.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONFIGURE.md │ │ ├── CONTRIBUTORS.md │ │ ├── CREDITS.md │ │ ├── DESCRIPTION.md │ │ ├── INSTALL.md │ │ └── USAGE.md │ ├── security/ │ │ ├── document_page_security.xml │ │ └── ir.model.access.csv │ ├── static/ │ │ ├── description/ │ │ │ └── index.html │ │ └── src/ │ │ ├── js/ │ │ │ ├── document_page_kanban_controller.esm.js │ │ │ └── document_page_kanban_view.esm.js │ │ └── scss/ │ │ ├── document_page.scss │ │ └── document_page_variables.scss │ ├── tests/ │ │ ├── __init__.py │ │ ├── test_document_page.py │ │ ├── test_document_page_create_menu.py │ │ ├── test_document_page_history.py │ │ └── test_document_page_show_diff.py │ ├── views/ │ │ ├── document_page.xml │ │ ├── document_page_category.xml │ │ ├── document_page_history.xml │ │ └── report_document_page.xml │ └── wizard/ │ ├── __init__.py │ ├── document_page_create_menu.py │ ├── document_page_create_menu.xml │ ├── document_page_show_diff.py │ └── document_page_show_diff.xml ├── document_page_access_group/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── ca.po │ │ ├── document_page_access_group.pot │ │ ├── es.po │ │ ├── it.po │ │ └── pt_BR.po │ ├── models/ │ │ ├── __init__.py │ │ └── document_page.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── security/ │ │ └── security.xml │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ ├── common.py │ │ └── test_document_page_access_group.py │ └── views/ │ └── document_page.xml ├── document_page_access_group_user_role/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── document_page_access_group_user_role.pot │ │ ├── es.po │ │ ├── it.po │ │ └── pt.po │ ├── models/ │ │ ├── __init__.py │ │ └── document_page.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ └── test_document_page_access_group_user_role.py │ └── views/ │ └── document_page_views.xml ├── document_page_approval/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── data/ │ │ └── email_template.xml │ ├── hooks.py │ ├── i18n/ │ │ ├── am.po │ │ ├── ar.po │ │ ├── bg.po │ │ ├── bs.po │ │ ├── ca.po │ │ ├── cs.po │ │ ├── da.po │ │ ├── de.po │ │ ├── document_page_approval.pot │ │ ├── el.po │ │ ├── en_AU.po │ │ ├── en_GB.po │ │ ├── es.po │ │ ├── es_AR.po │ │ ├── es_CL.po │ │ ├── es_CO.po │ │ ├── es_CR.po │ │ ├── es_DO.po │ │ ├── es_EC.po │ │ ├── es_ES.po │ │ ├── es_MX.po │ │ ├── es_PY.po │ │ ├── es_VE.po │ │ ├── et.po │ │ ├── eu.po │ │ ├── fa.po │ │ ├── fi.po │ │ ├── fr.po │ │ ├── fr_CA.po │ │ ├── gl.po │ │ ├── gu.po │ │ ├── he.po │ │ ├── hi.po │ │ ├── hr.po │ │ ├── hu.po │ │ ├── hy.po │ │ ├── id.po │ │ ├── it.po │ │ ├── ja.po │ │ ├── ka.po │ │ ├── kab.po │ │ ├── kk.po │ │ ├── ko.po │ │ ├── ln.po │ │ ├── lo.po │ │ ├── lt.po │ │ ├── lv.po │ │ ├── mk.po │ │ ├── mn.po │ │ ├── nb.po │ │ ├── nl.po │ │ ├── nl_BE.po │ │ ├── nl_NL.po │ │ ├── pl.po │ │ ├── pt.po │ │ ├── pt_BR.po │ │ ├── pt_PT.po │ │ ├── ro.po │ │ ├── ru.po │ │ ├── sk.po │ │ ├── sl.po │ │ ├── sr.po │ │ ├── sr@latin.po │ │ ├── sv.po │ │ ├── th.po │ │ ├── tr.po │ │ ├── uk.po │ │ ├── vi.po │ │ ├── zh_CN.po │ │ └── zh_TW.po │ ├── models/ │ │ ├── __init__.py │ │ ├── document_page.py │ │ └── document_page_history.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONFIGURE.md │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── security/ │ │ └── document_page_security.xml │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ └── test_document_page_approval.py │ └── views/ │ └── document_page_approval.xml ├── document_page_group/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── ca.po │ │ ├── document_page_group.pot │ │ ├── es.po │ │ ├── hr.po │ │ ├── it.po │ │ ├── pt.po │ │ └── sl.po │ ├── models/ │ │ ├── __init__.py │ │ └── document_page.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ └── DESCRIPTION.md │ ├── security/ │ │ └── document_page_security.xml │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ └── test_document_page_group.py │ └── views/ │ └── document_page.xml ├── document_page_partner/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── de.po │ │ ├── document_page_partner.pot │ │ ├── document_page_partner_id.pot │ │ ├── es.po │ │ ├── it.po │ │ └── pt.po │ ├── models/ │ │ ├── __init__.py │ │ └── document_page.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── static/ │ │ └── description/ │ │ └── index.html │ └── views/ │ └── document_page.xml ├── document_page_product/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── document_page_product.pot │ │ ├── es.po │ │ └── it.po │ ├── models/ │ │ ├── __init__.py │ │ ├── document_page.py │ │ └── product.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ └── test_document_page_product.py │ └── views/ │ ├── document_page_views.xml │ ├── product_product_views.xml │ └── product_template_views.xml ├── document_page_project/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── document_page_project.pot │ │ ├── es.po │ │ ├── he_IL.po │ │ ├── hr.po │ │ ├── it.po │ │ └── pt.po │ ├── models/ │ │ ├── __init__.py │ │ ├── document_page.py │ │ └── project_project.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ └── test_project_project.py │ └── views/ │ ├── document_page_views.xml │ └── project_project_views.xml ├── document_page_project_task/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── document_page_project_task.pot │ │ └── it.po │ ├── models/ │ │ ├── __init__.py │ │ ├── document_page.py │ │ └── project_task.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONFIGURE.md │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ ├── test_document_page.py │ │ └── test_project_task.py │ └── views/ │ ├── document_page_views.xml │ └── project_task_views.xml ├── document_page_reference/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── document_page_reference.pot │ │ ├── es.po │ │ ├── gl.po │ │ ├── it.po │ │ └── pt.po │ ├── migrations/ │ │ └── 18.0.1.1.0/ │ │ └── post-migration.py │ ├── models/ │ │ ├── __init__.py │ │ └── document_page.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── static/ │ │ ├── description/ │ │ │ └── index.html │ │ └── src/ │ │ └── js/ │ │ └── editor.esm.js │ ├── tests/ │ │ ├── __init__.py │ │ └── test_document_reference.py │ └── views/ │ ├── document_page.xml │ └── report_document_page.xml ├── document_page_tag/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── am.po │ │ ├── ar.po │ │ ├── bg.po │ │ ├── bs.po │ │ ├── ca.po │ │ ├── ca_ES.po │ │ ├── cs.po │ │ ├── da.po │ │ ├── de.po │ │ ├── document_page_tag.pot │ │ ├── el.po │ │ ├── el_GR.po │ │ ├── en_GB.po │ │ ├── es.po │ │ ├── es_AR.po │ │ ├── es_CL.po │ │ ├── es_CO.po │ │ ├── es_CR.po │ │ ├── es_DO.po │ │ ├── es_EC.po │ │ ├── es_ES.po │ │ ├── es_MX.po │ │ ├── es_PE.po │ │ ├── es_PY.po │ │ ├── es_VE.po │ │ ├── et.po │ │ ├── eu.po │ │ ├── fa.po │ │ ├── fi.po │ │ ├── fr.po │ │ ├── fr_CA.po │ │ ├── fr_CH.po │ │ ├── gl.po │ │ ├── gl_ES.po │ │ ├── he.po │ │ ├── hr.po │ │ ├── hr_HR.po │ │ ├── hu.po │ │ ├── id.po │ │ ├── it.po │ │ ├── ja.po │ │ ├── ko.po │ │ ├── lt.po │ │ ├── lt_LT.po │ │ ├── lv.po │ │ ├── mk.po │ │ ├── mn.po │ │ ├── nb.po │ │ ├── nb_NO.po │ │ ├── nl.po │ │ ├── nl_BE.po │ │ ├── nl_NL.po │ │ ├── pl.po │ │ ├── pt.po │ │ ├── pt_BR.po │ │ ├── pt_PT.po │ │ ├── ro.po │ │ ├── ru.po │ │ ├── sk.po │ │ ├── sl.po │ │ ├── sr.po │ │ ├── sr@latin.po │ │ ├── sv.po │ │ ├── th.po │ │ ├── tr.po │ │ ├── tr_TR.po │ │ ├── uk.po │ │ ├── vi.po │ │ ├── vi_VN.po │ │ ├── zh_CN.po │ │ └── zh_TW.po │ ├── models/ │ │ ├── __init__.py │ │ ├── document_page.py │ │ └── document_page_tag.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONFIGURE.md │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ ├── INSTALL.md │ │ └── USAGE.md │ ├── security/ │ │ └── ir.model.access.csv │ ├── static/ │ │ └── description/ │ │ └── index.html │ ├── tests/ │ │ ├── __init__.py │ │ └── test_document_page_tag.py │ └── views/ │ ├── document_page.xml │ └── document_page_tag.xml ├── document_url/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── am.po │ │ ├── ar.po │ │ ├── bg.po │ │ ├── bs.po │ │ ├── ca.po │ │ ├── cs.po │ │ ├── da.po │ │ ├── de.po │ │ ├── document_url.pot │ │ ├── el.po │ │ ├── el_GR.po │ │ ├── en_AU.po │ │ ├── en_GB.po │ │ ├── es.po │ │ ├── es_AR.po │ │ ├── es_CL.po │ │ ├── es_CO.po │ │ ├── es_CR.po │ │ ├── es_DO.po │ │ ├── es_EC.po │ │ ├── es_ES.po │ │ ├── es_MX.po │ │ ├── es_PY.po │ │ ├── es_VE.po │ │ ├── et.po │ │ ├── eu.po │ │ ├── fa.po │ │ ├── fi.po │ │ ├── fr.po │ │ ├── fr_CA.po │ │ ├── gl.po │ │ ├── gu.po │ │ ├── he.po │ │ ├── hi.po │ │ ├── hr.po │ │ ├── hu.po │ │ ├── hy.po │ │ ├── id.po │ │ ├── is.po │ │ ├── it.po │ │ ├── ja.po │ │ ├── ka.po │ │ ├── kab.po │ │ ├── kk.po │ │ ├── ko.po │ │ ├── ln.po │ │ ├── lo.po │ │ ├── lt.po │ │ ├── lv.po │ │ ├── mk.po │ │ ├── mn.po │ │ ├── nb.po │ │ ├── nl.po │ │ ├── nl_BE.po │ │ ├── pl.po │ │ ├── pt.po │ │ ├── pt_BR.po │ │ ├── pt_PT.po │ │ ├── ro.po │ │ ├── ru.po │ │ ├── sk.po │ │ ├── sl.po │ │ ├── sr.po │ │ ├── sr@latin.po │ │ ├── sv.po │ │ ├── th.po │ │ ├── tr.po │ │ ├── uk.po │ │ ├── vi.po │ │ ├── zh_CN.po │ │ └── zh_TW.po │ ├── models/ │ │ ├── __init__.py │ │ └── ir_attachment.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ ├── DESCRIPTION.md │ │ └── USAGE.md │ ├── security/ │ │ └── ir.model.access.csv │ ├── static/ │ │ ├── description/ │ │ │ └── index.html │ │ └── src/ │ │ ├── js/ │ │ │ └── url.esm.js │ │ ├── scss/ │ │ │ └── document_url.scss │ │ └── xml/ │ │ └── url.xml │ ├── tests/ │ │ ├── __init__.py │ │ └── test_document_url.py │ ├── view/ │ │ └── document_url_view.xml │ └── wizard/ │ ├── __init__.py │ └── document_url.py ├── eslint.config.cjs ├── prettier.config.cjs ├── setup/ │ ├── _metapackage/ │ │ └── pyproject.toml │ └── document_page_project_task/ │ └── setup.py └── test-requirements.txt