Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
c3fc113
[ADD] dms_auto_classification: New module
victoralmau Jan 19, 2024
1657ab9
[IMP] dms_auto_classification: Allow users with Documents: User permi…
victoralmau Feb 9, 2024
3961b6e
Translated using Weblate (Spanish)
Ivorra78 Mar 23, 2024
f6fada0
[MIG] dms_auto_classification: Migration to 16.0
victoralmau Apr 3, 2024
213fdb9
Added translation using Weblate (Italian)
mymage Apr 4, 2024
5acb2d1
Translated using Weblate (Spanish)
victoralmau Apr 22, 2024
2711ffa
[IMP] dms_auto_classification: Add folder support within the .zip file
victoralmau May 3, 2024
6e36e4f
Translated using Weblate (Italian)
mymage May 15, 2024
46b83c9
[IMP] dms_auto_classification: Remove warning by several names with t…
victoralmau Sep 30, 2024
1750d88
Translated using Weblate (Italian)
mymage Oct 3, 2024
34e447c
[IMP] dms_auto_classification: pre-commit auto fixes
victoralmau May 12, 2025
3142f6d
[MIG] dms_auto_classification: Migration to 18.0
victoralmau May 12, 2025
631970d
[UPD] Update dms_auto_classification.pot
May 13, 2025
75e14a7
[BOT] post-merge updates
OCA-git-bot May 13, 2025
7059938
Added translation using Weblate (Swedish)
jakobkrabbe Sep 18, 2025
31a6393
Translated using Weblate (Swedish)
jakobkrabbe Sep 18, 2025
6a12ec8
[IMP] dms_auto_classification: Add wizard.dms.classification.detail A…
victoralmau Feb 5, 2026
7e41202
[IMP+FIX] dms_auto_classification: Filter by the appropriate director…
victoralmau Feb 5, 2026
7e8c626
[UPD] Update dms_auto_classification.pot
Feb 10, 2026
7eeb791
[BOT] post-merge updates
OCA-git-bot Feb 10, 2026
c19520f
Update translation files
weblate Feb 10, 2026
491a76a
Translated using Weblate (Spanish)
herminioelx Feb 19, 2026
bec4368
Added translation using Weblate (Arabic)
MohamedESalem May 14, 2026
1e63c27
Translated using Weblate (Arabic)
MohamedESalem May 14, 2026
2623256
Added translation using Weblate (Slovenian)
sysadminmatmoz Jun 22, 2026
95a54fa
Translated using Weblate (Slovenian)
sysadminmatmoz Jun 22, 2026
c023c02
[MIG] dms_auto_classification: Migration to 19.0
mmircoli-nexapp Jun 22, 2026
54fd6b5
[IMP] dms_auto_classification: use self.env._ for translations
mmircoli-nexapp Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions dms_auto_classification/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

================================
Auto classify documents into DMS
================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:764296a8363524adc63d649264fc1229333327133ac0ea2a5f9f57c653767218
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdms-lightgray.png?logo=github
:target: https://github.com/OCA/dms/tree/18.0/dms_auto_classification
:alt: OCA/dms
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/dms-18-0/dms-18-0-dms_auto_classification
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/dms&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Automatically classify files within a .zip file to the corresponding DMS
directory(s).

**Table of contents**

.. contents::
:local:

Configuration
=============

1. Go to Documents / Configuration / Classification Templates and create
a new template.
2. You can set patterns (regex expressions) for filenames and
directories.

Example of filename pattern to use only .txt files: .txt$ Directory
pattern example 1: Documents Directory pattern example 1: Documents /
Data

If the pattern doesn't contain path separators (/), the file name will
be search across all the subdirectories.

Usage
=====

1. Go to Documents / Auto Classification and select a template and a
.zip file.
2. Press the Analyze button
3. As many lines will be set as the number of files contained in the
.zip file and apply the filename pattern.
4. The full path to the file will be displayed in each detail line.
5. Press the Classify button
6. The files (dms.file) will be created in the corresponding
directories.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/dms/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/dms/issues/new?body=module:%20dms_auto_classification%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__:

- Víctor Martínez
- Pedro M. Baeza

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px
:target: https://github.com/victoralmau
:alt: victoralmau

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-victoralmau|

This module is part of the `OCA/dms <https://github.com/OCA/dms/tree/18.0/dms_auto_classification>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions dms_auto_classification/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from . import models
from . import wizards
20 changes: 20 additions & 0 deletions dms_auto_classification/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2024 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Auto classify documents into DMS",
"version": "19.0.1.0.0",
"category": "Document Management",
"website": "https://github.com/OCA/dms",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["dms"],
"installable": True,
"data": [
"security/ir.model.access.csv",
"security/security.xml",
"views/dms_classification_template_views.xml",
"wizards/wizard_dms_classification_views.xml",
],
"demo": ["demo/dms_classification_template_demo.xml"],
"maintainers": ["victoralmau"],
}
11 changes: 11 additions & 0 deletions dms_auto_classification/demo/dms_classification_template_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record
id="dms_classification_template_documents"
model="dms.classification.template"
>
<field name="name">Documents template</field>
<field name="filename_pattern">.txt$</field>
<field name="directory_pattern">Documents</field>
</record>
</odoo>
204 changes: 204 additions & 0 deletions dms_auto_classification/i18n/ar.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dms_auto_classification
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-05-15 00:52+0000\n"
"Last-Translator: Mohamed Essam Salem <mohamed.e.salem@protonmail.com>\n"
"Language-Team: none\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 5.15.2\n"

#. module: dms_auto_classification
#: model:ir.model.fields.selection,name:dms_auto_classification.selection__wizard_dms_classification__state__analyze
#: model_terms:ir.ui.view,arch_db:dms_auto_classification.view_wizard_dms_classification_form
msgid "Analyze"
msgstr "تحليل"

#. module: dms_auto_classification
#: model:ir.actions.act_window,name:dms_auto_classification.action_wizard_dms_classification
#: model:ir.ui.menu,name:dms_auto_classification.menu_wizard_dms_classification
msgid "Auto Classification"
msgstr "التصنيف التلقائي"

#. module: dms_auto_classification
#: model_terms:ir.ui.view,arch_db:dms_auto_classification.view_wizard_dms_classification_form
msgid "Cancel"
msgstr "إلغاء"

#. module: dms_auto_classification
#: model:ir.actions.act_window,name:dms_auto_classification.action_dms_classification_template
#: model:ir.ui.menu,name:dms_auto_classification.menu_dms_classification_template
msgid "Classification Templates"
msgstr "قوالب التصنيف"

#. module: dms_auto_classification
#: model:ir.model.fields.selection,name:dms_auto_classification.selection__wizard_dms_classification_detail__state__classified
msgid "Classified"
msgstr "مصنّف"

#. module: dms_auto_classification
#: model_terms:ir.ui.view,arch_db:dms_auto_classification.view_wizard_dms_classification_form
msgid "Classify"
msgstr "تصنيف"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__company_id
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__company_id
msgid "Company"
msgstr "الشركة"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__create_uid
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__create_uid
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__create_uid
msgid "Created by"
msgstr "أُنشئ بواسطة"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__create_date
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__create_date
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__create_date
msgid "Created on"
msgstr "تاريخ الإنشاء"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__data_filename
msgid "Data Filename"
msgstr "اسم ملف البيانات"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__detail_ids
#: model_terms:ir.ui.view,arch_db:dms_auto_classification.view_wizard_dms_classification_form
msgid "Details"
msgstr "التفاصيل"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__directory_id
msgid "Directory"
msgstr "المجلد"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__directory_pattern
msgid "Directory Pattern"
msgstr "نمط المجلد"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__display_name
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__display_name
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__display_name
msgid "Display Name"
msgstr "الاسم المعروض"

#. module: dms_auto_classification
#: model:ir.model,name:dms_auto_classification.model_dms_classification_template
msgid "Dms Classification Template"
msgstr "قالب تصنيف المستندات"

#. module: dms_auto_classification
#: model:ir.model.fields.selection,name:dms_auto_classification.selection__wizard_dms_classification__state__draft
msgid "Draft"
msgstr "مسودة"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__data_file
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__file_id
msgid "File"
msgstr "ملف"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__data_file
msgid "File content"
msgstr "محتوى الملف"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__file_name
#: model_terms:ir.ui.view,arch_db:dms_auto_classification.view_wizard_dms_classification_form
msgid "File name"
msgstr "اسم الملف"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__filename_pattern
msgid "Filename Pattern"
msgstr "نمط اسم الملف"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__full_path
msgid "Full path"
msgstr "المسار الكامل"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__id
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__id
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__id
msgid "ID"
msgstr "المعرّف"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__write_uid
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__write_uid
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__write_uid
msgid "Last Updated by"
msgstr "آخر تحديث بواسطة"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__write_date
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__write_date
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__write_date
msgid "Last Updated on"
msgstr "تاريخ آخر تحديث"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__name
msgid "Name"
msgstr "الاسم"

#. module: dms_auto_classification
#. odoo-python
#: code:addons/dms_auto_classification/wizards/wizard_dms_classification.py:0
msgid "Only .zip files are allowed"
msgstr "يُسمح فقط بملفات .zip"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__parent_id
msgid "Parent"
msgstr "المجلد الأب"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_dms_classification_template__sequence
msgid "Sequence"
msgstr "التسلسل"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__state
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification_detail__state
msgid "State"
msgstr "الحالة"

#. module: dms_auto_classification
#: model:ir.model.fields,field_description:dms_auto_classification.field_wizard_dms_classification__template_id
msgid "Template"
msgstr "القالب"

#. module: dms_auto_classification
#: model:ir.model.fields.selection,name:dms_auto_classification.selection__wizard_dms_classification_detail__state__to_classify
msgid "To classify"
msgstr "بانتظار التصنيف"

#. module: dms_auto_classification
#: model:ir.model,name:dms_auto_classification.model_wizard_dms_classification
msgid "Wizard Dms Classification"
msgstr "معالج التصنيف التلقائي للمستندات"

#. module: dms_auto_classification
#: model:ir.model,name:dms_auto_classification.model_wizard_dms_classification_detail
msgid "Wizard Dms Classification Detail"
msgstr "تفصيل معالج التصنيف التلقائي للمستندات"
Loading
Loading