├── requirements.txt ├── README.md ├── dms_partner ├── __init__.py ├── models │ ├── __init__.py │ └── res_partner.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings_20-04.png │ │ ├── inkscape_export_settings_22-04.png │ │ └── notes.txt ├── views │ └── res_partner_view.xml ├── i18n │ └── sv.po └── __manifest__.py ├── dms_hierarchy ├── __init__.py ├── models │ ├── __init__.py │ └── directory.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ └── notes.txt ├── views │ └── directory_view.xml └── __manifest__.py ├── document_version ├── __init__.py ├── models │ └── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── vertel_icon.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html └── __manifest__.py ├── dms_property_mgmt ├── __init__.py ├── models │ └── __init__.py ├── views │ └── property_property_view.xml └── __manifest__.py ├── dms_crm_lead ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml └── __manifest__.py ├── dms_crm_team ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ └── notes.txt ├── views │ ├── views.xml │ └── templates.xml └── __manifest__.py ├── dms_event ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── templates.xml │ └── views.xml └── __manifest__.py ├── dms_purchase ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ └── views.xml └── __manifest__.py ├── dms_account_move ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml └── __manifest__.py ├── dms_calendar_event ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml ├── data │ └── event_data.xml └── __manifest__.py ├── dms_fleet_vehicle ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml ├── data │ └── fleet_data.xml └── __manifest__.py ├── dms_helpdesk_team ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml └── __manifest__.py ├── dms_hr_employee ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── banner.png │ │ ├── icon.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml └── __manifest__.py ├── dms_hr_expense ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ └── views.xml ├── data │ └── hr_data.xml └── __manifest__.py ├── dms_project ├── __init__.py ├── models │ └── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html └── __manifest__.py ├── dms_repair_order ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ └── views.xml ├── data │ └── repair_order_data.xml └── __manifest__.py ├── dms_sale_order ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ └── views.xml └── __manifest__.py ├── dms_duplicate_filenames ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings_20-04.png │ │ ├── inkscape_export_settings_22-04.png │ │ └── notes.txt └── __manifest__.py ├── dms_helpdesk_ticket ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml └── __manifest__.py ├── dms_hr_job_recruitment ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ └── notes.txt ├── views │ └── views.xml ├── data │ └── hr_job_applicant_data.xml └── __manifest__.py ├── dms_product_template ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── banner.png │ │ ├── icon.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ └── views.xml └── __manifest__.py ├── dms_account_analytic_account ├── __init__.py ├── models │ ├── __init__.py │ └── models.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── views │ ├── views.xml │ └── templates.xml ├── data │ └── account_analytics_account_data.xml └── __manifest__.py ├── document_sftp ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.png │ │ ├── odoo-document-black.png │ │ ├── odoo-document-white.png │ │ ├── inkscape_export_settings.png │ │ ├── notes.txt │ │ └── index.html ├── security │ └── ir.model.access.csv ├── models │ ├── __init__.py │ ├── res_users.py │ └── document_sftp_root.py ├── data │ ├── ir_cron.xml │ └── ir_config_parameter.xml ├── document_sftp_handle.py ├── demo │ └── res_users.xml ├── document_sftp_transport.py ├── views │ └── res_users.xml ├── __init__.py ├── __manifest__.py └── document_sftp_server.py └── .gitignore /requirements.txt: -------------------------------------------------------------------------------- 1 | yt 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # odoo-document -------------------------------------------------------------------------------- /dms_partner/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /dms_hierarchy/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /document_version/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /dms_property_mgmt/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /dms_hierarchy/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import directory 2 | -------------------------------------------------------------------------------- /dms_partner/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import res_partner 2 | -------------------------------------------------------------------------------- /document_version/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import document 2 | -------------------------------------------------------------------------------- /dms_property_mgmt/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import property_property 2 | -------------------------------------------------------------------------------- /dms_crm_lead/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_crm_team/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_event/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_purchase/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_account_move/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_calendar_event/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_event/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_fleet_vehicle/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_helpdesk_team/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_hr_employee/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_hr_expense/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_project/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models 4 | -------------------------------------------------------------------------------- /dms_project/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_repair_order/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_sale_order/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_account_move/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_crm_lead/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_crm_team/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_duplicate_filenames/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_helpdesk_ticket/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_hr_employee/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_hr_expense/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_hr_job_recruitment/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_product_template/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_purchase/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_repair_order/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_sale_order/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_account_analytic_account/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_calendar_event/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_fleet_vehicle/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_helpdesk_team/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_helpdesk_ticket/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_product_template/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_duplicate_filenames/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_hr_job_recruitment/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_account_analytic_account/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from . import models -------------------------------------------------------------------------------- /dms_event/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_event/static/description/icon.png -------------------------------------------------------------------------------- /dms_crm_lead/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_lead/static/description/icon.png -------------------------------------------------------------------------------- /dms_crm_team/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_team/static/description/icon.png -------------------------------------------------------------------------------- /dms_event/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_event/static/description/banner.png -------------------------------------------------------------------------------- /dms_partner/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_partner/static/description/icon.png -------------------------------------------------------------------------------- /dms_project/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_project/static/description/icon.png -------------------------------------------------------------------------------- /dms_purchase/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_purchase/static/description/icon.png -------------------------------------------------------------------------------- /dms_crm_lead/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_lead/static/description/banner.png -------------------------------------------------------------------------------- /dms_crm_team/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_team/static/description/banner.png -------------------------------------------------------------------------------- /dms_hierarchy/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hierarchy/static/description/icon.png -------------------------------------------------------------------------------- /dms_hr_expense/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_expense/static/description/icon.png -------------------------------------------------------------------------------- /dms_partner/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_partner/static/description/banner.png -------------------------------------------------------------------------------- /dms_project/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_project/static/description/banner.png -------------------------------------------------------------------------------- /dms_purchase/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_purchase/static/description/banner.png -------------------------------------------------------------------------------- /dms_sale_order/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_sale_order/static/description/icon.png -------------------------------------------------------------------------------- /document_sftp/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_sftp/static/description/icon.png -------------------------------------------------------------------------------- /dms_account_move/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_move/static/description/icon.png -------------------------------------------------------------------------------- /dms_fleet_vehicle/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_fleet_vehicle/static/description/icon.png -------------------------------------------------------------------------------- /dms_helpdesk_team/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_team/static/description/icon.png -------------------------------------------------------------------------------- /dms_hierarchy/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hierarchy/static/description/banner.png -------------------------------------------------------------------------------- /dms_hr_employee/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_employee/static/description/banner.png -------------------------------------------------------------------------------- /dms_hr_employee/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_employee/static/description/icon.png -------------------------------------------------------------------------------- /dms_hr_expense/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_expense/static/description/banner.png -------------------------------------------------------------------------------- /dms_repair_order/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_repair_order/static/description/icon.png -------------------------------------------------------------------------------- /dms_sale_order/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_sale_order/static/description/banner.png -------------------------------------------------------------------------------- /document_sftp/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_sftp/static/description/banner.png -------------------------------------------------------------------------------- /document_version/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_version/static/description/icon.png -------------------------------------------------------------------------------- /dms_account_move/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_move/static/description/banner.png -------------------------------------------------------------------------------- /dms_calendar_event/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_calendar_event/static/description/icon.png -------------------------------------------------------------------------------- /dms_fleet_vehicle/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_fleet_vehicle/static/description/banner.png -------------------------------------------------------------------------------- /dms_helpdesk_team/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_team/static/description/banner.png -------------------------------------------------------------------------------- /dms_helpdesk_ticket/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_ticket/static/description/icon.png -------------------------------------------------------------------------------- /dms_repair_order/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_repair_order/static/description/banner.png -------------------------------------------------------------------------------- /document_version/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_version/static/description/banner.png -------------------------------------------------------------------------------- /dms_calendar_event/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_calendar_event/static/description/banner.png -------------------------------------------------------------------------------- /dms_helpdesk_ticket/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_ticket/static/description/banner.png -------------------------------------------------------------------------------- /dms_hr_job_recruitment/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_job_recruitment/static/description/icon.png -------------------------------------------------------------------------------- /dms_product_template/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_product_template/static/description/banner.png -------------------------------------------------------------------------------- /dms_product_template/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_product_template/static/description/icon.png -------------------------------------------------------------------------------- /dms_duplicate_filenames/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_duplicate_filenames/static/description/icon.png -------------------------------------------------------------------------------- /dms_event/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_event/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_event/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_event/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_hr_job_recruitment/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_job_recruitment/static/description/banner.png -------------------------------------------------------------------------------- /document_version/static/description/vertel_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_version/static/description/vertel_icon.png -------------------------------------------------------------------------------- /dms_crm_lead/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_lead/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_crm_lead/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_lead/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_crm_team/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_team/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_crm_team/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_team/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_duplicate_filenames/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_duplicate_filenames/static/description/banner.png -------------------------------------------------------------------------------- /dms_partner/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_partner/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_partner/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_partner/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_project/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_project/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_project/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_project/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_purchase/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_purchase/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_purchase/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_purchase/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_account_analytic_account/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_analytic_account/static/description/icon.png -------------------------------------------------------------------------------- /dms_event/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_event/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_hierarchy/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hierarchy/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_hierarchy/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hierarchy/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_hr_expense/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_expense/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_hr_expense/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_expense/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_sale_order/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_sale_order/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_sale_order/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_sale_order/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /document_sftp/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_sftp/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /document_sftp/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_sftp/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_account_analytic_account/static/description/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_analytic_account/static/description/banner.png -------------------------------------------------------------------------------- /dms_account_move/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_move/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_account_move/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_move/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_crm_lead/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_lead/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_crm_team/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_crm_team/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_fleet_vehicle/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_fleet_vehicle/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_fleet_vehicle/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_fleet_vehicle/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_helpdesk_team/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_team/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_helpdesk_team/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_team/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_hr_employee/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_employee/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_hr_employee/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_employee/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_project/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_project/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_purchase/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_purchase/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_repair_order/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_repair_order/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_repair_order/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_repair_order/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /document_version/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_version/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /document_version/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_version/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_calendar_event/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_calendar_event/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_calendar_event/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_calendar_event/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_helpdesk_ticket/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_ticket/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_helpdesk_ticket/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_ticket/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_hierarchy/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hierarchy/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_hr_expense/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_expense/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_sale_order/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_sale_order/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /document_sftp/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_sftp/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_account_move/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_move/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_fleet_vehicle/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_fleet_vehicle/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_helpdesk_team/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_team/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_hr_employee/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_employee/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_hr_job_recruitment/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_job_recruitment/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_hr_job_recruitment/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_job_recruitment/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_partner/static/description/inkscape_export_settings_20-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_partner/static/description/inkscape_export_settings_20-04.png -------------------------------------------------------------------------------- /dms_partner/static/description/inkscape_export_settings_22-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_partner/static/description/inkscape_export_settings_22-04.png -------------------------------------------------------------------------------- /dms_product_template/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_product_template/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_product_template/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_product_template/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_repair_order/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_repair_order/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /document_version/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/document_version/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_calendar_event/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_calendar_event/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_duplicate_filenames/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_duplicate_filenames/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_duplicate_filenames/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_duplicate_filenames/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_helpdesk_ticket/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_helpdesk_ticket/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_hr_job_recruitment/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_hr_job_recruitment/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_product_template/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_product_template/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_account_analytic_account/static/description/odoo-document-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_analytic_account/static/description/odoo-document-black.png -------------------------------------------------------------------------------- /dms_account_analytic_account/static/description/odoo-document-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_analytic_account/static/description/odoo-document-white.png -------------------------------------------------------------------------------- /dms_account_analytic_account/static/description/inkscape_export_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_account_analytic_account/static/description/inkscape_export_settings.png -------------------------------------------------------------------------------- /dms_duplicate_filenames/static/description/inkscape_export_settings_20-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_duplicate_filenames/static/description/inkscape_export_settings_20-04.png -------------------------------------------------------------------------------- /dms_duplicate_filenames/static/description/inkscape_export_settings_22-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vertelab/odoo-document/18.0/dms_duplicate_filenames/static/description/inkscape_export_settings_22-04.png -------------------------------------------------------------------------------- /document_sftp/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_document_sftp_root_by_model,access_document_sftp_root_by_model,model_document_sftp_root_by_model,base.group_user,1,1,1,1 3 | 4 | -------------------------------------------------------------------------------- /document_sftp/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 3 | from . import res_users 4 | from . import document_sftp 5 | from . import document_sftp_root 6 | from . import document_sftp_root_by_model 7 | 8 | -------------------------------------------------------------------------------- /dms_duplicate_filenames/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api, tools, _ 4 | import logging 5 | from odoo.exceptions import ValidationError 6 | 7 | from odoo.addons.dms.tools import file 8 | 9 | _logger = logging.getLogger(__name__) 10 | 11 | 12 | class File(models.Model): 13 | _inherit = "dms.file" 14 | 15 | @api.constrains("name") 16 | def _check_name(self): 17 | for record in self: 18 | if not file.check_name(record.name): 19 | raise ValidationError(_("The file name is invalid.")) -------------------------------------------------------------------------------- /dms_crm_lead/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | crm.lead.form.dms 5 | crm.lead 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_hierarchy/views/directory_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | dms.directory.form 5 | dms.directory 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /dms_sale_order/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | sale.order.form.dms 5 | sale.order 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_crm_team/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | crm.team.form.dms 5 | crm.team 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_hr_employee/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | hr.employee.dms 5 | hr.employee 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_account_move/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | account.move.form.dms 5 | account.move 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_fleet_vehicle/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | fleet.vehicle.form.dms 5 | fleet.vehicle 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_purchase/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | purchase.order.form.dms 5 | purchase.order 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_repair_order/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | repair.order.form.dms 5 | repair.order 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_helpdesk_ticket/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | helpdesk.ticket.form.dms 5 | helpdesk.ticket 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_product_template/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | product.template.form.dms 5 | product.template 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_helpdesk_team/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | helpdesk.ticket.team.form.dms 5 | helpdesk.ticket.team 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_calendar_event/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | calendar.event.doc_count 5 | calendar.event 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_account_analytic_account/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | account.analytic.account.form.dms 5 | account.analytic.account 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_crm_lead/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_crm_team/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_event/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_account_move/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_fleet_vehicle/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_helpdesk_team/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_hr_employee/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_calendar_event/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_helpdesk_ticket/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /dms_event/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | event.event.form.dms 5 | event.event 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_account_analytic_account/views/templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | 24 | -------------------------------------------------------------------------------- /document_sftp/data/ir_cron.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document SFTP Cron Job 6 | 7 | code 8 | model._upload_attachments_to_crm() 9 | 1 10 | 11 | minutes 12 | -1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dms_hr_expense/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | hr.expense.dms 5 | hr.expense 6 | 7 | 8 | 9 |
10 | 13 |
14 |
15 |
16 |
17 |
18 |
-------------------------------------------------------------------------------- /dms_partner/models/res_partner.py: -------------------------------------------------------------------------------- 1 | from odoo import models, fields, api 2 | 3 | 4 | class Partner(models.Model): 5 | _inherit = 'res.partner' 6 | 7 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Partner's Attachment") 8 | 9 | def _compute_attached_docs_count(self): 10 | document_obj = self.env['dms.file'] 11 | for rec in self: 12 | rec.doc_count = document_obj.search_count([('res_model', '=', 'res.partner'), ('res_id', '=', rec.id)]) 13 | 14 | def action_view_dms(self): 15 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 16 | action['domain'] = str([ 17 | ('res_model', '=', 'res.partner'), 18 | ('res_id', 'in', self.ids), 19 | ]) 20 | return action 21 | -------------------------------------------------------------------------------- /document_sftp/document_sftp_handle.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 3 | try: 4 | from paramiko import SFTP_EOF, SFTPHandle 5 | except ImportError: 6 | pass 7 | from base64 import b64decode 8 | 9 | 10 | class DocumentSFTPHandle(SFTPHandle): 11 | def __init__(self, attachment, flags=0): 12 | self.attachment = attachment 13 | super(DocumentSFTPHandle, self).__init__(flags) 14 | 15 | def stat(self): 16 | return self.attachment.env['document.sftp.root']._file(self.attachment) 17 | 18 | def read(self, offset, length): 19 | # pylint: disable=W8106 20 | data = b64decode(self.attachment.datas) 21 | if offset > len(data): 22 | return SFTP_EOF 23 | return data[offset:offset + length] 24 | -------------------------------------------------------------------------------- /document_sftp/demo/res_users.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCuJbpX5OB8tnXzn+T72D+uIHTvCnpuDMD2So5lfkJsU3M4TvidERP0MtZykNNjs2RmIV97CLTdfJXxWpjYm92KWhd9X52lFBKVIJO2FHayhWw4VQGBeNXd9iGs3h9g5/B5LPvdPeZ4OtgpuTv06fTJTdBmzjmOCSa+5j/FWWbEr3F5TTRcba7v3W2a+qvzh1PODpeBFpXEGQqK2DnAA5XwmZG17fo0hHdLhQD1vb//vL1E8sMHWc/zDn8tef8JAmWpkK7Cuib7oB55/+7PkgcsRqQx3FRhg0hcmSwPWLBT+GfU0fUfAILUPVukkOiCl8GSqN+St0fYhPtbFPwLkAscmZCTWbI0HViLXR5nsWHd1eziimpDJXeo7d2wo7cvQpSdZFKlERws5gErEgewPYFYW7SqPFVf0hZ9AqHiX01Nu3tcVUdxQvw7+92ShAcar5CVcrWdD2T5YdxDNapUJ0uL6t/vvLYz8OpcsoyfXbMFG/KPxs9UTKx7UqaPOK6pyc12MxJ+EksEMhqGY+dyPwBfwce4R9FybRhz+BhYP5ABl54dxrF894xrrkHeqS1avgslx9fUU9mXb6LyAbuyykCI6JUsKeR+O3SnLv3PdAVYmqqa/7MhMQWz+jeX3nrs+9OtETpB8P0EtcyzDNwS0keLu4pHhXH9hPmLBRDiTQ4F0Q== 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /dms_event/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_event 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_crm_lead/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_crm_lead 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_crm_team/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_crm_team 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_project/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_project 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_purchase/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_purchase 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_fleet_vehicle/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_event 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_helpdesk_team/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_event 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_hierarchy/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_hierarchy 2 | 2022-10-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_hr_employee/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_hr_employee 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_hr_expense/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_hr_expense 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_sale_order/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_sale_order 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /document_sftp/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / document_sftp 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_repair_order/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_repair_order 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /document_version/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / document_version 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_calendar_event/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_calendar_event 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_helpdesk_ticket/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_helpdesk_ticket 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_product_template/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_product_template 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_account_move/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_account_analytic_account 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_hr_expense/data/hr_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Expense documents 7 | 8 | attachment 9 | True 10 | 11 | 12 | 13 | 14 | Expense documents directory 15 | True 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /dms_hr_expense/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Event(models.Model): 8 | _inherit = "hr.expense" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for expense in self: 14 | expense.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'hr.expense'), ('res_id', '=', expense.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'hr.expense'), 24 | ('res_id', 'in', self.ids), 25 | ]) 26 | return action 27 | -------------------------------------------------------------------------------- /dms_hr_job_recruitment/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_hr_job_recruitment 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_event/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Event(models.Model): 8 | _inherit = "event.event" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for event in self: 14 | event.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'event.event'), ('res_id', '=', event.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'event.event'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | return action 28 | -------------------------------------------------------------------------------- /dms_fleet_vehicle/data/fleet_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vehicle documents 7 | 8 | attachment 9 | True 10 | 11 | 12 | 13 | 14 | Vehicle documents directory 15 | True 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /dms_partner/views/res_partner_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | res.partner.form 5 | res.partner 6 | 7 | 8 |
9 | 17 |
18 |
19 |
20 |
21 |
-------------------------------------------------------------------------------- /dms_repair_order/data/repair_order_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Repair documents 7 | 8 | attachment 9 | True 10 | 11 | 12 | 13 | 14 | Repair documents directory 15 | True 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /document_sftp/data/ir_config_parameter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | document_sftp.hostkey 6 | If you see this text, initialization went wrong 7 | 10 | 11 | 12 | document_sftp.bind 13 | localhost:2222 14 | 17 | 18 | 19 | document_sftp.path 20 | /home 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /dms_account_analytic_account/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_account_analytic_account 2 | 2022-09-06 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | Odoo banner: 560 x 280 17 | Odoo icon: 140 x 140 18 | 19 | HEX 20 | #930a57 21 | 22 | #8105a7 23 | 24 | 25 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 26 | 27 | Guide: 28 | 1. Use Inkscape to create a colored background. (Import) 29 | 2. Odoo icon: 140 x 140, 560 x 280. 30 | 3. Pick icon at fontawesome and paste in a text field. 31 | 4. Save in ordinary / plain svg format. 32 | 5. In Inkscape, choose Generate PNG image and "Export as...". 33 | 6. Write a filename of choice and choose "Export". 34 | -------------------------------------------------------------------------------- /dms_calendar_event/data/event_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Calendar events 7 | 8 | attachment 9 | True 10 | 11 | 12 | 13 | 14 | Calendar event directory 15 | True 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /dms_hr_employee/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Event(models.Model): 8 | _inherit = "hr.employee" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for employee in self: 14 | employee.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'hr.employee'), ('res_id', '=', employee.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'hr.employee'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | return action 28 | -------------------------------------------------------------------------------- /dms_calendar_event/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import logging 3 | from odoo import models, fields, api 4 | 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Events(models.Model): 8 | _inherit = "calendar.event" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Number of documents attached") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for event in self: 14 | event.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'calendar.event'), ('res_id', '=', event.id), 17 | ]) 18 | 19 | def dms_kanban_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'calendar.event'), 24 | ('res_id', 'in', self.ids), 25 | ]) 26 | return action 27 | -------------------------------------------------------------------------------- /dms_fleet_vehicle/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Fleet(models.Model): 8 | _inherit = "fleet.vehicle" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for vehicle in self: 14 | vehicle.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'fleet.vehicle'), ('res_id', '=', vehicle.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'fleet.vehicle'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | return action 28 | -------------------------------------------------------------------------------- /dms_repair_order/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Repair(models.Model): 8 | _inherit = "repair.order" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for order in self: 14 | order.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'repair.order'), ('res_id', '=', order.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'repair.order'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | return action 28 | 29 | 30 | -------------------------------------------------------------------------------- /dms_account_analytic_account/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Analytic(models.Model): 8 | _inherit = "account.analytic.account" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for account in self: 14 | account.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'account.analytic.account'), ('res_id', '=', account.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'account.analytic.account'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | return action 28 | -------------------------------------------------------------------------------- /dms_crm_lead/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class CRMLead(models.Model): 8 | _inherit = "crm.lead" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for crm_lead in self: 14 | crm_lead.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'crm.lead'), ('res_id', '=', crm_lead.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'crm.lead'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /dms_crm_team/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class CRMTeam(models.Model): 8 | _inherit = "crm.team" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for crm_team in self: 14 | crm_team.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'crm.team'), ('res_id', '=', crm_team.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'crm.team'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /document_sftp/models/res_users.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # © 2016 Therp BV 3 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 4 | from odoo import fields, models 5 | 6 | 7 | class ResUsers(models.Model): 8 | _inherit = 'res.users' 9 | 10 | authorized_keys = fields.Text( 11 | 'Authorized keys', 12 | help='An authorized key file as in ~/.ssh/authorized_keys') 13 | 14 | def _register_hook(self): 15 | if 'authorized_keys' not in self.SELF_WRITEABLE_FIELDS: 16 | self.SELF_WRITEABLE_FIELDS.append('authorized_keys') 17 | self.SELF_READABLE_FIELDS.append('authorized_keys') 18 | return super(ResUsers, self)._register_hook() 19 | 20 | 21 | def _verify_sftp_user(self, password): 22 | assert password 23 | self.env.cr.execute( 24 | "SELECT COALESCE(password, '') FROM res_users WHERE id=%s", 25 | [self.env.user.id] 26 | ) 27 | [hashed] = self.env.cr.fetchone() 28 | valid, replacement = self._crypt_context().verify_and_update(password, hashed) 29 | return valid -------------------------------------------------------------------------------- /dms_purchase/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Order(models.Model): 8 | _inherit = "purchase.order" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for order in self: 14 | order.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'purchase.order'), ('res_id', '=', order.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'purchase.order'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /dms_account_move/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Account(models.Model): 8 | _inherit = "account.move" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for account in self: 14 | account.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'account.move'), ('res_id', '=', account.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'account.move'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /dms_sale_order/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class SaleOrder(models.Model): 8 | _inherit = "sale.order" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for sale_order in self: 14 | sale_order.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'sale.order'), ('res_id', '=', sale_order.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'sale.order'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /dms_helpdesk_ticket/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class HelpdeskTicket(models.Model): 8 | _inherit = "helpdesk.ticket" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for ticket in self: 14 | ticket.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'helpdesk.ticket'), ('res_id', '=', ticket.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'helpdesk.ticket'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /dms_helpdesk_team/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class HelpdeskTicketTeam(models.Model): 8 | _inherit = "helpdesk.ticket.team" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for team in self: 14 | team.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'helpdesk.ticket.team'), ('res_id', '=', team.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'helpdesk.ticket.team'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /dms_product_template/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class ProductTemplate(models.Model): 8 | _inherit = "product.template" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for product_template in self: 14 | product_template.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'product.template'), ('res_id', '=', product_template.id), 17 | ]) 18 | 19 | def dms_tree_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'product.template'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | action['view_mode'] = 'kanban, form' 28 | action['binding_view_types'] = 'kanban, form' 29 | return action 30 | -------------------------------------------------------------------------------- /document_sftp/document_sftp_transport.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # © 2016 Therp BV 3 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 4 | try: 5 | from paramiko import Transport 6 | from paramiko.transport import DEFAULT_WINDOW_SIZE, DEFAULT_MAX_PACKET_SIZE 7 | except ImportError: 8 | pass 9 | from odoo import api, SUPERUSER_ID 10 | from odoo.modules.registry import Registry 11 | 12 | 13 | class DocumentSFTPTransport(Transport): 14 | def __init__( 15 | self, cr, sock, default_window_size=DEFAULT_WINDOW_SIZE, 16 | default_max_packet_size=DEFAULT_MAX_PACKET_SIZE, gss_kex=False, 17 | gss_deleg_creds=True 18 | ): 19 | self.cr = cr 20 | super(DocumentSFTPTransport, self).__init__( 21 | sock, default_window_size=default_window_size, 22 | default_max_packet_size=default_max_packet_size, gss_kex=gss_kex, 23 | gss_deleg_creds=gss_deleg_creds 24 | ) 25 | 26 | def run(self): 27 | with api.Environment.manage(): 28 | self.env = api.Environment(self.cr, SUPERUSER_ID, {}) 29 | result = super(DocumentSFTPTransport, self).run() 30 | # self.env.cr.close() 31 | return result 32 | -------------------------------------------------------------------------------- /document_sftp/views/res_users.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | res.users 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /dms_hr_job_recruitment/views/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | hr.job.form 5 | hr.job 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | hr.applicant.form 18 | hr.applicant 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /dms_hierarchy/models/directory.py: -------------------------------------------------------------------------------- 1 | from odoo import models, fields, api, _ 2 | from odoo.exceptions import UserError, ValidationError 3 | 4 | 5 | class Directory(models.Model): 6 | _inherit = "dms.directory" 7 | 8 | @api.constrains("storage_id", "model_id") 9 | def _check_storage_id_attachment_model_id(self): 10 | for record in self: 11 | if record.storage_id.save_type != "attachment": 12 | continue 13 | if not record.model_id: 14 | raise ValidationError( 15 | _("A directory has to have model in attachment storage.") 16 | ) 17 | # if not record.parent_id.is_root_directory and not record.res_id: 18 | # raise ValidationError( 19 | # _("This directory needs to be associated to a record.") 20 | # ) 21 | 22 | @api.onchange("parent_id", "model_id") 23 | def set_res_model(self): 24 | if not self.parent_id.is_root_directory and self.parent_id and (self.parent_id.model_id == self.model_id): 25 | self.res_id = self.parent_id.res_id 26 | elif self.parent_id.is_root_directory and self.env.context.get("special_res_id"): 27 | self.res_id = self.env.context.get("special_res_id") 28 | else: 29 | self.res_id = False 30 | 31 | -------------------------------------------------------------------------------- /dms_account_analytic_account/data/account_analytics_account_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Account Analytics documents 7 | 8 | attachment 9 | True 10 | 11 | 12 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /dms_event/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_crm_lead/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_hr_expense/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_project/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_purchase/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_sale_order/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /document_sftp/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_account_move/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_calendar_event/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_fleet_vehicle/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_helpdesk_team/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_helpdesk_ticket/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_hr_employee/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_repair_order/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /document_version/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_product_template/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_account_analytic_account/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Odoo-document

4 |

Slogan

5 |
6 |
7 | 8 |
9 |
10 |
11 |

12 | A description of importance! 13 |

14 |

15 | Vertel - A Swedish Odoo Expert Consultant. 16 |

17 |
18 |
19 |
20 | 21 |
22 |
23 |

Odoo-document

24 |
25 |

26 | Important text. 27 |

28 |

Example of code for a module:

29 |
30 |             Example
31 |             Example
32 |             Example
33 |             Example
34 |         
35 | 36 |

37 | Settings and requirements for a specific module. 38 |

39 | 40 |
41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /dms_property_mgmt/views/property_property_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | property.property.form.dms 5 | property.property 6 | 7 | 8 | 9 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /document_sftp/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 3 | from . import models 4 | 5 | 6 | import logging 7 | import io 8 | import socket 9 | from lxml import etree 10 | from odoo import SUPERUSER_ID, tools, api 11 | 12 | 13 | try: 14 | from paramiko.ecdsakey import ECDSAKey 15 | except ImportError: # pragma: no cover 16 | pass 17 | _logger = logging.getLogger(__name__) 18 | 19 | 20 | def install_hook(cr, registry): 21 | _logger.warning('Socket %s' % socket.getfqdn()) 22 | env = api.Environment(cr, SUPERUSER_ID, {}) 23 | 24 | if socket.getfqdn().endswith('odoo-community.org'): # pragma: no cover 25 | # we need a different default listeing address on runbot 26 | env['ir.config_parameter'].set_param('document_sftp.bind', '%s:0' % socket.getfqdn()) 27 | hostkey = env['ir.config_parameter'].get_param('document_sftp.hostkey') 28 | parameters = etree.parse( 29 | tools.file_open('document_sftp/data/ir_config_parameter.xml')) 30 | default_value = None 31 | for node in parameters.xpath("//record[@id='param_hostkey']//field[@name='value']"): 32 | default_value = node.text 33 | if not hostkey or hostkey == default_value: 34 | _logger.info('Generating host key for database %s', cr.dbname) 35 | key = io.StringIO() 36 | ECDSAKey.generate().write_private_key(key) 37 | env['ir.config_parameter'].set_param('document_sftp.hostkey', key.getvalue()) 38 | key.close() 39 | 40 | 41 | def uninstall_hook(cr, registry): 42 | pass 43 | -------------------------------------------------------------------------------- /dms_partner/i18n/sv.po: -------------------------------------------------------------------------------- 1 | # Translation of Odoo Server. 2 | # This file contains the translation of the following modules: 3 | # * dms_partner 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Odoo Server 14.0-20220428\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2022-11-25 08:13+0000\n" 10 | "PO-Revision-Date: 2022-11-25 08:13+0000\n" 11 | "Last-Translator: \n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: dms_partner 19 | #: model_terms:ir.ui.view,arch_db:dms_partner.res_partner_view_form 20 | msgid "Documents" 21 | msgstr "Dokument" 22 | 23 | #. module: dms_partner 24 | #: model:ir.model,name:dms_partner.model_res_partner 25 | msgid "Contact" 26 | msgstr "Kontakt" 27 | 28 | #. module: dms_partner 29 | #: model:ir.model.fields,field_description:dms_partner.field_res_partner__display_name 30 | msgid "Display Name" 31 | msgstr "Visningsnamn" 32 | 33 | #. module: dms_partner 34 | #: model:ir.model.fields,field_description:dms_partner.field_res_partner__id 35 | msgid "ID" 36 | msgstr "" 37 | 38 | #. module: dms_partner 39 | #: model:ir.model.fields,field_description:dms_partner.field_res_partner____last_update 40 | msgid "Last Modified on" 41 | msgstr "Senast redigerad den" 42 | 43 | #. module: dms_partner 44 | #: model:ir.model.fields,field_description:dms_partner.field_res_partner__doc_count 45 | #: model:ir.model.fields,field_description:dms_partner.field_res_users__doc_count 46 | msgid "Partner's Attachment" 47 | msgstr "Kontakts tillägg" 48 | -------------------------------------------------------------------------------- /dms_hr_job_recruitment/data/hr_job_applicant_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Jobs 7 | 8 | attachment 9 | True 10 | 11 | 12 | 13 | 14 | Jobs directory 15 | True 16 | 17 | 18 | 19 | 20 | 21 | Applicants 22 | 23 | attachment 24 | True 25 | 26 | 27 | 28 | 29 | Applicants directory 30 | True 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /dms_partner/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Partner', 24 | 'version': '1.1', 25 | 'summary': 'DMS Partner.', 26 | 'category': 'Technical', 27 | 'description': 'DMS Partner.', 28 | 'author': 'Vertel AB', 29 | 'website': 'https://vertel.se/apps/odoo-document/dms_partner', 30 | 'images': ['static/description/banner.png'], # 560x280 px. 31 | 'license': 'AGPL-3', 32 | 'contributor': '', 33 | 'maintainer': 'Vertel AB', 34 | 'repository': 'https://github.com/vertelab/odoo-document', 35 | 'depends': ['contacts', 'dms'], 36 | "data": [ 37 | 'views/res_partner_view.xml', 38 | ], 39 | } 40 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 41 | -------------------------------------------------------------------------------- /dms_hr_job_recruitment/models/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from odoo import models, fields, api 4 | import logging 5 | _logger = logging.getLogger(__name__) 6 | 7 | class Job(models.Model): 8 | _inherit = "hr.job" 9 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 10 | 11 | def _compute_attached_docs_count(self): 12 | Document = self.env['dms.file'] 13 | for job in self: 14 | job.doc_count = Document.search_count([ 15 | '&', 16 | ('res_model', '=', 'hr.job'), ('res_id', '=', job.id), 17 | ]) 18 | 19 | def dms_kanban_view(self): 20 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 21 | action['domain'] = str([ 22 | '&', 23 | ('res_model', '=', 'hr.job'), 24 | ('res_id', 'in', self.ids), 25 | 26 | ]) 27 | return action 28 | 29 | class Applicant(models.Model): 30 | _inherit = "hr.applicant" 31 | doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Doc count") 32 | 33 | def _compute_attached_docs_count(self): 34 | Document = self.env['dms.file'] 35 | for applicant in self: 36 | applicant.doc_count = Document.search_count([ 37 | '&', 38 | ('res_model', '=', 'hr.applicant'), ('res_id', '=', applicant.id), 39 | ]) 40 | 41 | def dms_kanban_view(self): 42 | action = self.env['ir.actions.act_window']._for_xml_id('dms.action_dms_file') 43 | action['domain'] = str([ 44 | '&', 45 | ('res_model', '=', 'hr.applicant'), 46 | ('res_id', 'in', self.ids), 47 | 48 | ]) 49 | return action 50 | 51 | -------------------------------------------------------------------------------- /dms_partner/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_partner 2 | 2023-03-07 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | 17 | Odoo banner: 560 x 280 18 | Odoo icon: 140 x 140 19 | 20 | HEX 21 | #930a57 22 | #8105a7 23 | 24 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 25 | 26 | Edit image: 27 | Ubuntu = Pinta, https://www.pinta-project.com/howto/installing-pinta 28 | Ubuntu = Pinta, "permission denied", https://askubuntu.com/questions/1321337/pinta-can-not-open-file-permission-denied 29 | 30 | Windows = Paint.net , https://www.getpaint.net/ 31 | 32 | Guide: 33 | 1. Use Inkscape to create a colored background. (Import) 34 | 2. Odoo icon: 140 x 140, 560 x 280. 35 | 3. Pick icon at fontawesome and paste in a text field. 36 | 4. Save in ordinary / plain svg format. 37 | 5. In Inkscape, choose Generate PNG image and "Export as...". 38 | 6. Write a filename... 39 | 7. Be careful when selecting the filename! It's easy to select the wrong path! 40 | 8. ...of choice and choose "Export". 41 | 42 | 43 | Make it right, the first time! 44 | 45 | grep -sR "'name':" */*__.py 46 | grep -sR "'version':" */*__.py 47 | grep -sR "'category':" */*__.py 48 | grep -sR "'summary':" */*__.py 49 | grep -sR "'description':" */*__.py 50 | grep -sR "'description':" */*/*__.py -n | grep "40" 51 | grep -sR "'depends':" */*__.py 52 | grep -sR "'repository':" */*__.py 53 | grep -sR "'website':" */*__.py 54 | ls | wc -l 55 | grep -sR "'website':" */*__.py | tr "'" " " 56 | 57 | Find the latest project: 58 | grep -r "2023-02-*" odoo-*/*/static/description/notes.txt 59 | 60 | 61 | -------------------------------------------------------------------------------- /dms_duplicate_filenames/static/description/notes.txt: -------------------------------------------------------------------------------- 1 | odoo-document / dms_duplicate_filenames 2 | 2023-03-07 3 | 4 | Be aware of these! 5 | [project]/[module]/static/description/banner.png 6 | [project]/[module]/static/description/icon.png 7 | 8 | Icon: 9 | odoo-document-black.png 10 | odoo-document-white.png 11 | odoo-document.pdn (Original. Will open with Paint.net on Windows.) 12 | 13 | 14 | Icons may be found at: https://fontawesome.com/v5/cheatsheet 15 | 16 | 17 | Odoo banner: 560 x 280 18 | Odoo icon: 140 x 140 19 | 20 | HEX 21 | #930a57 22 | #8105a7 23 | 24 | Source: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Colors/Color_picker_tool 25 | 26 | Edit image: 27 | Ubuntu = Pinta, https://www.pinta-project.com/howto/installing-pinta 28 | Ubuntu = Pinta, "permission denied", https://askubuntu.com/questions/1321337/pinta-can-not-open-file-permission-denied 29 | 30 | Windows = Paint.net , https://www.getpaint.net/ 31 | 32 | Guide: 33 | 1. Use Inkscape to create a colored background. (Import) 34 | 2. Odoo icon: 140 x 140, 560 x 280. 35 | 3. Pick icon at fontawesome and paste in a text field. 36 | 4. Save in ordinary / plain svg format. 37 | 5. In Inkscape, choose Generate PNG image and "Export as...". 38 | 6. Write a filename... 39 | 7. Be careful when selecting the filename! It's easy to select the wrong path! 40 | 8. ...of choice and choose "Export". 41 | 42 | 43 | Make it right, the first time! 44 | 45 | grep -sR "'name':" */*__.py 46 | grep -sR "'version':" */*__.py 47 | grep -sR "'category':" */*__.py 48 | grep -sR "'summary':" */*__.py 49 | grep -sR "'description':" */*__.py 50 | grep -sR "'description':" */*/*__.py -n | grep "40" 51 | grep -sR "'depends':" */*__.py 52 | grep -sR "'repository':" */*__.py 53 | grep -sR "'website':" */*__.py 54 | ls | wc -l 55 | grep -sR "'website':" */*__.py | tr "'" " " 56 | 57 | Find the latest project: 58 | grep -r "2023-02-*" odoo-*/*/static/description/notes.txt 59 | 60 | 61 | -------------------------------------------------------------------------------- /dms_property_mgmt/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Property', 24 | 'version': '1.0', 25 | 'summary': 'DMS Property', 26 | 'category': 'Technical', 27 | 'description': 'Creates the Link between Property and DMS', 28 | 'author': 'Vertel AB', 29 | 'website': 'https://vertel.se/apps/odoo-document/dms_property_mgmt', 30 | 'images': ['static/description/banner.png'], # 560x280 px. 31 | 'license': 'AGPL-3', 32 | 'contributor': '', 33 | 'maintainer': 'Vertel AB', 34 | 'repository': 'https://github.com/vertelab/odoo-document', 35 | # any module necessary for this one to work correctly 36 | 'depends': ['property_mgmt', 'dms'], 37 | # always loaded 38 | 'data': [ 39 | 'views/property_property_view.xml', 40 | ], 41 | } 42 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 43 | -------------------------------------------------------------------------------- /dms_project/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Project', 24 | 'version': '1.0', 25 | 'summary': 'DMS Project', 26 | 'category': 'Technical', 27 | 'description': 'Creates the Link between Project/Task and DMS', 28 | 'author': 'Vertel AB', 29 | 'website': 'https://vertel.se/apps/odoo-document/dms_project', 30 | 'images': ['static/description/banner.png'], # 560x280 px. 31 | 'license': 'AGPL-3', 32 | 'contributor': '', 33 | 'maintainer': 'Vertel AB', 34 | 'repository': 'https://github.com/vertelab/odoo-document', 35 | # any module necessary for this one to work correctly 36 | 'depends': ['project', 'dms'], 37 | 38 | # always loaded 39 | 'data': [ 40 | 'views/views.xml', 41 | 'views/dms_directory.xml', 42 | 'views/dms_file.xml', 43 | ], 44 | } 45 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 46 | -------------------------------------------------------------------------------- /document_version/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: Document Version', 24 | 'version': '1.1', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Manage version management on documents.', 27 | 'category': 'Technical', 28 | 'description': 'Manage version management on documents.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/document_version', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 'depends': ['dms'], 38 | 'data': [ 39 | 'views/document_view.xml', 40 | ], 41 | 'installable': True, 42 | } 43 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 44 | -------------------------------------------------------------------------------- /dms_hierarchy/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Hierarchy', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'DMS Hierarchy', 27 | 'category': 'Technical', 28 | 'description': """ 29 | DMS Hierarchy 30 | """, 31 | #'sequence': '1', 32 | 'author': 'Vertel AB', 33 | 'website': 'https://vertel.se/apps/odoo-document/dms_hierarchy', 34 | 'images': ['static/description/banner.png'], # 560x280 px. 35 | 'license': 'AGPL-3', 36 | 'contributor': '', 37 | 'maintainer': 'Vertel AB', 38 | 'repository': 'https://github.com/vertelab/odoo-document', 39 | # Any module necessary for this one to work correctly 40 | 'data': [ 41 | # 'views/directory_view.xml' 42 | ], 43 | 44 | 'depends': ['dms'], 45 | } 46 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 47 | -------------------------------------------------------------------------------- /document_sftp/models/document_sftp_root.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # © 2016 Therp BV 3 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 4 | import stat 5 | try: 6 | from paramiko import SFTPAttributes 7 | from ..document_sftp_handle import DocumentSFTPHandle 8 | except ImportError: # pragma: no cover 9 | pass 10 | from odoo import api, models 11 | 12 | 13 | class DocumentSFTPRoot(models.AbstractModel): 14 | _name = 'document.sftp.root' 15 | _description = 'Base class for virtual roots in SFTP' 16 | 17 | @api.model 18 | def _directory(self, name): 19 | """Return SFTPAttributes for a directory with given name""" 20 | result = SFTPAttributes() 21 | result.filename = name 22 | result.st_uid = 0 23 | result.st_group = 0 24 | result.st_size = 0 25 | result.st_mode = stat.S_IFDIR | stat.S_IRUSR | stat.S_IXUSR 26 | return result 27 | 28 | @api.model 29 | def _file(self, attachment): 30 | """Return SFTPAttributes for a given attachment""" 31 | if not hasattr(attachment, '_ids'): 32 | attachment = self.env['ir.attachment'].browse(attachment) 33 | result = SFTPAttributes() 34 | result.filename = attachment.datas_fname or attachment.name 35 | result.st_uid = 0 36 | result.st_group = 0 37 | result.st_size = attachment.file_size 38 | result.st_mode = stat.S_IFREG | stat.S_IRUSR 39 | return result 40 | 41 | @api.model 42 | def _file_handle(self, attachment): 43 | """Return a DocumentSFTPHandle for a given attachment""" 44 | return DocumentSFTPHandle(attachment) 45 | 46 | @api.model 47 | def _get_root_attributes(self): 48 | """Return the entry in the root folder as SFTPAttributes""" 49 | raise NotImplementedError() 50 | 51 | @api.model 52 | def _stat(self, path): 53 | """Return file attributes""" 54 | raise NotImplementedError() 55 | 56 | @api.model 57 | def _open(self, path, flags, attr): 58 | """Return file attributes""" 59 | raise NotImplementedError() 60 | 61 | @api.model 62 | def _lstat(self, path): 63 | """Return attributes about a link""" 64 | return self._stat(path) 65 | -------------------------------------------------------------------------------- /dms_duplicate_filenames/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Duplicate Filenames', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_sale_order', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms',], 44 | 45 | # always loaded 46 | } 47 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 48 | -------------------------------------------------------------------------------- /document_sftp/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: SFTP', 24 | 'version': '1.1', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Access your documents via SFTP.', 27 | 'category': 'Technical', 28 | 'description': 'Access your documents via SFTP.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB, Therp BV, Odoo Community Association (OCA)', 31 | 'website': 'https://vertel.se/apps/odoo-document/document_sftp', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 'depends': ['base','mail',], 38 | "demo": [ 39 | "demo/res_users.xml", 40 | ], 41 | "data": [ 42 | "demo/res_users.xml", 43 | "security/ir.model.access.csv", 44 | "views/res_users.xml", 45 | "data/ir_config_parameter.xml", 46 | # "data/ir_cron.xml", 47 | ], 48 | "external_dependencies": { 49 | 'python': ['paramiko'], 50 | }, 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /dms_crm_lead/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS CRM Lead', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_crm_lead', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','crm',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | } 51 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 52 | -------------------------------------------------------------------------------- /dms_purchase/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Purchase', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_purchase', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','purchase',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | } 51 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 52 | -------------------------------------------------------------------------------- /dms_hr_employee/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS HR Employee', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_hr_employee', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms', 'hr',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | } 51 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 52 | -------------------------------------------------------------------------------- /dms_sale_order/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Sale Order', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_sale_order', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['sale','dms',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | } 51 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 52 | -------------------------------------------------------------------------------- /dms_account_move/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Account Move', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_account_move', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','account',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | } 51 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 52 | -------------------------------------------------------------------------------- /dms_product_template/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Product Template', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_product_template', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['product','dms',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | } 51 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 52 | -------------------------------------------------------------------------------- /dms_helpdesk_ticket/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Helpdesk Ticket', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_helpdesk_ticket', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','helpdesk_mgmt', ], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | } 51 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 52 | -------------------------------------------------------------------------------- /dms_crm_team/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS CRM Team', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_crm_team', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['crm', 'sale','dms'], 44 | #'sales_team',], 45 | 46 | # always loaded 47 | 'data': [ 48 | # 'security/ir.model.access.csv', 49 | 'views/views.xml', 50 | ], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /dms_event/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Event', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_event', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['base', 'event', 'dms'], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | ], 50 | # only loaded in demonstration mode 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /dms_helpdesk_team/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Helpdesk Team', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short summary of the module''s purpose.', 27 | 'category': 'Technical', 28 | 'description': """ 29 | Short (1 phrase/line) summary of the module's purpose, used as subtitle on modules listing or apps.odoo.com 30 | """, 31 | #'sequence': '1', 32 | 'author': 'Vertel AB', 33 | 'website': 'https://vertel.se/apps/odoo-document/dms_helpdesk_team', 34 | 'images': ['static/description/banner.png'], # 560x280 px. 35 | 'license': 'AGPL-3', 36 | 'contributor': '', 37 | 'maintainer': 'Vertel AB', 38 | 'repository': 'https://github.com/vertelab/odoo-document', 39 | 40 | # Categories can be used to filter modules in modules listing 41 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 42 | # for the full list 43 | 44 | # any module necessary for this one to work correctly 45 | 'depends': ['helpdesk_mgmt','dms',], 46 | 47 | # always loaded 48 | 'data': [ 49 | # 'security/ir.model.access.csv', 50 | 'views/views.xml', 51 | ], 52 | } 53 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 54 | -------------------------------------------------------------------------------- /dms_hr_expense/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS HR Expense', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_hr_expense', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','hr_expense',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | 'data/hr_data.xml', 50 | ], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /dms_fleet_vehicle/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Fleet Vehicle', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_fleet_vehicle', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','fleet',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | 'data/fleet_data.xml', 50 | ], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /dms_repair_order/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Repair Order', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_repair_order', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['repair', 'dms'], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | 'data/repair_order_data.xml', 50 | ], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /dms_calendar_event/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Calendar Event', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_calendar_event', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','calendar',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | 'data/event_data.xml', 50 | ], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | 54 | -------------------------------------------------------------------------------- /dms_hr_job_recruitment/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS HR Job Recruitment', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_hr_job_recruitment', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['dms','hr_recruitment',], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | 'data/hr_job_applicant_data.xml', 50 | ], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /dms_account_analytic_account/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo SA, Open Source Management Solution, third party addon 5 | # Copyright (C) 2022- Vertel AB (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name': 'Document: DMS Account Analytic Account', 24 | 'version': '1.0', 25 | # Version ledger: 14.0 = Odoo version. 1 = Major. Non regressionable code. 2 = Minor. New features that are regressionable. 3 = Bug fixes 26 | 'summary': 'Short (1 phrase/line) summary of the module''s purpose, used as subtitle on modules listing or apps.openerp.com', 27 | 'category': 'Technical', 28 | 'description': 'Long description of module''s purpose.', 29 | #'sequence': '1', 30 | 'author': 'Vertel AB', 31 | 'website': 'https://vertel.se/apps/odoo-document/dms_account_analytic_account', 32 | 'images': ['static/description/banner.png'], # 560x280 px. 33 | 'license': 'AGPL-3', 34 | 'contributor': '', 35 | 'maintainer': 'Vertel AB', 36 | 'repository': 'https://github.com/vertelab/odoo-document', 37 | 38 | # Categories can be used to filter modules in modules listing 39 | # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml 40 | # for the full list 41 | 42 | # any module necessary for this one to work correctly 43 | 'depends': ['account', 'dms'], 44 | 45 | # always loaded 46 | 'data': [ 47 | # 'security/ir.model.access.csv', 48 | 'views/views.xml', 49 | 'data/account_analytics_account_data.xml', 50 | ], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /document_sftp/document_sftp_server.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # © 2016 Therp BV 3 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 4 | try: 5 | from paramiko.common import AUTH_SUCCESSFUL, AUTH_FAILED,\ 6 | OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED, OPEN_SUCCEEDED 7 | from paramiko import RSAKey, ServerInterface 8 | from paramiko.py3compat import decodebytes 9 | except ImportError: 10 | pass 11 | from .document_sftp_transport import DocumentSFTPTransport 12 | from odoo.exceptions import AccessDenied 13 | from odoo import SUPERUSER_ID, api, models 14 | from odoo.modules.registry import Registry 15 | import logging 16 | _logger = logging.getLogger(__name__) 17 | 18 | 19 | class DocumentSFTPServer(ServerInterface): 20 | def __init__(self, env): 21 | self.env = env 22 | self.dbname = env.cr.dbname 23 | super(DocumentSFTPServer, self).__init__() 24 | 25 | def check_auth_password(self, username, password): 26 | try: 27 | user = self.env['res.users'].search([('login', '=', username)]) 28 | if not user: 29 | return AUTH_FAILED 30 | valid = user.with_user(user.id)._verify_sftp_user(password) 31 | if valid: 32 | db_registry = Registry.new(self.dbname) 33 | with api.Environment.manage(), db_registry.cursor() as cr: 34 | self.env = api.Environment(cr, user.id, {}) 35 | return AUTH_SUCCESSFUL 36 | else: 37 | return AUTH_FAILED 38 | except AccessDenied: 39 | pass 40 | return AUTH_FAILED 41 | 42 | 43 | 44 | def check_auth_publickey(self, username, key): 45 | user = self.env['res.users'].search([('login', '=', username)]) 46 | if not user: 47 | return AUTH_FAILED 48 | for line in (user.authorized_keys or '').split('\n'): 49 | if not line or line.startswith('#'): 50 | continue 51 | key_type, key_data = line.split(' ', 2)[:2] 52 | if key_type != 'ssh-rsa': 53 | _logger.warning('Ignoring key of unknown type for line %s', line) 54 | continue 55 | if RSAKey(data=decodebytes(key_data)) == key: 56 | return AUTH_SUCCESSFUL 57 | return AUTH_FAILED 58 | 59 | def get_allowed_auths(self, username): 60 | return 'password,publickey' 61 | 62 | def check_channel_request(self, kind, chanid): 63 | if kind in ('session',): 64 | return OPEN_SUCCEEDED 65 | return OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED 66 | --------------------------------------------------------------------------------